Function at 0x140041ed0
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x70
cmp dword [0x1401a5d28], 0
mov rbx, rcx
mov qword [rsp + 0x88], rbp
mov rbp, rdx
mov qword [rsp + 0x58], r14
movzx r14d, r8b
mov qword [rsp + 0x50], r15
je 0x140041f08
lea rcx, [0x1401a5d00]
call qword [fcn.140120488]
xor r15d, r15d
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x68], rdi
cmp qword [rbx + 0x78], r15
je 0x140041fb1
mov edx, dword [rbx + 0x80]
mov rcx, rbx
call fcn.140041e40
test al, al
jne 0x140041f42
mov dword [rbx + 0x70], 8
xor bl, bl
jmp 0x140042527
mov r8d, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x78]
mov rcx, qword [rbx + 8]
call fcn.1400a0210
mov eax, dword [rbx + 0x80]
mov dword [rbx + 0x44], eax
mov rcx, qword [rbx + 8]
mov esi, 0x5a4d
mov word [rbx + 0x3d], r15w
mov qword [rsp + 0x60], r12
mov r12d, 0x20b
cmp word [rcx], si
jne 0x14004210d
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x14004210d
cmp word [rax + 0x18], r12w
jne 0x1400420aa
mov edx, dword [rax + 0xa8]
mov r8d, dword [rax + 0xac]
jmp 0x1400420b7
test rbp, rbp
jne 0x140041fc4
mov dword [rbx + 0x70], 1
xor bl, bl
jmp 0x140042527
cmp byte [rbp], r15b
jne 0x140041fd8
mov dword [rbx + 0x70], 2
xor bl, bl
jmp 0x140042527
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov rcx, rbp
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [fcn.1401204d0]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140042019
mov dword [rbx + 0x70], 3
xor bl, bl
jmp 0x140042527
xor edx, edx
mov rcx, rdi
call qword [0x1401204c8]
mov dword [rbx + 0x44], eax
cmp eax, 0xffffffff
jne 0x140042043
mov rcx, rdi
call qword [fcn.140120590]
mov dword [rbx + 0x70], 0x21
xor bl, bl
jmp 0x140042527
mov edx, eax
mov rcx, rbx
call fcn.140041e40
mov rcx, rdi
test al, al
jne 0x140042068
call qword [fcn.140120590]
mov dword [rbx + 0x70], 4
xor bl, bl
jmp 0x140042527
mov r8d, dword [rbx + 0x44]
lea r9, [rsp + 0x80]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x20], r15
call fcn.1405b3dbf
nop
mov rcx, rdi
call qword [fcn.140120590]
mov eax, dword [rbx + 0x44]
cmp dword [rsp + 0x80], eax
je 0x140041f5f
mov dword [rbx + 0x70], 5
xor bl, bl
jmp 0x140042527
mov edx, dword [rax + 0x98]
mov r8d, dword [rax + 0x9c]
cmp dword [rax + 0x58], r15d
setne al
mov byte [rbx + 0x3e], al
test edx, edx
je 0x14004210d
test r8d, r8d
je 0x14004210d
sub dword [rbx + 0x44], r8d
mov edi, edx
mov edx, 8
add rdi, rcx
mov byte [rbx + 0x3d], 1
mov rcx, rdi
call qword [0x140120240]
test eax, eax
jne 0x14004210d
nop dword [rax]
dec rdi
cmp byte [rdi], r15b
jne 0x14004210d
dec dword [rbx + 0x44]
mov edx, 8
mov rcx, rdi
call qword [0x140120240]
test eax, eax
je 0x1400420f0
mov r8d, dword [rbx + 0x44]
mov rdx, qword [rbx + 8]
movups xmm0, xmmword [r8 + rdx - 0x10]
lea r9, [r8 + rdx]
movups xmmword [rbx + 0x48], xmm0
cmp dword [rbx + 0x48], 0x32812622
jne 0x140042255
cmp dword [rbx + 0x54], 0x32812621
jne 0x140042255
mov byte [rbx + 0x3c], 1
mov ecx, dword [rbx + 0x50]
mov r11d, dword [rbx + 0x4c]
add ecx, 0x10
add r11d, ecx
xor ecx, ecx
sub r8d, r11d
mov dword [rbx + 0x40], r11d
mov dword [rbx + 0x10], r8d
mov r10d, ecx
mov eax, dword [rbx + 0x4c]
mov dword [rbx + 0x58], eax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
cmp r8d, 0x10
jbe 0x140042193
mov eax, r11d
sub r9, rax
movups xmm0, xmmword [r9 - 0x10]
movups xmmword [rsp + 0x40], xmm0
mov r10, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movups xmm1, xmm0
jmp 0x140042198
movups xmm1, xmmword [rsp + 0x40]
cmp ecx, 0x32812624
jne 0x1400421d1
mov rax, r10
shr rax, 0x20
cmp eax, 0x32812623
jne 0x1400421d1
shr rcx, 0x20
lea eax, [r10 + 0x10]
add eax, ecx
mov dword [rbx + 0x44], r8d
sub r8d, eax
mov byte [rbx + 0x3c], 1
mov dword [rbx + 0x10], r8d
movups xmmword [rbx + 0x48], xmm1
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x58], ecx
cmp byte [rbx + 0x3d], r15b
jne 0x1400421e1
cmp byte [rbx + 0x3e], r15b
je 0x140042270
cmp word [rdx], si
jne 0x140042270
movsxd rdi, dword [rdx + 0x3c]
mov rsi, r15
add rdi, rdx
cmp word [rdi + 0x18], r12w
jne 0x14004220f
cmp dword [rdi], 0x4550
mov rsi, rdi
jne 0x14004221e
mov qword [rdi + 0xa8], r15
jmp 0x14004221e
cmp dword [rdi], 0x4550
jne 0x14004221e
mov qword [rdi + 0x98], r15
mov edx, dword [rbx + 0x10]
lea r9, [rsp + 0x80]
mov rcx, qword [rbx + 8]
lea r8, [rsp + 0x98]
call fcn.140043560
test rax, rax
je 0x140042270
mov eax, dword [rsp + 0x80]
test rsi, rsi
je 0x140042250
mov dword [rsi + 0x58], eax
jmp 0x140042270
mov dword [rdi + 0x58], eax
jmp 0x140042270
xor eax, eax
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov byte [rbx + 0x3c], al
mov eax, dword [rbx + 0x44]
mov dword [rbx + 0x10], eax
mov dword [rbx + 0x40], r15d
mov dword [rbx + 0x58], r15d
mov eax, dword [rbx + 0x40]
mov r12, qword [rsp + 0x60]
cmp dword [rbx + 0x44], eax
jae 0x14004228d
mov byte [rbx + 0x3c], r15b
mov qword [rbx + 0x40], r15
mov dword [rbx + 0x10], r15d
mov dword [rbx + 0x58], r15d
cmp byte [rbx + 0x3c], r15b
jne 0x1400422a1
mov dword [rbx + 0x70], 6
xor bl, bl
jmp 0x140042527
mov rcx, qword [rbx + 0x30]
mov eax, dword [rbx + 0x50]
mov dword [rbx + 0x38], eax
test rcx, rcx
je 0x1400422b9
call fcn.1400e0334
mov qword [rbx + 0x30], r15
mov ecx, dword [rbx + 0x38]
call fcn.1400e0348
mov qword [rbx + 0x30], rax
mov rcx, rax
test rax, rax
jne 0x1400422db
mov dword [rbx + 0x70], 7
xor bl, bl
jmp 0x140042527
mov edx, dword [rbx + 0x58]
mov eax, dword [rbx + 0x10]
mov r8d, dword [rbx + 0x38]
add rdx, rax
add rdx, qword [rbx + 8]
call fcn.1400a0210
cmp qword [rbx], r15
jne 0x140042328
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x1401287d8]
xor edx, edx
mov rcx, rbx
call fcn.1405b6f21
nop
test eax, eax
jne 0x140042328
mov dword [rbx + 0x70], 8
xor bl, bl
jmp 0x140042527
mov rcx, qword [rbx + 0x28]
lea rsi, [rbx + 0x28]
test rcx, rcx
je 0x14004233e
call fcn.1405b86a8
nop
mov qword [rsi], r15
mov r8d, dword [0x140197d08]
lea rdx, [0x140197d10]
mov rcx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r15d
call fcn.1405b440d
nop
test eax, eax
jne 0x1400423d7
call qword [fcn.140120588]
cmp eax, 0x57
jne 0x1400423c9
lea r9d, [rax - 0x56]
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x1401287d8]
xor edx, edx
mov rcx, rbx
call fcn.1405b6f21
nop
test eax, eax
jne 0x1400423a1
mov dword [rbx + 0x70], 0x62
xor bl, bl
jmp 0x140042527
mov r8d, dword [0x140197d08]
lea rdx, [0x140197d10]
mov rcx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r15d
call fcn.1405b440d
nop
test eax, eax
jne 0x1400423d7
mov dword [rbx + 0x70], 9
xor bl, bl
jmp 0x140042527
mov rcx, qword [rbx + 0x20]
lea rdi, [rbx + 0x20]
test rcx, rcx
je 0x1400423ed
call fcn.1405b4f87
nop
mov qword [rdi], r15
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov edx, 0x8003
call fcn.1405add7e
nop
test eax, eax
jne 0x140042418
mov dword [rbx + 0x70], 0xa
xor bl, bl
jmp 0x140042527
mov r8d, dword [rbx + 0x58]
xor r9d, r9d
add r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi]
call fcn.1405b6c7e
nop
test eax, eax
jne 0x140042442
mov dword [rbx + 0x70], 0xb
xor bl, bl
jmp 0x140042527
mov r9, qword [rsi]
mov r8d, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdi]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call fcn.1405b4946
nop
test eax, eax
jne 0x1400424cc
call qword [fcn.140120588]
cmp eax, 0x57
jne 0x1400424c1
lea r9d, [rax - 0x56]
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x1401287d8]
xor edx, edx
mov rcx, rbx
call fcn.1405b6f21
nop
test eax, eax
jne 0x14004249f
mov dword [rbx + 0x70], 0x80
xor bl, bl
jmp 0x140042527
mov r9, qword [rsi]
mov r8d, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rdi]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call fcn.1405b4946
nop
test eax, eax
jne 0x1400424cc
mov dword [rbx + 0x70], 0xc
xor bl, bl
jmp 0x140042527
test r14b, r14b
je 0x14004250d
mov edx, 0x5c
mov rcx, rbp
call fcn.1400a0790
test rax, rax
je 0x1400424e8
inc rax
jmp 0x1400424eb
mov rax, rbp
mov edx, dword [rbx + 0x10]
mov rcx, rax
add rdx, qword [rbx + 8]
mov r8d, dword [rbx + 0x58]
call fcn.1400af1dc
test eax, eax
je 0x14004250d
mov dword [rbx + 0x70], 0xd
xor bl, bl
jmp 0x140042527
cmp byte [rbx + 0x18], r15b
jne 0x140042525
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140042525
call fcn.1400e0334
mov qword [rbx + 8], r15
mov bl, 1
cmp dword [0x1401a5d28], 0
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
je 0x14004255c
lea rcx, [0x1401a5d00]
call qword [fcn.140120480]
movzx eax, bl
add rsp, 0x70
pop rbx
ret