Function at 0x14003ba78
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.14003ce40
test eax, eax
je 0x14003bc2a
mov ecx, 0x4000
mov dword [rbp + 0x17], ecx
call fcn.14003b398
xor ecx, ecx
mov qword [rbp + 0xf], rax
test rax, rax
jne 0x14003bb09
lea r9, [0x140063614]
xor edx, edx
lea r8, [0x140063614]
call fcn.14003b02c
jmp 0x14003bc2a
lea r9, [rbp - 0x19]
mov r8d, 0x40
mov rdx, rsi
call fcn.14003b738
test eax, eax
je 0x14003bc2a
mov eax, 0x5a4d
cmp word [rsi], ax
jne 0x14003bb5b
cmp dword [rsi + 0x3c], r12d
jle 0x14003bb5b
movsxd rcx, dword [rsi + 0x3c]
lea r9, [rbp - 0x19]
mov r8d, 4
lea rdx, [rbp - 0x25]
call fcn.14003b738
test eax, eax
je 0x14003bc2a
cmp dword [rbp - 0x25], 0x4550
je 0x14003bb74
xor edx, edx
lea r9, [0x140063614]
xor ecx, ecx
lea r8d, [rdx + 1]
call fcn.14003af84
jmp 0x14003bc2a
movsxd rax, dword [rsi + 0x3c]
mov ebx, 0x80
mov dword [r14 + 0xa0], r12d
mov r15, rax
cmp eax, 0x110
jb 0x14003bbb7
lea r9, [rbp - 0x19]
mov rdx, rsi
lea r8d, [rbx + 0x10]
mov ecx, ebx
call fcn.14003b738
test eax, eax
je 0x14003bf99
cmp dword [rsi], 0x82c8851f
jne 0x14003bbb7
mov dword [r14 + 0xa0], ebx
lea r9, [rbp - 0x19]
mov r8d, 0x14
mov rdx, rsi
lea rcx, [r15 + 4]
call fcn.14003b738
test eax, eax
je 0x14003bf99
add r15, 0x18
lea r9, [rbp - 0x19]
mov rcx, r15
lea rdx, [rbp + 0x67]
mov r8d, 2
call fcn.14003b738
test eax, eax
je 0x14003bf99
mov eax, 0x10b
mov edi, 1
cmp word [rbp + 0x67], ax
jne 0x14003bc6b
movzx eax, word [rsi + 0x10]
cmp ax, 0x78
jae 0x14003bc62
lea r9, [0x140063614]
xor edx, edx
xor ecx, ecx
mov r8d, edi
call fcn.14003af84
mov r15, r12
mov edi, r12d
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x14003bc38
call fcn.14003b3dc
test r15, r15
je 0x14003bc45
mov rcx, r15
call fcn.14003b3dc
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 0x14003bc8c
mov eax, 0x20b
cmp word [rbp + 0x67], ax
jne 0x14003bc11
movzx eax, word [rsi + 0x10]
mov ecx, 0x88
cmp ax, cx
jb 0x14003bc11
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.14003b738
xor ecx, ecx
test eax, eax
je 0x14003bf8f
lea eax, [r15 + 0x40]
mov dword [r14], eax
test ebx, ebx
je 0x14003bd04
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 0x14003bd46
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 0x14003bd8a
cmp byte [r14 + 0x9c], cl
jne 0x14003bd8a
mov eax, edi
cmp byte [r14 + 0x9d], cl
jne 0x14003bd8c
mov eax, ecx
mov dword [rbp - 0x29], eax
cmp dword [rbp + 0x7f], ecx
je 0x14003bd98
test ebx, ebx
jne 0x14003bda0
test eax, eax
je 0x14003bf87
mov eax, 0x333
mov word [rbp + 0x67], ax
cmp r12w, ax
jbe 0x14003bdb2
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.14003b398
mov qword [rbp - 0x31], rax
test rax, rax
jne 0x14003be0a
lea r9, [0x140063614]
xor edx, edx
lea r8, [0x140063614]
xor ecx, ecx
call fcn.14003b02c
mov r15, qword [rbp - 0x31]
mov edi, dword [rbp - 0x39]
jmp 0x14003bc2a
lea r9, [rbp - 0x19]
mov r8d, r12d
mov rdx, rax
mov rcx, r15
call fcn.14003b738
mov r15, qword [rbp - 0x31]
test eax, eax
je 0x14003be02
add dword [r14 + 0xb0], r12d
xor r12d, r12d
cmp dword [rbp - 0x29], r12d
je 0x14003be6e
mov rax, r15
movzx ecx, r12w
cmp r12w, r13w
jae 0x14003be6e
mov dl, byte [0x140058f44]
mov r8d, dword [str.INIT]
cmp dword [rax], r8d
jne 0x14003be58
cmp byte [rax + 4], dl
je 0x14003be67
add rax, 0x28
add cx, di
cmp cx, r13w
jae 0x14003be6e
jmp 0x14003be4e
mov byte [r14 + 0x9e], dil
mov edx, dword [rbp - 0x1d]
movzx r9d, r13w
mov r8, r15
mov ecx, ebx
call fcn.14003ccec
mov ebx, eax
test eax, eax
je 0x14003bc2a
lea rax, [rbp - 0x19]
mov r9d, 0x8000
mov r8, rsi
mov qword [rsp + 0x20], rax
mov edx, 0xa
mov ecx, ebx
call fcn.14003b914
test rax, rax
je 0x14003bc2a
mov ecx, dword [rax + 4]
test ecx, ecx
jns 0x14003bc2a
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.14003b914
test rax, rax
je 0x14003bc2a
mov ecx, dword [rax + 4]
test ecx, ecx
jns 0x14003bc2a
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.14003b914
test rax, rax
je 0x14003bc2a
mov eax, dword [rax + 4]
test eax, eax
js 0x14003bc2a
lea ecx, [rbx + rax]
mov r8d, 0x10
lea r9, [rbp - 0x19]
mov rdx, rsi
call fcn.14003b738
test eax, eax
je 0x14003bc27
cmp dword [rsi + 4], 0x80
jne 0x14003bc2a
mov ecx, dword [rsi]
movzx r9d, r13w
mov r8, r15
mov edx, 0x80
call fcn.14003ccec
lea rdx, [r14 + 0x1c]
mov ecx, eax
lea r9, [rbp - 0x19]
mov r8d, 0x80
call fcn.14003b738
test eax, eax
je 0x14003bc27
mov dword [r14 + 0x18], ebx
jmp 0x14003bc2a
mov r15, rcx
jmp 0x14003bc2a
mov r15, rcx
mov edi, ecx
jmp 0x14003bc2a
mov r15, rdi
jmp 0x14003bc2a