Function at 0x140047600
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x70
cmp dword [0x140163308], 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 0x140047638
lea rcx, [0x1401632e0]
call qword [fcn.14010b150]
xor r15d, r15d
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x68], rdi
cmp qword [rbx + 0x78], r15
je 0x1400476e1
mov edx, dword [rbx + 0x80]
mov rcx, rbx
call fcn.140047570
test al, al
jne 0x140047672
mov dword [rbx + 0x70], 8
xor bl, bl
jmp 0x140047c57
mov r8d, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x78]
mov rcx, qword [rbx + 8]
call fcn.140092940
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 0x14004783d
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x14004783d
cmp word [rax + 0x18], r12w
jne 0x1400477da
mov edx, dword [rax + 0xa8]
mov r8d, dword [rax + 0xac]
jmp 0x1400477e7
test rbp, rbp
jne 0x1400476f4
mov dword [rbx + 0x70], 1
xor bl, bl
jmp 0x140047c57
cmp byte [rbp], r15b
jne 0x140047708
mov dword [rbx + 0x70], 2
xor bl, bl
jmp 0x140047c57
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.14010b450]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140047749
mov dword [rbx + 0x70], 3
xor bl, bl
jmp 0x140047c57
xor edx, edx
mov rcx, rdi
call qword [0x14010b448]
mov dword [rbx + 0x44], eax
cmp eax, 0xffffffff
jne 0x140047773
mov rcx, rdi
call qword [fcn.14010b500]
mov dword [rbx + 0x70], 0x21
xor bl, bl
jmp 0x140047c57
mov edx, eax
mov rcx, rbx
call fcn.140047570
mov rcx, rdi
test al, al
jne 0x140047798
call qword [fcn.14010b500]
mov dword [rbx + 0x70], 4
xor bl, bl
jmp 0x140047c57
mov r8d, dword [rbx + 0x44]
lea r9, [rsp + 0x80]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x20], r15
call fcn.14058a4fb
nop
mov rcx, rdi
call qword [fcn.14010b500]
mov eax, dword [rbx + 0x44]
cmp dword [rsp + 0x80], eax
je 0x14004768f
mov dword [rbx + 0x70], 5
xor bl, bl
jmp 0x140047c57
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 0x14004783d
test r8d, r8d
je 0x14004783d
sub dword [rbx + 0x44], r8d
mov edi, edx
mov edx, 8
add rdi, rcx
mov byte [rbx + 0x3d], 1
mov rcx, rdi
call fcn.14058f3b2
nop
test eax, eax
jne 0x14004783d
nop dword [rax]
dec rdi
cmp byte [rdi], r15b
jne 0x14004783d
dec dword [rbx + 0x44]
mov edx, 8
mov rcx, rdi
call fcn.14058f3b2
nop
test eax, eax
je 0x140047820
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 0x140047985
cmp dword [rbx + 0x54], 0x32812621
jne 0x140047985
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 0x1400478c3
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 0x1400478c8
movups xmm1, xmmword [rsp + 0x40]
cmp ecx, 0x32812624
jne 0x140047901
mov rax, r10
shr rax, 0x20
cmp eax, 0x32812623
jne 0x140047901
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 0x140047911
cmp byte [rbx + 0x3e], r15b
je 0x1400479a0
cmp word [rdx], si
jne 0x1400479a0
movsxd rdi, dword [rdx + 0x3c]
mov rsi, r15
add rdi, rdx
cmp word [rdi + 0x18], r12w
jne 0x14004793f
cmp dword [rdi], 0x4550
mov rsi, rdi
jne 0x14004794e
mov qword [rdi + 0xa8], r15
jmp 0x14004794e
cmp dword [rdi], 0x4550
jne 0x14004794e
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.140048c90
test rax, rax
je 0x1400479a0
mov eax, dword [rsp + 0x80]
test rsi, rsi
je 0x140047980
mov dword [rsi + 0x58], eax
jmp 0x1400479a0
mov dword [rdi + 0x58], eax
jmp 0x1400479a0
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 0x1400479bd
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 0x1400479d1
mov dword [rbx + 0x70], 6
xor bl, bl
jmp 0x140047c57
mov rcx, qword [rbx + 0x30]
mov eax, dword [rbx + 0x50]
mov dword [rbx + 0x38], eax
test rcx, rcx
je 0x1400479e9
call fcn.14009f9ec
mov qword [rbx + 0x30], r15
mov ecx, dword [rbx + 0x38]
call fcn.1400d3c34
mov qword [rbx + 0x30], rax
mov rcx, rax
test rax, rax
jne 0x140047a0b
mov dword [rbx + 0x70], 7
xor bl, bl
jmp 0x140047c57
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.140092940
cmp qword [rbx], r15
jne 0x140047a58
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x140113ce8]
xor edx, edx
mov rcx, rbx
call fcn.14058f146
nop
test eax, eax
jne 0x140047a58
mov dword [rbx + 0x70], 8
xor bl, bl
jmp 0x140047c57
mov rcx, qword [rbx + 0x28]
lea rsi, [rbx + 0x28]
test rcx, rcx
je 0x140047a6e
call fcn.140596227
nop
mov qword [rsi], r15
mov r8d, dword [0x140156728]
lea rdx, [0x140156730]
mov rcx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r15d
call fcn.14058ff37
nop
test eax, eax
jne 0x140047b07
call qword [fcn.14010b5e0]
cmp eax, 0x57
jne 0x140047af9
lea r9d, [rax - 0x56]
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x140113ce8]
xor edx, edx
mov rcx, rbx
call fcn.14058f146
nop
test eax, eax
jne 0x140047ad1
mov dword [rbx + 0x70], 0x62
xor bl, bl
jmp 0x140047c57
mov r8d, dword [0x140156728]
lea rdx, [0x140156730]
mov rcx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r15d
call fcn.14058ff37
nop
test eax, eax
jne 0x140047b07
mov dword [rbx + 0x70], 9
xor bl, bl
jmp 0x140047c57
mov rcx, qword [rbx + 0x20]
lea rdi, [rbx + 0x20]
test rcx, rcx
je 0x140047b1d
call fcn.14058ee43
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.1405935a6
nop
test eax, eax
jne 0x140047b48
mov dword [rbx + 0x70], 0xa
xor bl, bl
jmp 0x140047c57
mov r8d, dword [rbx + 0x58]
xor r9d, r9d
add r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi]
call fcn.14058cecc
nop
test eax, eax
jne 0x140047b72
mov dword [rbx + 0x70], 0xb
xor bl, bl
jmp 0x140047c57
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.14058f744
nop
test eax, eax
jne 0x140047bfc
call qword [fcn.14010b5e0]
cmp eax, 0x57
jne 0x140047bf1
lea r9d, [rax - 0x56]
mov dword [rsp + 0x20], 0xf0000000
lea r8, [0x140113ce8]
xor edx, edx
mov rcx, rbx
call fcn.14058f146
nop
test eax, eax
jne 0x140047bcf
mov dword [rbx + 0x70], 0x80
xor bl, bl
jmp 0x140047c57
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.14058f744
nop
test eax, eax
jne 0x140047bfc
mov dword [rbx + 0x70], 0xc
xor bl, bl
jmp 0x140047c57
test r14b, r14b
je 0x140047c3d
mov edx, 0x5c
mov rcx, rbp
call fcn.140092fbc
test rax, rax
je 0x140047c18
inc rax
jmp 0x140047c1b
mov rax, rbp
mov edx, dword [rbx + 0x10]
mov rcx, rax
add rdx, qword [rbx + 8]
mov r8d, dword [rbx + 0x58]
call fcn.1400baa8c
test eax, eax
je 0x140047c3d
mov dword [rbx + 0x70], 0xd
xor bl, bl
jmp 0x140047c57
cmp byte [rbx + 0x18], r15b
jne 0x140047c55
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047c55
call fcn.14009f9ec
mov qword [rbx + 8], r15
mov bl, 1
cmp dword [0x140163308], 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 0x140047c8c
lea rcx, [0x1401632e0]
call qword [fcn.14010b158]
movzx eax, bl
add rsp, 0x70
pop rbx
ret