Function at 0x14003bb70
Capabilities:
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov rax, qword [0x140075088]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rsi, r9
mov r13, r8
mov r15, rdx
mov r12, rcx
mov r14, qword [rbp + 0xb0]
xor bl, bl
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], 0xffffffff
lea rcx, [rsp + 0x60]
call fcn.14003df20
xor dil, dil
cmp byte [rbp + 0xc8], bl
je 0x14003bd15
mov qword [rbp + 0x28], 0xf
mov qword [rbp + 0x20], 0
mov byte [rbp + 0x10], dil
movzx r9d, byte [rbp + 0xc0]
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x70]
mov ecx, eax
call fcn.14003c0a0
test al, al
je 0x14003bc79
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14003bc79
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
call fcn.14000f530
test eax, eax
je 0x14003bc55
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x80]
call fcn.140005ba0
test eax, eax
je 0x14003bc49
mov dil, 1
jmp 0x14003bcb3
mov word [rbp + 0x30], 0x3231
mov byte [rbp + 0x32], 0
jmp 0x14003bc5f
mov word [rbp + 0x31], 0x31
mov byte [rbp + 0x30], 0x31
lea rcx, [rbp + 0x30]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140013d30
jmp 0x14003bcb3
mov word [rbp + 0x31], 0x5f30
mov byte [rbp + 0x33], 0
mov byte [rbp + 0x30], 0x31
lea rcx, [rbp + 0x30]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140013d30
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.140014040
nop
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x14003bd09
inc rax
mov rcx, qword [rbp + 0x10]
cmp rax, 0x1000
jb 0x14003bd04
test cl, 0x1f
je 0x14003bcd7
call fcn.14001b928
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14003bce6
call fcn.14001b928
int3
sub rcx, rax
cmp rcx, 8
jae 0x14003bcf5
call fcn.14001b928
int3
cmp rcx, 0x27
jbe 0x14003bd01
call fcn.14001b928
int3
mov rcx, rax
call fcn.140017584
test dil, dil
jne 0x14003bd15
xor al, al
jmp 0x14003c06d
mov eax, 0x5a4d
cmp word [r12], ax
jne 0x14003c015
movsxd rbx, dword [r12 + 0x3c]
add rbx, r12
cmp dword [rbx], 0x4550
jne 0x14003bfef
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.140005060
movzx ecx, word [rbx + 4]
mov edx, 0x14c
mov eax, dword [rsp + 0x78]
cmp cx, dx
jne 0x14003bd5c
test eax, eax
jne 0x14003bd0e
mov edx, 0x8664
cmp cx, dx
jne 0x14003bd6b
cmp eax, 6
jne 0x14003bd0e
lea rdi, [rbp + 0x10]
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
lea rdi, [rbp - 0x60]
mov ecx, 0x68
rep stosb byte [rdi], al
mov dword [rbp - 0x60], 0x68
mov dword [rbp - 0x24], 0x101
xor edi, edi
mov word [rbp - 0x20], di
cmp byte [rbp + 0xc8], al
lea rax, [rbp + 0x10]
je 0x14003bdcc
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x38], rax
mov r8, r13
mov rdx, r15
mov rcx, qword [rsp + 0x68]
call fcn.1400508e0
jmp 0x14003bde5
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rdx, r13
mov rcx, r15
call fcn.14000f6b0
test eax, eax
je 0x14003bfe3
mov edx, 0xc
call fcn.140046c90
mov r15, rax
mov dword [rax + 0x30], 0x100002
mov rdx, rax
mov rcx, qword [rbp + 0x18]
call fcn.14000f860
test eax, eax
je 0x14003bfb6
mov rdx, qword [r15 + 0x88]
add rdx, 0x10
lea r8, [rbp - 0x78]
mov rcx, qword [rbp + 0x10]
call fcn.140050ab0
mov dword [rsp + 0x60], 0x5f3777
lea rcx, [rsp + 0x60]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140013d30
mov eax, dword [rbp - 0x78]
mov word [rbp + 0x30], 0x6d69
lea rcx, [rbp + 0x30]
cmp rax, qword [rbx + 0x30]
jne 0x14003be74
mov word [rbp + 0x32], 0x6f67
mov word [rbp + 0x35], 0x5f
mov byte [rbp + 0x34], 0x6f
jmp 0x14003be7f
mov dword [rbp + 0x33], 0x5f6666
mov byte [rbp + 0x32], 0x67
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140013d30
mov rdx, qword [rbp - 0x78]
mov eax, edx
cmp rax, qword [rbx + 0x30]
jne 0x14003bedb
mov rcx, qword [rbp + 0x10]
call fcn.140040ce0
lea rcx, [rbp + 0x30]
test eax, eax
jne 0x14003beb9
mov dword [rbp + 0x30], 0x637573
jmp 0x14003bec7
mov word [rbp + 0x31], 0x6666
mov byte [rbp + 0x33], dil
mov byte [rbp + 0x30], 0x66
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140013d30
mov eax, 4
mov ecx, 0x40
cmp byte [rbp + 0xb8], dil
cmovne eax, ecx
mov r8d, dword [rbx + 0x50]
mov dword [rsp + 0x20], eax
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbp + 0x10]
call fcn.14000f9c0
mov r14, rax
test rax, rax
je 0x14003bfae
mov r9d, dword [rbx + 0x54]
mov r8, r12
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.140040a10
movzx eax, word [rbx + 0x14]
mov esi, edi
cmp di, word [rbx + 6]
jae 0x14003bf67
lea rdi, [rbx + 0x2c]
add rdi, rax
nop word [rax + rax]
mov r9d, dword [rdi - 4]
mov r8d, dword [rdi]
add r8, r12
mov edx, dword [rdi - 8]
add rdx, r14
mov rcx, qword [rbp + 0x10]
call fcn.140040a10
lea rdi, [rdi + 0x28]
inc esi
movzx eax, word [rbx + 6]
cmp esi, eax
jl 0x14003bf40
mov rdx, qword [r15 + 0x88]
add rdx, 0x10
mov r9d, 8
lea r8, [rbx + 0x30]
mov rcx, qword [rbp + 0x10]
call fcn.140040a10
mov eax, dword [rbx + 0x28]
add rax, r14
mov qword [r15 + 0x80], rax
mov rdx, r15
mov rcx, qword [rbp + 0x18]
call fcn.140005d00
mov rcx, qword [rbp + 0x18]
call fcn.140040b80
mov bl, 1
jmp 0x14003c037
mov word [rbp + 0x30], 0x3831
jmp 0x14003bfbc
mov word [rbp + 0x30], 0x3731
mov byte [rbp + 0x32], dil
lea rcx, [rbp + 0x30]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140013d30
mov rcx, qword [rbp + 0x10]
call fcn.14000fb40
jmp 0x14003c011
mov word [rbp + 0x31], 0x36
mov byte [rbp + 0x30], 0x31
jmp 0x14003bff9
mov word [rbp + 0x30], 0x3531
mov byte [rbp + 0x32], 0
lea rcx, [rbp + 0x30]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140013d30
xor bl, bl
jmp 0x14003c037
mov word [rbp + 0x30], 0x3431
mov byte [rbp + 0x32], 0
lea rcx, [rbp + 0x30]
call fcn.14001b9b0
mov r8, rax
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140013d30
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14003c045
call fcn.140050c20
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003c05b
call fcn.14003fd00
xor eax, eax
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14003c06a
call fcn.14003fd00
movzx eax, bl
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.140017560
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret