Function at 0x140038970
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x120
mov rax, qword [0x1401990d8]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x58], rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
mov edx, 4
call qword [0x140120240]
test eax, eax
je 0x1400389b7
xor eax, eax
jmp 0x140038c30
xor r11d, r11d
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x68], r11
mov eax, 0x5a4d
cmp word [rdi], ax
je 0x1400389d5
xor eax, eax
jmp 0x140038c30
movsxd rcx, dword [rdi + 0x3c]
cmp dword [rcx + rdi], 0x4550
je 0x1400389e9
xor eax, eax
jmp 0x140038c30
mov r10d, dword [rcx + rdi + 0x8c]
mov dword [rsp + 0x3c], r10d
mov r9d, dword [rcx + rdi + 0x88]
mov dword [rsp + 0x38], r9d
test r9d, r9d
jne 0x140038a0f
xor eax, eax
jmp 0x140038c30
lea r8, [rdi + r9]
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x20], r11d
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10000
jae 0x140038a36
mov dword [rsp + 0x20], edx
dec edx
jmp 0x140038b39
mov esi, r11d
mov dword [rsp + 0x30], r11d
mov rax, rdx
mov qword [rsp + 0x40], rdx
cmp byte [rax], 0
je 0x140038a6a
inc rax
mov qword [rsp + 0x40], rax
inc esi
mov dword [rsp + 0x30], esi
cmp esi, 0x100
jb 0x140038a68
xor eax, eax
jmp 0x140038c30
jmp 0x140038a46
mov ecx, dword [r8 + 0x20]
mov rdi, qword [rsp + 0x48]
add rcx, rdi
mov qword [rsp + 0x60], rcx
xor eax, eax
mov dword [rsp + 0x20], eax
cmp eax, dword [r8 + 0x18]
jae 0x140038b0b
mov ebx, dword [rcx]
add rbx, rdi
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x40], rdi
mov edx, 4
mov rcx, rbx
call qword [0x140120240]
test eax, eax
je 0x140038ab8
xor eax, eax
jmp 0x140038c30
mov r8b, 1
xor edx, edx
mov dword [rsp + 0x34], edx
cmp edx, esi
jae 0x140038ae3
movsx ecx, byte [rdi]
movzx eax, byte [rbx]
cmp eax, ecx
jne 0x140038ae8
inc rbx
mov qword [rsp + 0x70], rbx
inc rdi
mov qword [rsp + 0x40], rdi
inc edx
jmp 0x140038abd
test r8b, r8b
jne 0x140038b16
mov rcx, qword [rsp + 0x60]
add rcx, 4
mov qword [rsp + 0x60], rcx
mov eax, dword [rsp + 0x20]
inc eax
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
jmp 0x140038a7d
xor al, al
jne 0x140038b20
xor eax, eax
jmp 0x140038c30
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov eax, dword [r8 + 0x24]
mov ecx, dword [rsp + 0x20]
add rax, rdi
movzx edx, word [rax + rcx*2]
mov r9d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x3c]
mov dword [rsp + 0x20], edx
mov eax, dword [r8 + 0x1c]
add rax, rdi
mov edx, dword [rax + rdx*4]
add rdx, rdi
mov qword [rsp + 0x28], rdx
mov ecx, r9d
lea rax, [rcx + rdi]
cmp rdx, rax
jb 0x140038bf3
mov eax, r10d
add rax, rcx
add rax, rdi
cmp rdx, rax
jae 0x140038bf3
lea rcx, [rsp + 0x90]
sub rcx, rdx
nop dword [rax]
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140038b80
lea rdx, [0x140191f38]
lea rcx, [rsp + 0x90]
call fcn.1400e41d8
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140038bba
mov byte [rax], 0
inc rbx
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x90]
call qword [fcn.140120538]
test rax, rax
je 0x140038bdf
cmp rax, rdi
je 0x140038bdf
mov rdx, rbx
mov rcx, rax
call fcn.140038970
jmp 0x140038beb
mov rdx, rbx
mov rcx, rdi
call qword [fcn.1401204e8]
mov qword [rsp + 0x28], rax
mov rdx, rax
jmp 0x140038c2d
mov rax, rdx
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.14009ed10
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret