Function at 0x14000ad50
Capabilities:
Print debug messages

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rdx
lea r15, [rsp + 0x70]
mov qword [rsp + 0x28], r15
lea r12, [0x140014a50]
mov qword [rsp + 0x30], r12
lea rax, str.Resolving_function_from_ntdll.dll:
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xb0], 0
lea r13, [rsp + 0x28]
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], 1
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x90]
call fcn.140018ad0
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
lea rcx, [rsp + 0x90]
mov r8d, 0x200
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp rdi, 0xff
mov eax, 0xff
cmovb rax, rdi
test rdi, rdi
je 0x14000aeba
lea rcx, [rax - 1]
cmp rdi, rcx
cmovb rcx, rdi
inc rcx
cmp rcx, 0x11
jae 0x14000ae2b
xor ecx, ecx
mov rdx, rsi
mov r8, rax
jmp 0x14000ae88
mov edx, ecx
and edx, 0xf
mov r8d, 0x10
cmovne r8, rdx
sub rcx, r8
lea rdx, [rsi + rcx]
xor r8d, r8d
pxor xmm0, xmm0
nop dword [rax + rax]
movq xmm1, qword [rsi + r8]
movq xmm2, qword [rsi + r8 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
movdqu xmmword [rsp + r8*2 + 0x90], xmm1
movdqu xmmword [rsp + r8*2 + 0xa0], xmm2
add r8, 0x10
cmp rcx, r8
jne 0x14000ae50
mov r8, rax
sub r8, rcx
add rdi, rsi
lea rcx, [rsp + rcx*2]
add rcx, 0x90
xor r9d, r9d
nop dword [rax]
lea r10, [rdx + r9]
cmp r10, rdi
je 0x14000aeba
movzx r10d, byte [r10]
mov word [rcx + r9*2], r10w
inc r9
cmp r8, r9
jne 0x14000aea0
mov word [rsp + rax*2 + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp qword [rsp + 0x40], 0
je 0x14000aeec
mov rcx, qword [0x140055160]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [0x14004e4a0]
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
test rax, rax
je 0x14000b0b9
mov rsi, rax
mov rdi, rax
lea rcx, [rsp + 0xce]
mov r8d, 0x1c2
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmm0, xmmword [0x140045860]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x140045850]
movaps xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [0x140045870]
movdqa xmmword [rsp + 0xb0], xmm0
movabs rax, 0x6c006c00750066
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], 0x2e0079
mov word [rsp + 0xcc], 0
lea rbx, [rsp + 0x90]
mov rcx, rbx
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp word [rsi], 0x5a4d
jne 0x14000b112
movsxd rax, dword [rdi + 0x3c]
movzx edx, word [rdi + rax + 0x18]
mov word [rsp + 0x26], dx
cmp edx, 0x10b
je 0x14000b199
mov ecx, 0x88
cmp edx, 0x20b
je 0x14000b19e
lea rax, [rsp + 0x26]
mov qword [rsp + 0x80], rax
lea rax, [0x14001a290]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 2
mov qword [rsp + 0xa0], 2
mov qword [rsp + 0xb0], 0
movabs rax, 0x400000020
mov qword [rsp + 0xb8], rax
mov byte [rsp + 0xc0], 3
lea rax, str.Unknown_optional_header_magic_in_ntdll.dll:
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 1
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x40]
call fcn.140018ad0
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
lea rcx, [rsp + 0x90]
mov r8d, 0x200
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp rdi, 0xff
mov eax, 0xff
cmovb rax, rdi
test rdi, rdi
je 0x14000b6ca
lea rcx, [rax - 1]
cmp rdi, rcx
cmovb rcx, rdi
inc rcx
cmp rcx, 0x11
jae 0x14000b635
xor ecx, ecx
mov rdx, rsi
mov r8, rax
jmp 0x14000b698
call qword [sym.imp.kernel32.dll_GetLastError]
lea rcx, [rsp + 0xc4]
xor esi, esi
mov r8d, 0x1cc
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmm0, xmmword [0x1400455d0]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x140045840]
movaps xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [0x140045850]
movdqa xmmword [rsp + 0xb0], xmm0
mov dword [rsp + 0xc0], 0x2e
jmp 0x14000b171
lea rcx, [rsp + 0xd2]
xor esi, esi
mov r8d, 0x1be
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmm0, xmmword [0x140045730]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x140045740]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [0x140045880]
movaps xmmword [rsp + 0xb0], xmm0
movdqa xmm0, xmmword [0x140045890]
movdqa xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xd0], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
mov rax, rsi
mov rdx, rdi
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x78
add rax, rsi
mov ebp, dword [rax + rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r12
lea rax, str.Searching_for_function_name:
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], 1
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x90]
call fcn.140018ad0
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
lea rcx, [rsp + 0x90]
mov r8d, 0x200
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp rbx, 0xff
mov eax, 0xff
cmovb rax, rbx
test rbx, rbx
je 0x14000b2da
lea rcx, [rax - 1]
cmp rbx, rcx
cmovb rcx, rbx
inc rcx
cmp rcx, 0x11
jae 0x14000b251
xor ecx, ecx
mov rdx, r14
mov r8, rax
jmp 0x14000b2a8
mov edx, ecx
and edx, 0xf
mov r8d, 0x10
cmovne r8, rdx
sub rcx, r8
lea rdx, [r14 + rcx]
xor r8d, r8d
pxor xmm0, xmm0
nop
movq xmm1, qword [r14 + r8]
movq xmm2, qword [r14 + r8 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
movdqu xmmword [rsp + r8*2 + 0x90], xmm1
movdqu xmmword [rsp + r8*2 + 0xa0], xmm2
add r8, 0x10
cmp rcx, r8
jne 0x14000b270
mov r8, rax
sub r8, rcx
add rbx, r14
lea rcx, [rsp + rcx*2]
add rcx, 0x90
xor r9d, r9d
nop dword [rax]
lea r10, [rdx + r9]
cmp r10, rbx
je 0x14000b2da
movzx r10d, byte [r10]
mov word [rcx + r9*2], r10w
inc r9
cmp r8, r9
jne 0x14000b2c0
add rsi, rbp
mov word [rsp + rax*2 + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp qword [rsp + 0x40], 0
je 0x14000b30f
mov rcx, qword [0x140055160]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov rcx, rdi
mov rdx, rsi
call fcn.1400070d0
mov rsi, rax
mov rdi, rdx
cmp rax, 1
jne 0x14000b40e
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r12
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], rax
lea rax, [0x140012cf0]
mov qword [rsp + 0x58], rax
lea rax, str.Resolved_function:
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 2
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x90]
call fcn.140018ad0
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
lea rcx, [rsp + 0x90]
mov r8d, 0x200
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp r14, 0xff
mov eax, 0xff
cmovb rax, r14
test r14, r14
je 0x14000b54a
lea rcx, [rax - 1]
cmp r14, rcx
cmovb rcx, r14
inc rcx
cmp rcx, 0x11
jae 0x14000b4c2
xor ecx, ecx
mov rdx, rbx
mov r8, rax
jmp 0x14000b518
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r12
lea rax, str.Failed_to_resolve_function:
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], 1
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x90]
call fcn.140018ad0
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
lea rcx, [rsp + 0x90]
mov r8d, 0x200
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp r14, 0xff
mov eax, 0xff
cmovb rax, r14
test r14, r14
je 0x14000b5fa
lea rcx, [rax - 1]
cmp r14, rcx
cmovb rcx, r14
inc rcx
cmp rcx, 0x11
jae 0x14000b573
xor ecx, ecx
mov rdx, rbx
mov r8, rax
jmp 0x14000b5c8
mov edx, ecx
and edx, 0xf
mov r8d, 0x10
cmovne r8, rdx
sub rcx, r8
lea rdx, [rbx + rcx]
xor r8d, r8d
pxor xmm0, xmm0
nop
movq xmm1, qword [rbx + r8]
movq xmm2, qword [rbx + r8 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
movdqu xmmword [rsp + r8*2 + 0x90], xmm1
movdqu xmmword [rsp + r8*2 + 0xa0], xmm2
add r8, 0x10
cmp rcx, r8
jne 0x14000b4e0
mov r8, rax
sub r8, rcx
add r14, rbx
lea rcx, [rsp + rcx*2]
add rcx, 0x90
xor r9d, r9d
nop dword [rax]
lea r10, [rdx + r9]
cmp r10, r14
je 0x14000b54a
movzx r10d, byte [r10]
mov word [rcx + r9*2], r10w
inc r9
cmp r8, r9
jne 0x14000b530
mov word [rsp + rax*2 + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp qword [rsp + 0x28], 0
jne 0x14000b61e
jmp 0x14000b17f
mov edx, ecx
and edx, 0xf
mov r8d, 0x10
cmovne r8, rdx
sub rcx, r8
lea rdx, [rbx + rcx]
xor r8d, r8d
pxor xmm0, xmm0
movq xmm1, qword [rbx + r8]
movq xmm2, qword [rbx + r8 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
movdqu xmmword [rsp + r8*2 + 0x90], xmm1
movdqu xmmword [rsp + r8*2 + 0xa0], xmm2
add r8, 0x10
cmp rcx, r8
jne 0x14000b590
mov r8, rax
sub r8, rcx
add r14, rbx
lea rcx, [rsp + rcx*2]
add rcx, 0x90
xor r9d, r9d
nop dword [rax]
lea r10, [rdx + r9]
cmp r10, r14
je 0x14000b5fa
movzx r10d, byte [r10]
mov word [rcx + r9*2], r10w
inc r9
cmp r8, r9
jne 0x14000b5e0
mov word [rsp + rax*2 + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp qword [rsp + 0x40], 0
je 0x14000b17f
mov rcx, qword [0x140055160]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14000b17f
mov edx, ecx
and edx, 0xf
mov r8d, 0x10
cmovne r8, rdx
sub rcx, r8
lea rdx, [rsi + rcx]
xor r8d, r8d
pxor xmm0, xmm0
nop word cs:[rax + rax]
movq xmm1, qword [rsi + r8]
movq xmm2, qword [rsi + r8 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
movdqu xmmword [rsp + r8*2 + 0x90], xmm1
movdqu xmmword [rsp + r8*2 + 0xa0], xmm2
add r8, 0x10
cmp rcx, r8
jne 0x14000b660
mov r8, rax
sub r8, rcx
add rdi, rsi
lea rcx, [rsp + rcx*2]
add rcx, 0x90
xor r9d, r9d
nop dword [rax]
lea r10, [rdx + r9]
cmp r10, rdi
je 0x14000b6ca
movzx r10d, byte [r10]
mov word [rcx + r9*2], r10w
inc r9
cmp r8, r9
jne 0x14000b6b0
mov word [rsp + rax*2 + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.kernel32.dll_OutputDebugStringW]
cmp qword [rsp + 0x28], 0
je 0x14000b6fc
mov rcx, qword [0x140055160]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
xor esi, esi
jmp 0x14000b17f