118 lines
2.0 KiB
NASM
118 lines
2.0 KiB
NASM
|
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
|
||
|
|
||
|
include listing.inc
|
||
|
|
||
|
INCLUDELIB LIBCMT
|
||
|
INCLUDELIB OLDNAMES
|
||
|
|
||
|
PUBLIC u64tohex_a
|
||
|
PUBLIC u64tohex_w
|
||
|
; COMDAT pdata
|
||
|
pdata SEGMENT
|
||
|
$pdata$u64tohex_w DD imagerel $LN19
|
||
|
DD imagerel $LN19+93
|
||
|
DD imagerel $unwind$u64tohex_w
|
||
|
pdata ENDS
|
||
|
; COMDAT xdata
|
||
|
xdata SEGMENT
|
||
|
$unwind$u64tohex_w DD 020501H
|
||
|
DD 013405H
|
||
|
xdata ENDS
|
||
|
; Function compile flags: /Ogspy
|
||
|
; COMDAT u64tohex_w
|
||
|
_TEXT SEGMENT
|
||
|
x$ = 8
|
||
|
s$ = 16
|
||
|
u64tohex_w PROC ; COMDAT
|
||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tohex.c
|
||
|
; Line 28
|
||
|
$LN19:
|
||
|
mov QWORD PTR [rsp+8], rbx
|
||
|
; Line 32
|
||
|
xor ebx, ebx
|
||
|
mov r8, rdx
|
||
|
mov r9, rcx
|
||
|
test rdx, rdx
|
||
|
jne SHORT $LN5@u64tohex_w
|
||
|
; Line 33
|
||
|
lea eax, QWORD PTR [rdx+16]
|
||
|
jmp SHORT $LN1@u64tohex_w
|
||
|
$LN5@u64tohex_w:
|
||
|
; Line 35
|
||
|
lea r10, QWORD PTR [rdx+30]
|
||
|
mov edx, 16
|
||
|
mov r11d, edx
|
||
|
$LL11@u64tohex_w:
|
||
|
; Line 36
|
||
|
movzx ecx, r9w
|
||
|
; Line 37
|
||
|
shr r9, 4
|
||
|
and cx, 15
|
||
|
; Line 44
|
||
|
cmp cx, 10
|
||
|
sbb ax, ax
|
||
|
and ax, 65529 ; 0000fff9H
|
||
|
add ax, 55 ; 00000037H
|
||
|
add ax, cx
|
||
|
mov WORD PTR [r10], ax
|
||
|
lea r10, QWORD PTR [r10-2]
|
||
|
sub r11, 1
|
||
|
jne SHORT $LL11@u64tohex_w
|
||
|
; Line 47
|
||
|
mov WORD PTR [r8+32], bx
|
||
|
; Line 48
|
||
|
mov rax, rdx
|
||
|
$LN1@u64tohex_w:
|
||
|
; Line 49
|
||
|
mov rbx, QWORD PTR [rsp+8]
|
||
|
ret 0
|
||
|
u64tohex_w ENDP
|
||
|
_TEXT ENDS
|
||
|
; Function compile flags: /Ogspy
|
||
|
; COMDAT u64tohex_a
|
||
|
_TEXT SEGMENT
|
||
|
x$ = 8
|
||
|
s$ = 16
|
||
|
u64tohex_a PROC ; COMDAT
|
||
|
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tohex.c
|
||
|
; Line 4
|
||
|
mov r8, rdx
|
||
|
mov r9, rcx
|
||
|
; Line 8
|
||
|
test rdx, rdx
|
||
|
jne SHORT $LN5@u64tohex_a
|
||
|
; Line 9
|
||
|
lea eax, QWORD PTR [rdx+16]
|
||
|
; Line 25
|
||
|
ret 0
|
||
|
$LN5@u64tohex_a:
|
||
|
; Line 11
|
||
|
lea r10, QWORD PTR [rdx+15]
|
||
|
mov edx, 16
|
||
|
mov r11d, edx
|
||
|
$LL11@u64tohex_a:
|
||
|
; Line 12
|
||
|
mov cl, r9b
|
||
|
; Line 13
|
||
|
shr r9, 4
|
||
|
and cl, 15
|
||
|
; Line 20
|
||
|
cmp cl, 10
|
||
|
sbb al, al
|
||
|
and al, -7
|
||
|
add al, 55 ; 00000037H
|
||
|
add al, cl
|
||
|
mov BYTE PTR [r10], al
|
||
|
dec r10
|
||
|
sub r11, 1
|
||
|
jne SHORT $LL11@u64tohex_a
|
||
|
; Line 23
|
||
|
mov BYTE PTR [r8+16], r11b
|
||
|
; Line 24
|
||
|
mov rax, rdx
|
||
|
; Line 25
|
||
|
ret 0
|
||
|
u64tohex_a ENDP
|
||
|
_TEXT ENDS
|
||
|
END
|