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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x60], xmm4
xor eax, eax
mov qword [rbp - 0x50], rax
mov rbx, rcx
mov rsi, qword [rbx + 0x10]
mov rax, rsi
cmp word [rax], 0x5a4d
jne 0x14013f78c
movsxd rcx, dword [rax + 0x3c]
cmp word [rsi + rcx + 0x18], 0x20b
sete cl
movzx ecx, cl
jmp 0x14013f78e
xor ecx, ecx
mov byte [0x1402eb3ac], cl
xor edi, edi
xor r14d, r14d
cmp byte [0x1402eb3ac], 0
je 0x14013f7ab
movsxd r14, dword [rax + 0x3c]
add r14, rsi
jmp 0x14013f7b6
movsxd rdi, dword [rax + 0x3c]
add rdi, rsi
mov eax, dword [rdi]
jmp 0x14013f7b9
mov eax, dword [r14]
cmp eax, 0x4550
jne 0x14013fe2d
call fcn.140183b30
mov ecx, 0x60
mov edx, 0x40
cmp eax, 8
cmovne ecx, edx
call fcn.14013ff60
mov rsi, rax
call fcn.140183b30
mov ecx, 0x18
mov edx, 0x10
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
call fcn.1400dc6f0
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x10], rbx
mov r15, qword [rbx + 8]
lea r13, [0x1401ab798]
lea rcx, [0x1401f9450]
mov edx, 0xc
call fcn.140002c80
xor ecx, ecx
mov edx, ecx
lea r8, [0x140194bd8]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r10d, ecx
sar r10d, 0x1f
and r10d, 0xf
add r10d, ecx
and r10d, 0xfffffff0
mov r9d, ecx
sub r9d, r10d
cmp r9d, 0x10
jae 0x14013f8f6
mov r10d, r9d
movzx r10d, word [r13 + r10*2 + 0xc]
xor r8d, r10d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xc
jl 0x14013f824
mov rcx, rax
call fcn.1400820e0
mov r13, rax
lea r12, [0x1401afbd8]
lea rcx, [0x1401f9450]
mov edx, 0xe
call fcn.140002c80
xor ecx, ecx
mov edx, ecx
lea r8, [0x1401afba0]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r10d, ecx
sar r10d, 0x1f
and r10d, 0xf
add r10d, ecx
and r10d, 0xfffffff0
mov r9d, ecx
sub r9d, r10d
cmp r9d, 0x10
jae 0x14013f8f6
mov r10d, r9d
movzx r10d, word [r12 + r10*2 + 0xc]
xor r8d, r10d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xe
jl 0x14013f893
mov rcx, rax
call fcn.1400820e0
mov r12, rax
mov rcx, r13
call fcn.14013d140
test rax, rax
jne 0x14013f8fb
xor r13d, r13d
jmp 0x14013f909
call fcn.1400fd4a0
mov rcx, rax
mov rdx, r12
call fcn.14013d8e0
mov r13, rax
test r13, r13
je 0x14013fc1c
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rsi
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r13
mov rcx, r15
lea rdx, [0x140192338]
xor r8d, r8d
xor r9d, r9d
call fcn.140073c50
test eax, eax
je 0x14013fc1c
test rsi, 0xffffffffffff0000
je 0x14013f98b
mov rcx, rsi
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x90]
call fcn.140002ff0
mov rcx, qword [rbp - 0x68]
call fcn.14006b75a
lea rcx, [rbp - 0x90]
call fcn.140003040
cmp byte [0x1402eb3ac], 0
jne 0x14013fd4c
mov esi, dword [rdi + 0x34]
mov rax, qword [rbp - 0x40]
mov r15, qword [rax]
mov r13, rax
call fcn.140183b30
cmp eax, 8
je 0x14013fd55
mov ecx, 4
movsxd rcx, ecx
mov r13, qword [rcx + r13]
mov rcx, r15
mov rdx, rsi
call fcn.1401400a0
test r15, r15
je 0x14013fd26
test r13, r13
je 0x14013fd26
movzx ecx, byte [0x1402eb3ac]
test ecx, ecx
jne 0x14013fd5f
mov r8d, dword [rdi + 0x50]
test ecx, ecx
jne 0x14013fd68
mov r12d, dword [rdi + 0x54]
test ecx, ecx
jne 0x14013fd71
movzx edx, word [rdi + 6]
movzx eax, dx
mov dword [rbp - 0x44], eax
test ecx, ecx
jne 0x14013fd7b
mov r10d, dword [rdi + 0x28]
mov dword [rbp - 0x48], r10d
mov dword [rsp + 0x20], 0x40
mov rcx, r15
mov rdx, rsi
mov r9d, 0x3000
call fcn.14013d740
mov rsi, rax
mov rbx, qword [rbp + 0x10]
mov r8, qword [rbx + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov rdx, rsi
mov r9d, r12d
call fcn.140140110
test eax, eax
jne 0x14013fcda
add r14, 0x108
add rdi, 0xf8
cmp byte [0x1402eb3ac], 0
cmove r14, rdi
xor edi, edi
mov r12d, dword [rbp - 0x44]
test r12d, r12d
jle 0x14013fac8
mov edx, dword [r14 + 0xc]
add rdx, rsi
mov r8, qword [rbx + 0x10]
mov ecx, dword [r14 + 0x14]
add r8, rcx
mov r9d, dword [r14 + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.140140110
test eax, eax
jne 0x14013fd00
add r14, 0x28
inc edi
cmp edi, r12d
jl 0x14013fa89
mov ecx, 0x4d0
mov eax, 0x2cc
cmp byte [0x1402eb3ac], 0
cmove ecx, eax
movsxd rcx, ecx
call fcn.1400dc6f0
mov rbx, rax
cmp byte [0x1402eb3ac], 0
je 0x14013fd84
mov dword [rbx + 0x30], 0x10001b
cmp byte [0x1402eb3ac], 0
jne 0x14013fd8f
mov rcx, r13
mov rdx, rbx
call fcn.14013d2f0
test eax, eax
je 0x14013fcb4
mov edi, dword [rbx + 0xa4]
mov r14, qword [rbx + 0x88]
mov rcx, rsi
call fcn.14008b2a0
cmp byte [0x1402eb3ac], 0
jne 0x14013fda7
add edi, 8
movsxd rdx, edi
mov r9d, dword [rax + 8]
xor ecx, ecx
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x50], ecx
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp - 0x60]
cmp dword [rcx + 8], 0
jne 0x14013fdb0
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.140140110
xor ecx, ecx
test eax, eax
sete cl
xor edx, edx
mov qword [rbp - 0x60], rdx
test ecx, ecx
je 0x14013fc68
cmp byte [0x1402eb3ac], 0
je 0x14013fdcc
mov ecx, dword [rbp - 0x48]
add rcx, rsi
mov qword [rbx + 0x80], rcx
cmp byte [0x1402eb3ac], 0
jne 0x14013fdde
mov rcx, r13
mov rdx, rbx
call fcn.14013d230
test eax, eax
je 0x14013fc42
mov rcx, r13
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x90]
call fcn.140002ff0
mov rcx, qword [rbp - 0x68]
call fcn.14006b8ec
lea rcx, [rbp - 0x90]
call fcn.140003040
mov qword [rbp - 0x58], r15
jmp 0x14013fe0c
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b2a8]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019af20]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b2a8]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b360]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019afd0]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b040]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b2f8]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019b3e8]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019af68]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
mov rsi, qword [r14 + 0x30]
jmp 0x14013f99b
mov ecx, 8
jmp 0x14013f9b8
mov r8d, dword [r14 + 0x50]
jmp 0x14013f9ef
mov r12d, dword [r14 + 0x54]
jmp 0x14013f9fb
movzx edx, word [r14 + 6]
jmp 0x14013fa07
mov r10d, dword [r14 + 0x28]
jmp 0x14013fa19
mov dword [rbx], 0x10002
jmp 0x14013fafb
mov rcx, r13
mov rdx, rbx
call fcn.14013d350
test eax, eax
je 0x14013fc8e
jmp 0x14013fb1b
lea rdx, [r14 + 0x10]
jmp 0x14013fb43
mov r8, qword [rbp - 0x60]
cmp dword [r8 + 8], 0
jbe 0x14013f8f6
mov r8, qword [rbp - 0x60]
add r8, 0x10
jmp 0x14013fb65
mov ecx, dword [rbp - 0x48]
add rcx, rsi
mov qword [rbx + 0xb0], rcx
jmp 0x14013fba5
mov rcx, r13
mov rdx, rbx
call fcn.14013d290
test eax, eax
je 0x14013fbf6
jmp 0x14013fbc5
mov rcx, rsp
call fcn.14013fea7
nop
mov rax, qword [rbp - 0x58]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1401b86b8]
call fcn.140002b60
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14019ce38]
call fcn.140087b30
mov rcx, rbx
call fcn.140003630
xor eax, eax
jmp 0x14013fe19