Function at 0x14011c820
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 rsi, qword [0x140339a28]
mov rax, rsi
cmp word [rax], 0x5a4d
jne 0x14011c86c
movsxd rdx, dword [rax + 0x3c]
cmp word [rsi + rdx + 0x18], 0x20b
sete dl
movzx edx, dl
jmp 0x14011c86e
xor edx, edx
mov byte [0x140339a20], dl
xor edi, edi
xor ebx, ebx
cmp byte [0x140339a20], 0
je 0x14011c88a
movsxd rbx, dword [rax + 0x3c]
add rbx, rsi
jmp 0x14011c895
movsxd rdi, dword [rax + 0x3c]
add rdi, rsi
mov eax, dword [rdi]
jmp 0x14011c897
mov eax, dword [rbx]
cmp eax, 0x4550
jne 0x14011ceff
call fcn.14018e380
cmp eax, 8
je 0x14011c8b3
mov ecx, 0x40
jmp 0x14011c8b8
mov ecx, 0x60
call fcn.14011d030
mov rsi, rax
call fcn.14018e380
cmp eax, 8
je 0x14011c8d1
mov ecx, 0x10
jmp 0x14011c8d6
mov ecx, 0x18
movsxd rcx, ecx
call fcn.1400e7740
mov qword [rbp - 0x40], rax
mov rcx, qword [0x1403381e0]
mov r14, qword [rcx + 8]
lea r15, [0x14019c308]
lea rcx, [0x140214250]
mov edx, 0xc
call fcn.140002c10
xor ecx, ecx
mov edx, ecx
lea r8, [0x1401b9618]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r9d, ecx
sar r9d, 0x1f
and r9d, 0xf
add r9d, ecx
and r9d, 0xfffffff0
mov r10d, ecx
sub r10d, r9d
cmp r10d, 0x10
jae 0x14011c9d9
mov r9d, r10d
movzx r9d, word [r15 + r9*2 + 0xc]
xor r8d, r9d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xc
jl 0x14011c907
mov rcx, rax
call fcn.14007bb20
mov r15, rax
lea r12, [0x1401bb828]
lea rcx, [0x140214250]
mov edx, 0xe
call fcn.140002c10
xor ecx, ecx
mov edx, ecx
lea r8, [0x14019f170]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r9d, ecx
sar r9d, 0x1f
and r9d, 0xf
add r9d, ecx
and r9d, 0xfffffff0
mov r10d, ecx
sub r10d, r9d
cmp r10d, 0x10
jae 0x14011c9d9
mov r9d, r10d
movzx r9d, word [r12 + r9*2 + 0xc]
xor r8d, r9d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xe
jl 0x14011c976
mov rcx, rax
call fcn.14007bb20
mov r12, rax
mov rcx, r15
call fcn.14011a0b0
test rax, rax
jne 0x14011c9de
xor r15d, r15d
jmp 0x14011c9ec
call fcn.140106f60
mov rcx, rax
mov rdx, r12
call fcn.14011aaa0
mov r15, rax
test r15, r15
je 0x14011ccd9
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], r15
mov rcx, r14
lea rdx, [0x14019bda0]
xor r8d, r8d
xor r9d, r9d
call fcn.1400757c0
test eax, eax
je 0x14011ccd9
test rsi, 0xffffffffffff0000
je 0x14011ca6e
mov rcx, rsi
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x90]
call fcn.140002f80
mov rcx, qword [rbp - 0x68]
call sub.KERNEL32.dll_LocalFree
lea rcx, [rbp - 0x90]
call fcn.140002fd0
cmp byte [0x140339a20], 0
jne 0x14011ce09
mov esi, dword [rdi + 0x34]
mov rax, qword [rbp - 0x40]
mov r14, qword [rax]
mov r15, rax
call fcn.14018e380
cmp eax, 8
je 0x14011ce12
mov ecx, 4
movsxd rcx, ecx
mov r15, qword [r15 + rcx]
mov rcx, r14
mov rdx, rsi
call fcn.14011d240
test r14, r14
je 0x14011cde3
test r15, r15
je 0x14011cde3
movzx ecx, byte [0x140339a20]
test ecx, ecx
jne 0x14011ce1c
mov r8d, dword [rdi + 0x50]
test ecx, ecx
jne 0x14011ce25
mov r12d, dword [rdi + 0x54]
test ecx, ecx
jne 0x14011ce2e
movzx edx, word [rdi + 6]
movzx r13d, dx
test ecx, ecx
jne 0x14011ce37
mov eax, dword [rdi + 0x28]
mov dword [rbp - 0x44], eax
mov dword [rsp + 0x20], 0x40
mov rcx, r14
mov rdx, rsi
mov r9d, 0x3000
call fcn.14011a650
mov rsi, rax
mov r8, qword [0x140339a28]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rsi
mov r9d, r12d
call fcn.14011d2b0
test eax, eax
jne 0x14011cdbd
cmp byte [0x140339a20], 0
jne 0x14011ce3f
add rdi, 0xf8
xor ebx, ebx
test r13d, r13d
jle 0x14011cb9c
mov edx, dword [rdi + 0xc]
add rdx, rsi
mov r8d, dword [rdi + 0x14]
add r8, qword [0x140339a28]
mov r9d, dword [rdi + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.14011d2b0
test eax, eax
jne 0x14011cd97
add rdi, 0x28
inc ebx
cmp ebx, r13d
jl 0x14011cb5e
cmp byte [0x140339a20], 0
jne 0x14011ce4b
mov ecx, 0x2cc
movsxd rcx, ecx
call fcn.1400e7740
mov rdi, rax
cmp byte [0x140339a20], 0
je 0x14011ce55
mov dword [rdi + 0x30], 0x10001b
cmp byte [0x140339a20], 0
jne 0x14011ce60
mov rcx, r15
mov rdx, rdi
call fcn.14011d1c0
test eax, eax
je 0x14011cd71
mov ebx, dword [rdi + 0xa4]
mov r12, qword [rdi + 0x88]
lea rcx, [0x1402141b8]
mov edx, 8
call fcn.140002c10
mov qword [rax + 0x10], rsi
cmp byte [0x140339a20], 0
jne 0x14011ce78
add ebx, 8
movsxd rdx, ebx
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 0x14011ce82
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov r9d, 8
call fcn.14011d2b0
xor ecx, ecx
test eax, eax
sete cl
xor edx, edx
mov qword [rbp - 0x60], rdx
test ecx, ecx
je 0x14011cd25
cmp byte [0x140339a20], 0
je 0x14011ce9e
mov ecx, dword [rbp - 0x44]
add rcx, rsi
mov qword [rdi + 0x80], rcx
cmp byte [0x140339a20], 0
jne 0x14011ceb0
mov rcx, r15
mov rdx, rdi
call fcn.14011a1d0
test eax, eax
je 0x14011ccff
mov rcx, r15
call fcn.14011a290
mov qword [rbp - 0x58], r14
jmp 0x14011cede
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5d60]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5a28]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5d60]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5e18]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5ad8]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5b48]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5ea0]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5db0]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
lea rcx, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a5a70]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
mov rsi, qword [rbx + 0x30]
jmp 0x14011ca7e
mov ecx, 8
jmp 0x14011ca9b
mov r8d, dword [rbx + 0x50]
jmp 0x14011cad2
mov r12d, dword [rbx + 0x54]
jmp 0x14011cade
movzx edx, word [rbx + 6]
jmp 0x14011caea
mov eax, dword [rbx + 0x28]
jmp 0x14011caf9
lea rdi, [rbx + 0x108]
jmp 0x14011cb57
mov ecx, 0x4d0
jmp 0x14011cbae
mov dword [rdi], 0x10002
jmp 0x14011cbcd
mov rcx, r15
mov rdx, rdi
call fcn.14011d160
test eax, eax
je 0x14011cd4b
jmp 0x14011cbed
lea rdx, [r12 + 0x10]
jmp 0x14011cc22
mov r8, qword [rbp - 0x60]
cmp dword [r8 + 8], 0
jbe 0x14011c9d9
mov r8, qword [rbp - 0x60]
add r8, 0x10
jmp 0x14011cc40
mov ecx, dword [rbp - 0x44]
add rcx, rsi
mov qword [rdi + 0xb0], rcx
jmp 0x14011cc86
mov rcx, r15
mov rdx, rdi
call fcn.14011a230
test eax, eax
je 0x14011ccb3
jmp 0x14011cca2
mov rcx, rsp
call fcn.14011cf79
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, [0x1401ca9e0]
call fcn.140002af0
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1401a7d40]
call fcn.140081620
mov rcx, rsi
call fcn.1400030e0
xor eax, eax
jmp 0x14011ceeb