Function at 0x14009d260
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
push r12
push r13
push r14
sub rsp, 0x80
mov r14d, r8d
mov r12, rdx
mov r13, rcx
test rdx, rdx
je 0x14009dd2b
cmp r8d, 0x84
jbe 0x14009dd2b
cmp word [rdx + 0x4c], 0
je 0x14009dd2b
cmp dword [rdx], 0x304d4244
jne 0x14009dd2b
cmp word [rdx + 0x48], 0
je 0x14009dd2b
cmp dword [rdx + 0x4e], 0x474e4f53
jne 0x14009dd2b
cmp dword [rdx + 8], 0x454d414e
jne 0x14009dd2b
cmp dword [rdx + 0xc], 0x2c000000
jne 0x14009dd2b
cmp dword [rdx + 0x3c], 0x4f464e49
jne 0x14009dd2b
cmp dword [rdx + 0x40], 0xa000000
jne 0x14009dd2b
movzx eax, word [rdx + 0x82]
rol ax, 8
movzx r10d, ax
lea eax, [r10*2 + 0x9c]
cmp eax, r8d
jae 0x14009dd2b
movzx eax, word [rdx + 0x44]
mov qword [r11 + 8], rbx
mov qword [r11 - 0x28], rsi
rol ax, 8
mov qword [r11 - 0x30], rdi
movzx ebx, ax
movzx eax, word [rdx + 0x46]
mov dword [rsp + 0x30], ebx
rol ax, 8
movzx esi, ax
movzx eax, word [rdx + 0x4a]
mov dword [rcx + 0x104a0], 0x80000
mov dword [rsp + 0x34], esi
rol ax, 8
movzx edi, ax
movzx eax, word [rdx + 0x4c]
rol ax, 8
mov dword [rsp + 0xb8], edi
movzx ecx, ax
mov eax, 4
cmp ecx, eax
cmovb ecx, eax
mov eax, IsNetDrive
cmp ecx, eax
cmova ecx, eax
lea rax, [rdx + 0x10]
mov dword [r13 + 0x10490], ecx
cmp byte [rax], 0
jne 0x14009d393
lea rax, [rdx + 0x56]
movups xmm0, xmmword [rax]
xor r9d, r9d
movups xmmword [r13 + 0x10528], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r13 + 0x10538], xmm1
mov byte [r13 + 0x10547], 0
test r10d, r10d
je 0x14009d3f0
lea r8, [r13 + 0xeb60]
mov edx, 0x85
nop word [rax + rax]
mov eax, edx
movzx ecx, byte [rax + r12]
mov byte [r8], cl
cmp edx, 0x281
jae 0x14009d3f0
inc r9d
add edx, 2
inc r8
cmp r9d, r10d
jb 0x14009d3d0
lea r11d, [r10*2 + 0x84]
lea eax, [r11 + 0xa]
cmp eax, r14d
jae 0x14009d8c3
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x60], r15
mov r15d, 0xef
lea r9d, [r15 + 1]
mov r10d, 0x20
nop
mov eax, r11d
add r11d, 8
mov ecx, dword [rax + r12 + 4]
mov r8d, dword [rax + r12]
mov ebp, r11d
mov edx, ecx
mov eax, ecx
mov dword [rsp + 0x3c], ebp
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
shl eax, 8
or edx, eax
add r11d, edx
mov dword [rsp + 0x38], r11d
cmp r11d, r14d
ja 0x14009d8b9
cmp edx, r14d
ja 0x14009d8b9
cmp r8d, 0x54534e49
jne 0x14009d755
cmp ebx, r9d
cmovae ebx, r15d
mov dword [rsp + 0x30], ebx
test ebx, ebx
je 0x14009d8a0
mov r15d, r11d
mov r14d, 1
nop
lea rax, [rbp + 0x32]
cmp rax, r15
ja 0x14009d732
mov ecx, 0x278
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
test rax, rax
je 0x14009dd0f
movzx eax, word [r12 + rbp + 0x1e]
rol ax, 8
movzx esi, ax
lea eax, [rsi - 1]
cmp eax, 0xee
ja 0x14009d4eb
lea rcx, [rsi + rsi*8]
lea rdi, [r13 + 0x8e00]
lea rdi, [rdi + rcx*8]
jmp 0x14009d4ed
xor edi, edi
xor edx, edx
mov r8d, 0x278
mov rcx, rbx
call sub.msvcrt.dll_memset
movups xmm0, xmmword [r12 + rbp]
movups xmmword [rbx + 0x249], xmm0
movsd xmm1, qword [r12 + rbp + 0x10]
movsd qword [rbx + 0x259], xmm1
mov eax, dword [r12 + rbp + 0x18]
mov dword [rbx + 0x261], eax
movzx eax, word [r12 + rbp + 0x1c]
mov word [rbx + 0x265], ax
test rdi, rdi
je 0x14009d579
movups xmm0, xmmword [r12 + rbp]
mov rcx, rsi
shl rcx, 5
add rcx, r13
movups xmmword [rcx + 0x10528], xmm0
movsd xmm1, qword [r12 + rbp + 0x10]
movsd qword [rcx + 0x10538], xmm1
mov eax, dword [r12 + rbp + 0x18]
mov dword [rcx + 0x10540], eax
movzx eax, word [r12 + rbp + 0x1c]
mov word [rcx + 0x10544], ax
mov byte [rcx + 0x10546], 0
mov eax, r14d
mov r8d, IsNetDrive
mov ecx, 0xfe
mov qword [r13 + rax*8 + 0xd180], rbx
mov dword [rbx], 0x400
mov word [rbx + 8], r8w
movzx eax, word [r12 + rbp + 0x2e]
rol ax, 8
mov word [rbx + 0xa], ax
dec ax
cmp ax, cx
ja 0x14009d5b9
mov dword [rbx + 4], 0x200
jmp 0x14009d5c2
mov eax, pe_nt_image_headers64
mov word [rbx + 0xa], ax
mov byte [rbx + 0x248], IsNetDrive
xor ecx, ecx
lea rdx, [rbx + 0x1ac]
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 1]
inc ecx
mov byte [rdx - 0x80], sil
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp ecx, 0x78
jb 0x14009d5e0
test rdi, rdi
je 0x14009d70d
movzx eax, word [r12 + rbp + 0x30]
mov ecx, 0xff
rol ax, 8
movzx ebx, ax
movzx eax, word [r12 + rbp + 0x20]
rol ax, 8
shl ax, 2
mov word [rdi + 0x26], ax
dec ax
cmp ax, cx
jbe 0x14009d632
mov eax, 0x100
mov word [rdi + 0x26], ax
mov word [rdi + 0x28], r8w
mov edx, dword [r12 + rbp + 0x22]
mov ecx, edx
mov eax, edx
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, edx
and edx, 0xff00
shl eax, 0x10
shr ecx, 8
or eax, edx
shl eax, 8
or ecx, eax
mov dword [rdi + 0x20], ecx
call fcn.14008bf10
mov ecx, eax
sar eax, 7
and cl, 0x7f
mov byte [rdi + 0x2c], al
mov byte [rdi + 0x2d], cl
cmp dword [r12 + rbp + 0x2a], 0
je 0x14009d70d
test bl, 3
je 0x14009d70d
mov ecx, dword [r12 + rbp + 0x26]
mov r8d, ecx
mov eax, ecx
shr eax, 0x10
and r8d, 0xff0000
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
or eax, ecx
shl eax, 8
or r8d, eax
mov dword [rdi + 4], r8d
mov ecx, dword [r12 + rbp + 0x2a]
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
mov ecx, 0xfffb
shl eax, 8
or edx, eax
movzx eax, word [rdi + 0x2a]
and ax, cx
add edx, r8d
or ax, 2
mov dword [rdi + 8], edx
mov word [rdi + 0x2a], ax
test bl, 2
je 0x14009d70d
or ax, 4
mov word [rdi + 0x2a], ax
mov ebp, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x30]
mov dword [r13 + 0x104a8], r14d
inc r14d
add ebp, 0x32
lea eax, [r14 - 1]
mov dword [rsp + 0x3c], ebp
cmp eax, ebx
jb 0x14009d4a0
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0xb8]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x14009d8a0
cmp r8d, 0x564e4556
jne 0x14009d8e8
lea eax, [rbp + 1]
xor ebx, ebx
add ebp, 2
movzx edi, byte [rax + r12]
test edi, edi
je 0x14009d895
mov esi, r11d
nop word [rax + rax]
lea rax, [rbp + 0x88]
cmp rax, rsi
ja 0x14009d88c
movzx eax, word [r12 + rbp]
lea r9, [r12 + rbp]
rol ax, 8
movzx ecx, ax
lea eax, [rcx - 1]
cmp eax, 0xee
ja 0x14009d87c
mov r8, qword [r13 + rcx*8 + 0xd180]
test r8, r8
je 0x14009d87c
cmp byte [r9 + 3], 0
je 0x14009d87c
test byte [r9 + 2], 1
je 0x14009d7d6
or dword [r8 + 4], 1
test byte [r9 + 2], 2
je 0x14009d7e2
or dword [r8 + 4], 2
test byte [r9 + 2], 4
je 0x14009d7ee
or dword [r8 + 4], 4
movzx eax, byte [r9 + 3]
inc al
cmp al, 0x20
movzx ecx, al
cmova ecx, r10d
xor r11d, r11d
mov byte [r8 + 0x22c], cl
movzx eax, byte [r9 + 5]
mov byte [r8 + 0x22f], al
movzx eax, byte [r9 + 6]
mov byte [r8 + 0x230], al
movzx eax, byte [r9 + 4]
mov byte [r8 + 0x232], al
mov byte [r8 + 0x231], al
test cl, cl
je 0x14009d87c
xor r10d, r10d
nop word [rax + rax]
movzx ecx, word [r9 + r10*2 + 8]
lea eax, [r10 + 1]
lea r10d, [r10 + 2]
rol cx, 8
mov word [r8 + r11*2 + 0xc], cx
movzx eax, byte [r9 + rax*2 + 9]
mov byte [r11 + r8 + 0xcc], al
movzx eax, byte [r8 + 0x22c]
inc r11d
cmp r11d, eax
jb 0x14009d840
mov r10d, 0x20
inc ebx
add ebp, 0x88
cmp ebx, edi
jb 0x14009d780
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0xb8]
mov ebx, dword [rsp + 0x30]
lea ecx, [r11 + 0xa]
mov r9d, 0xf0
mov r10d, 0x20
cmp ecx, r14d
jb 0x14009d420
mov rbp, qword [rsp + 0x78]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa0]
mov eax, 1
add rsp, 0x80
pop r14
pop r13
pop r12
ret
cmp r8d, 0x54544150
jne 0x14009dbfe
cmp edi, r9d
mov dword [rsp + 0x44], 0
cmova edi, r9d
mov dword [rsp + 0xb8], edi
test edi, edi
je 0x14009d8a0
lea rdi, [r13 + 0xe200]
lea rax, [r13 + 0xe980]
mov ecx, r11d
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rcx
nop
mov ebx, ebp
lea rax, [rbx + 8]
cmp rax, rcx
ja 0x14009db8b
mov ecx, dword [rbx + r12 + 2]
add ebp, 6
mov r12d, ecx
mov eax, ecx
shr eax, 0x10
and r12d, 0xff0000
or r12d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r12d, 8
or eax, ecx
shl eax, 8
or r12d, eax
add ebp, r12d
mov dword [rsp + 0x3c], ebp
cmp ebp, r11d
ja 0x14009db83
cmp r12d, r11d
ja 0x14009db83
mov r15, qword [rsp + 0xa8]
movzx eax, word [rbx + r15]
rol ax, 8
movzx esi, ax
mov dword [rsp + 0x40], esi
lea eax, [rsi - 4]
cmp eax, 0xfc
ja 0x14009db50
mov edx, dword [r13 + 0x10490]
mov ecx, esi
call fcn.14008b130
mov r14, rax
test rax, rax
je 0x14009db4b
mov rax, qword [rsp + 0x48]
lea rbp, [rbx + r15]
xor r15d, r15d
xor ebx, ebx
mov word [rax], si
mov qword [rdi], r14
cmp r12d, 3
jbe 0x14009db47
lea edi, [rbx + 3]
nop word [rax + rax]
cmp r15d, esi
jae 0x14009db42
movzx r10d, byte [rbx + rbp + 6]
inc edi
inc ebx
test r10d, r10d
je 0x14009dbe7
movzx r8d, byte [rbx + rbp + 6]
dec r10d
inc edi
inc ebx
cmp r10d, dword [r13 + 0x10490]
jae 0x14009dba2
test r8b, 1
je 0x14009da64
movzx edx, byte [rbx + rbp + 6]
inc edi
inc ebx
cmp edx, 0x1f
jne 0x14009da41
mov edx, 0xff
jmp 0x14009da5c
lea eax, [rdx - 1]
cmp eax, 0xfc
ja 0x14009da5c
mov eax, edx
and edx, 0xf
shr eax, 4
lea ecx, [rax + rax*2]
lea edx, [rdx + rcx*4]
add edx, 0xd
lea rcx, [r10 + r10*2]
mov byte [r14 + rcx*2], dl
test r8b, 2
je 0x14009da7c
movzx eax, byte [rbx + rbp + 6]
lea rcx, [r10 + r10*2]
inc ebx
mov byte [r14 + rcx*2 + 1], al
inc edi
test r8b, 0x3c
je 0x14009db39
mov eax, 0xff
xor r11d, r11d
xor esi, esi
mov r9d, eax
mov edx, eax
test r8b, 4
je 0x14009daa5
movzx r9d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 8
je 0x14009dab5
movzx r11d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x10
je 0x14009dac4
movzx edx, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x20
je 0x14009dad3
movzx esi, byte [rbx + rbp + 6]
inc ebx
inc edi
cmp r9d, 0xc
jne 0x14009daea
lea rcx, [r10 + r10*2]
mov byte [r14 + rcx*2 + 2], 1
mov byte [r14 + rcx*2 + 4], r11b
jmp 0x14009db11
cmp edx, 0xc
jne 0x14009db00
lea rcx, [r10 + r10*2]
mov edx, eax
mov byte [r14 + rcx*2 + 2], 1
mov byte [r14 + rcx*2 + 4], sil
cmp r9d, 0x13
ja 0x14009db11
cmp r9d, 0x10
jb 0x14009db17
cmp edx, 0x10
jae 0x14009db17
mov r9d, edx
mov r11d, esi
cmp r9d, 0x13
ja 0x14009db35
lea rcx, [r10 + r10*2]
lea rdx, [r14 + rcx*2]
mov rcx, r13
mov byte [rdx + 3], r9b
mov byte [rdx + 5], r11b
call fcn.1400a4e40
mov esi, dword [rsp + 0x40]
cmp edi, r12d
jb 0x14009d9f0
mov rdi, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x44]
add qword [rsp + 0x48], 2
mov r12, qword [rsp + 0xa8]
inc ecx
add rdi, 8
cmp ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x44], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rdi
jb 0x14009d930
mov r12, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x14009d895
test r8b, 1
je 0x14009dbac
inc ebx
inc edi
test r8b, 2
je 0x14009dbb6
inc ebx
inc edi
test r8b, 4
je 0x14009dbc0
inc ebx
inc edi
test r8b, 8
je 0x14009dbca
inc ebx
inc edi
test r8b, 0x10
je 0x14009dbd4
inc ebx
inc edi
test r8b, 0x20
je 0x14009db39
inc ebx
inc edi
jmp 0x14009db39
mov eax, dword [r13 + 0x10490]
inc r15d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*2]
jmp 0x14009db39
cmp r8d, 0x4c504d53
jne 0x14009d8a0
cmp esi, r9d
mov ebx, 1
cmovae esi, r15d
mov dword [rsp + 0x34], esi
mov dword [r13 + 0x104a4], esi
cmp esi, ebx
jb 0x14009d89c
mov edi, r11d
nop dword [rax]
lea rax, [rbp + 0xa]
cmp rax, rdi
jae 0x14009d895
mov ecx, dword [r12 + rbp + 4]
lea r9, [r12 + rbp]
lea rdx, [r13 + 0x8e00]
mov eax, ecx
mov r10d, ecx
add ebp, 8
shr eax, 0x10
and r10d, 0xff0000
or r10d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r10d, 8
or eax, ecx
mov ecx, dword [r9]
shl eax, 8
mov r8d, ecx
or r10d, eax
mov eax, ecx
and r8d, 0xff0000
shr eax, 0x10
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
or eax, ecx
shl eax, 8
or r8d, eax
mov eax, ebx
lea rcx, [rax + rax*8]
lea rdx, [rdx + rcx*8]
mov dword [rdx], r10d
test r8b, 2
je 0x14009dcc0
or word [rdx + 0x2a], 1
add r10d, r10d
add ebp, r10d
cmp ebp, r11d
ja 0x14009d895
cmp r10d, r14d
ja 0x14009d895
test r8b, 3
je 0x14009dd00
movzx eax, byte [rdx + 0x2a]
add r9, 8
mov rcx, r13
and al, 1
mov dword [rsp + 0x20], r10d
neg al
sbb r8d, r8d
and r8d, 7
call fcn.14008c4d0
mov r11d, dword [rsp + 0x38]
inc ebx
cmp ebx, esi
jbe 0x14009dc30
jmp 0x14009d895
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x14009d895
xor eax, eax
add rsp, 0x80
pop r14
pop r13
pop r12
ret