; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0 include listing.inc INCLUDELIB LIBCMT INCLUDELIB OLDNAMES PUBLIC u64tostr_a PUBLIC u64tostr_w ; COMDAT pdata pdata SEGMENT $pdata$u64tostr_a DD imagerel $LN19 DD imagerel $LN19+123 DD imagerel $unwind$u64tostr_a pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$u64tostr_w DD imagerel $LN19 DD imagerel $LN19+161 DD imagerel $unwind$u64tostr_w pdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$u64tostr_w DD 060f01H DD 03740fH DD 02640aH DD 013405H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$u64tostr_a DD 020501H DD 013405H xdata ENDS ; Function compile flags: /Ogspy ; COMDAT u64tostr_w _TEXT SEGMENT x$ = 8 s$ = 16 u64tostr_w PROC ; COMDAT ; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c ; Line 26 $LN19: mov QWORD PTR [rsp+8], rbx mov QWORD PTR [rsp+16], rsi mov QWORD PTR [rsp+24], rdi mov r10, rdx ; Line 27 mov rdx, rcx mov r9, rcx ; Line 30 mov rsi, -3689348814741910323 ; cccccccccccccccdH mov r8d, 1 cmp rcx, 10 jb SHORT $LN3@u64tostr_w $LL2@u64tostr_w: ; Line 31 mov rax, rsi ; Line 32 inc r8 mul rdx shr rdx, 3 cmp rdx, 10 jae SHORT $LL2@u64tostr_w $LN3@u64tostr_w: ; Line 35 xor edi, edi test r10, r10 je SHORT $LN17@u64tostr_w ; Line 38 mov r11, r8 test r8, r8 je SHORT $LN5@u64tostr_w lea rbx, QWORD PTR [r10-2] lea rbx, QWORD PTR [rbx+r8*2] $LL6@u64tostr_w: ; Line 39 mov rax, rsi mul r9 shr rdx, 3 movzx eax, dx shl ax, 2 lea ecx, DWORD PTR [rax+rdx] add cx, cx sub r9w, cx add r9w, 48 ; 00000030H mov WORD PTR [rbx], r9w ; Line 40 mov r9, rdx lea rbx, QWORD PTR [rbx-2] sub r11, 1 jne SHORT $LL6@u64tostr_w $LN5@u64tostr_w: ; Line 43 mov WORD PTR [r10+r8*2], di $LN17@u64tostr_w: ; Line 45 mov rbx, QWORD PTR [rsp+8] mov rax, r8 mov rsi, QWORD PTR [rsp+16] mov rdi, QWORD PTR [rsp+24] ret 0 u64tostr_w ENDP _TEXT ENDS ; Function compile flags: /Ogspy ; COMDAT u64tostr_a _TEXT SEGMENT x$ = 8 s$ = 16 u64tostr_a PROC ; COMDAT ; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c ; Line 4 $LN19: mov QWORD PTR [rsp+8], rbx mov r10, rdx ; Line 5 mov rdx, rcx mov r9, rcx ; Line 8 mov rbx, -3689348814741910323 ; cccccccccccccccdH mov r8d, 1 cmp rcx, 10 jb SHORT $LN3@u64tostr_a $LL2@u64tostr_a: ; Line 9 mov rax, rbx ; Line 10 inc r8 mul rdx shr rdx, 3 cmp rdx, 10 jae SHORT $LL2@u64tostr_a $LN3@u64tostr_a: ; Line 13 test r10, r10 je SHORT $LN17@u64tostr_a ; Line 16 mov r11, r8 test r8, r8 je SHORT $LN5@u64tostr_a $LL6@u64tostr_a: ; Line 17 mov rax, rbx mul r9 shr rdx, 3 mov al, dl shl al, 2 lea ecx, DWORD PTR [rax+rdx] add cl, cl sub r9b, cl add r9b, 48 ; 00000030H mov BYTE PTR [r10+r11-1], r9b ; Line 18 mov r9, rdx sub r11, 1 jne SHORT $LL6@u64tostr_a $LN5@u64tostr_a: ; Line 21 mov BYTE PTR [r8+r10], 0 $LN17@u64tostr_a: ; Line 23 mov rbx, QWORD PTR [rsp+8] mov rax, r8 ret 0 u64tostr_a ENDP _TEXT ENDS END