Function at 0x14000cc5c
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
xor r12d, r12d
mov r14, r8
mov rsi, rdx
mov dword [rbp - 0x39], r12d
mov rbx, rcx
xor edx, edx
lea rcx, [rbp - 0x19]
mov edi, r12d
lea r8d, [r12 + 0x38]
mov r15d, r12d
call sub.msvcrt.dll_memset
lea rdx, [rbp + 7]
mov qword [rbp - 0x19], rbx
mov rcx, rbx
call fcn.14000e020
test eax, eax
je 0x14000ce0e
mov ecx, 0x4000
mov dword [rbp + 0x17], ecx
call fcn.14000c580
xor ecx, ecx
mov qword [rbp + 0xf], rax
test rax, rax
jne 0x14000cced
lea r9, [0x140022cf0]
xor edx, edx
lea r8, [0x140022cf0]
call fcn.14000c224
jmp 0x14000ce0e
lea r9, [rbp - 0x19]
mov r8d, 0x40
mov rdx, rsi
call fcn.14000c920
test eax, eax
je 0x14000ce0e
mov eax, 0x5a4d
cmp word [rsi], ax
jne 0x14000cd3f
cmp dword [rsi + 0x3c], r12d
jle 0x14000cd3f
movsxd rcx, dword [rsi + 0x3c]
lea r9, [rbp - 0x19]
mov r8d, 4
lea rdx, [rbp - 0x25]
call fcn.14000c920
test eax, eax
je 0x14000ce0e
cmp dword [rbp - 0x25], 0x4550
je 0x14000cd58
xor edx, edx
lea r9, [0x140022cf0]
xor ecx, ecx
lea r8d, [rdx + 1]
call fcn.14000c17c
jmp 0x14000ce0e
movsxd rax, dword [rsi + 0x3c]
mov ebx, 0x80
mov dword [r14 + 0xa0], r12d
mov r15, rax
cmp eax, 0x110
jb 0x14000cd9b
lea r9, [rbp - 0x19]
mov rdx, rsi
lea r8d, [rbx + 0x10]
mov ecx, ebx
call fcn.14000c920
test eax, eax
je 0x14000d17d
cmp dword [rsi], 0x82c8851f
jne 0x14000cd9b
mov dword [r14 + 0xa0], ebx
lea r9, [rbp - 0x19]
mov r8d, 0x14
mov rdx, rsi
lea rcx, [r15 + 4]
call fcn.14000c920
test eax, eax
je 0x14000d17d
add r15, 0x18
lea r9, [rbp - 0x19]
mov rcx, r15
lea rdx, [rbp + 0x67]
mov r8d, 2
call fcn.14000c920
test eax, eax
je 0x14000d17d
mov eax, 0x10b
mov edi, 1
cmp word [rbp + 0x67], ax
jne 0x14000ce4f
movzx eax, word [rsi + 0x10]
cmp ax, 0x78
jae 0x14000ce46
lea r9, [0x140022cf0]
xor edx, edx
xor ecx, ecx
mov r8d, edi
call fcn.14000c17c
mov r15, r12
mov edi, r12d
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x14000ce1c
call fcn.14000c5c4
test r15, r15
je 0x14000ce29
mov rcx, r15
call fcn.14000c5c4
mov rbx, qword [rsp + 0xd8]
mov eax, edi
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, edi
mov ecx, 0xe0
jmp 0x14000ce70
mov eax, 0x20b
cmp word [rbp + 0x67], ax
jne 0x14000cdf5
movzx eax, word [rsi + 0x10]
mov ecx, 0x88
cmp ax, cx
jb 0x14000cdf5
mov ebx, r12d
mov ecx, 0xf0
movzx r12d, word [rsi + 2]
lea r9, [rbp - 0x19]
movzx r13d, ax
mov rdx, rsi
cmp r13d, ecx
cmovae r13d, ecx
mov rcx, r15
mov r8d, r13d
call fcn.14000c920
xor ecx, ecx
test eax, eax
je 0x14000d173
lea eax, [r15 + 0x40]
mov dword [r14], eax
test ebx, ebx
je 0x14000cee8
lea eax, [r15 + 0x80]
mov dword [r14 + 4], eax
mov eax, dword [rsi + 0x80]
mov dword [r14 + 0xc], eax
mov eax, dword [rsi + 0x84]
mov dword [r14 + 0x14], eax
mov eax, dword [rsi + 0x40]
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x9c], cl
cmp word [rsi + 0x44], di
sete al
mov byte [r14 + 0x9d], al
mov rbx, qword [rsi + 0x70]
jmp 0x14000cf2a
lea eax, [r15 + 0x90]
mov dword [r14 + 4], eax
mov eax, dword [rsi + 0x90]
mov dword [r14 + 0xc], eax
mov eax, dword [rsi + 0x94]
mov dword [r14 + 0x14], eax
mov eax, dword [rsi + 0x40]
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x9c], dil
cmp word [rsi + 0x44], di
sete al
mov byte [r14 + 0x9d], al
mov rbx, qword [rsi + 0x80]
mov eax, dword [r14 + 4]
add eax, 4
mov qword [rbp - 0x21], rbx
mov dword [r14 + 8], eax
mov eax, r13d
add r15, rax
mov dword [r14 + 0x18], ecx
mov byte [r14 + 0x9e], cl
mov dword [r14 + 0xb0], r15d
cmp dword [r14 + 0xa0], ecx
je 0x14000cf6e
cmp byte [r14 + 0x9c], cl
jne 0x14000cf6e
mov eax, edi
cmp byte [r14 + 0x9d], cl
jne 0x14000cf70
mov eax, ecx
mov dword [rbp - 0x29], eax
cmp dword [rbp + 0x7f], ecx
je 0x14000cf7c
test ebx, ebx
jne 0x14000cf84
test eax, eax
je 0x14000d16b
mov eax, 0x333
mov word [rbp + 0x67], ax
cmp r12w, ax
jbe 0x14000cf96
mov r12d, eax
mov ecx, 0xffff
cmp r12w, cx
lea eax, [rcx - 1]
cmovne ax, r12w
movzx r13d, ax
lea r12d, [r13*4]
add r12d, r13d
shl r12d, 3
mov ecx, r12d
call fcn.14000c580
mov qword [rbp - 0x31], rax
test rax, rax
jne 0x14000cfee
lea r9, [0x140022cf0]
xor edx, edx
lea r8, [0x140022cf0]
xor ecx, ecx
call fcn.14000c224
mov r15, qword [rbp - 0x31]
mov edi, dword [rbp - 0x39]
jmp 0x14000ce0e
lea r9, [rbp - 0x19]
mov r8d, r12d
mov rdx, rax
mov rcx, r15
call fcn.14000c920
mov r15, qword [rbp - 0x31]
test eax, eax
je 0x14000cfe6
add dword [r14 + 0xb0], r12d
xor r12d, r12d
cmp dword [rbp - 0x29], r12d
je 0x14000d052
mov rax, r15
movzx ecx, r12w
cmp r12w, r13w
jae 0x14000d052
mov dl, byte [0x140022e0c]
mov r8d, dword [str.INIT]
cmp dword [rax], r8d
jne 0x14000d03c
cmp byte [rax + 4], dl
je 0x14000d04b
add rax, 0x28
add cx, di
cmp cx, r13w
jae 0x14000d052
jmp 0x14000d032
mov byte [r14 + 0x9e], dil
mov edx, dword [rbp - 0x1d]
movzx r9d, r13w
mov r8, r15
mov ecx, ebx
call fcn.14000decc
mov ebx, eax
test eax, eax
je 0x14000ce0e
lea rax, [rbp - 0x19]
mov r9d, 0x8000
mov r8, rsi
mov qword [rsp + 0x20], rax
mov edx, 0xa
mov ecx, ebx
call fcn.14000caf8
test rax, rax
je 0x14000ce0e
mov ecx, dword [rax + 4]
test ecx, ecx
jns 0x14000ce0e
btr ecx, 0x1f
lea rax, [rbp - 0x19]
add ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x8000
mov r8, rsi
mov edx, 0x360
call fcn.14000caf8
test rax, rax
je 0x14000ce0e
mov ecx, dword [rax + 4]
test ecx, ecx
jns 0x14000ce0e
btr ecx, 0x1f
lea rax, [rbp - 0x19]
add ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x8000
mov r8, rsi
xor edx, edx
call fcn.14000caf8
test rax, rax
je 0x14000ce0e
mov eax, dword [rax + 4]
test eax, eax
js 0x14000ce0e
lea ecx, [rbx + rax]
mov r8d, 0x10
lea r9, [rbp - 0x19]
mov rdx, rsi
call fcn.14000c920
test eax, eax
je 0x14000ce0b
cmp dword [rsi + 4], 0x80
jne 0x14000ce0e
mov ecx, dword [rsi]
movzx r9d, r13w
mov r8, r15
mov edx, 0x80
call fcn.14000decc
lea rdx, [r14 + 0x1c]
mov ecx, eax
lea r9, [rbp - 0x19]
mov r8d, 0x80
call fcn.14000c920
test eax, eax
je 0x14000ce0b
mov dword [r14 + 0x18], ebx
jmp 0x14000ce0e
mov r15, rcx
jmp 0x14000ce0e
mov r15, rcx
mov edi, ecx
jmp 0x14000ce0e
mov r15, rdi
jmp 0x14000ce0e