Function at 0x140073210
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x14016f0a8]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov r12, r9
mov r15, r8
mov qword [rsp + 0x40], r8
mov r14, rdx
mov r13, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
mov rax, qword [rbp + 0x3f0]
mov qword [rsp + 0x38], rax
xor edi, edi
mov qword [rbp + 0x10], rdi
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], di
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], dil
mov dword [rbp + 0x58], edi
mov rsi, qword [r8]
test rsi, rsi
jne 0x1400732b2
mov dword [rdx], 0xc00000ef
mov byte [rdx + 0x58], sil
jmp 0x1400735a3
movups xmmword [rbp + 0x60], xmm0
lea rax, [fcn.1400aaa18]
mov qword [rbp + 0x60], rax
mov rbx, rdi
mov qword [rbp + 0x68], rbx
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x170]
call fcn.1400a6d20
mov rax, qword [r13 + 8]
mov qword [rbp + 0xf0], rdi
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf0]
mov qword [rsp + 0x20], rdx
mov r9d, 0x40
lea r8, [rbp + 0x130]
mov rdx, rsi
call qword [rax + 0x18]
mov eax, 0x5a4d
cmp word [rbp + 0x130], ax
je 0x14007334c
mov dword [r14], 0xc000012f
mov byte [r14 + 0x58], 0
jmp 0x1400735a3
mov rax, qword [r13 + 8]
movsxd rdx, dword [rbp + 0x16c]
add rdx, qword [r15]
mov qword [rbp + 0xf8], rdi
je 0x14007338a
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0xf8]
mov qword [rsp + 0x20], r8
mov r9d, 0x108
lea r8, [rbp + 0x170]
call qword [rax + 0x18]
cmp dword [rbp + 0x170], 0x4550
je 0x1400733a7
mov dword [r14], 0xc000007b
mov byte [r14 + 0x58], 0
jmp 0x1400735a3
mov esi, dword [rbp + 0x1f8]
mov ecx, 0x10b
mov rax, qword [rbp + 0x188]
cmp ax, cx
cmove esi, dword [rbp + 0x1e8]
mov r15d, esi
test esi, esi
je 0x140073589
mov r13d, dword [rbp + 0x1fc]
cmp ax, cx
cmove r13d, dword [rbp + 0x1ec]
mov ecx, r13d
call fcn.1400ba1c4
mov rbx, rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov qword [rbp + 0x100], rdi
add rdx, r15
jne 0x14007341a
mov eax, 0xc0000141
jmp 0x14007343e
mov rax, qword [rcx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0x100]
mov qword [rsp + 0x20], r8
mov r9d, r13d
mov r8, rbx
call qword [rax + 0x18]
test eax, eax
jns 0x14007344b
mov dword [r14], eax
mov byte [r14 + 0x58], 0
jmp 0x140073595
mov r10, rbx
cmp r13d, 0x28
ja 0x1400734ef
mov ecx, dword [rbx + 0x14]
cmp ecx, dword [rbx + 0x18]
cmovbe ecx, dword [rbx + 0x18]
imul r13d, ecx, 0xff
add r13d, dword [rbx + 0x24]
sub r13d, esi
mov esi, r13d
mov ecx, r13d
call fcn.1400ba1c4
mov rbx, rax
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0xc0]
test rax, rax
je 0x140073497
mov rcx, rax
call fcn.1400aaa18
nop
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 8]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov qword [rbp + 0xc0], rdi
add rdx, r15
jne 0x1400734bb
mov eax, 0xc0000141
jmp 0x1400734e2
mov rax, qword [rcx + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea r8, [rbp + 0xc0]
mov qword [rsp + 0x20], r8
mov r9, rsi
mov r8, rbx
call qword [rax + 0x18]
mov r10, rbx
test eax, eax
jns 0x1400734ef
mov dword [r14], eax
mov byte [r14 + 0x58], 0
jmp 0x140073595
mov esi, dword [r10 + 0x24]
sub rsi, r15
add rsi, r10
mov ecx, dword [r10 + 0x20]
sub rcx, r15
add rcx, r10
mov qword [rbp + 0x90], rcx
mov eax, dword [r10 + 0x1c]
sub rax, r15
add rax, r10
mov qword [rbp + 0xc8], rax
mov r8d, edi
cmp dword [r10 + 0x14], edi
jbe 0x140073589
cmp r12, 0xffff
ja 0x140073541
movzx r11d, r8w
movzx ecx, r8w
add ecx, dword [r10 + 0x10]
movzx eax, r12w
cmp eax, ecx
jmp 0x140073577
cmp r8d, dword [r10 + 0x18]
jae 0x140073c90
mov eax, r8d
mov ecx, dword [rcx + rax*4]
sub rcx, r15
add rcx, r10
movzx r11d, word [rsi + rax*2]
mov r9, r12
sub r9, rcx
movzx edx, byte [rcx]
movzx eax, byte [rcx + r9]
sub edx, eax
jne 0x140073575
inc rcx
test eax, eax
jne 0x140073562
test edx, edx
je 0x1400735e2
inc r8d
cmp r8d, dword [r10 + 0x14]
mov rcx, qword [rbp + 0x90]
jb 0x140073524
mov dword [r14], 0xc0000225
mov byte [r14 + 0x58], 0
test rbx, rbx
je 0x1400735a3
mov rcx, rbx
call fcn.1400aaa18
nop
lea rcx, [rbp + 0x38]
call fcn.140002590
lea rcx, [rbp + 0x18]
call fcn.14006fd30
mov rax, r14
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.1400a40e0
mov rbx, qword [rsp + 0x4e8]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
movzx eax, r11w
mov rcx, qword [rbp + 0xc8]
mov esi, dword [rcx + rax*4]
add rsi, rdx
mov qword [rbp + 0x10], rsi
lea rax, [r15 + rdx]
cmp rsi, rax
jb 0x140073c31
mov eax, r13d
add rax, r15
add rax, rdx
cmp rsi, rax
ja 0x140073c31
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp + 0x280]
call fcn.1400a6d20
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 8]
mov qword [rbp + 0xc8], rdi
test rsi, rsi
je 0x140073671
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0xc8]
mov qword [rsp + 0x20], rdx
mov r9d, 0xff
lea r8, [rbp + 0x280]
mov rdx, rsi
call qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x88], rdi
lea rax, [rbp + 0x280]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400736a0
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x70]
call fcn.140002680
nop
lea r15, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae r15, qword [rbp + 0x70]
mov r13, qword [rbp + 0x80]
cmp r13, 1
jb 0x140073723
lea r12, [r15 + r13]
mov r8, r13
mov edx, 0x2e
mov rcx, r15
call fcn.1400a70c0
test rax, rax
je 0x140073723
cmp byte [rax], 0x2e
jne 0x1400736fb
mov ecx, edi
jmp 0x140073700
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400737fd
inc rax
mov r8, r12
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.1400a70c0
test rax, rax
jne 0x1400736f2
mov rax, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
cmp r13, rax
cmovb rax, r13
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rdx, qword [rbp + 0x70]
mov r8, rax
lea rcx, [rsp + 0x50]
call fcn.140002680
nop
mov r8d, 4
lea rdx, str..dll
lea rcx, [rsp + 0x50]
call fcn.1400025f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x118], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x50]
call fcn.140002590
lea r13, [rbp + 0x70]
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
cmp r9, 0x10
cmovae r13, rdx
mov r12, qword [rbp + 0x80]
cmp r12, 1
jb 0x140073838
lea r15, [r12 + r13]
mov r8, r12
mov edx, 0x2e
mov rcx, r13
call fcn.1400a70c0
test rax, rax
je 0x14007382d
cmp byte [rax], 0x2e
jne 0x140073805
mov ecx, edi
jmp 0x14007380a
sub rax, r15
jmp 0x140073726
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14007390f
inc rax
mov r8, r15
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.1400a70c0
test rax, rax
jne 0x1400737f4
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
mov rax, rsi
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], rdi
cmp r12, rcx
jb 0x140073ca1
sub r12, rcx
mov r8, rsi
cmp r12, rsi
cmovb r8, r12
lea rax, [rbp + 0x70]
cmp r9, 0x10
cmovae rax, rdx
lea rdx, [rax + rcx]
lea rcx, [rbp + 0xa0]
call fcn.140002680
nop
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0xd0]
call fcn.1400722d0
nop
mov byte [rbp + 0x5a], 1
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 8
cmovae rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
lea rcx, [rbp + 0x18]
call fcn.14006fda0
lea r12, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae r12, qword [rbp + 0xa0]
mov r13, qword [rbp + 0xb0]
cmp r13, 1
jb 0x14007394a
lea r15, [r12 + r13]
mov r8, r13
mov edx, 0x23
mov rcx, r12
call fcn.1400a70c0
test rax, rax
je 0x14007394a
cmp byte [rax], 0x23
jne 0x140073922
mov ecx, edi
jmp 0x140073927
sub rax, r13
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x88]
jmp 0x14007383b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140073a9e
inc rax
mov r8, r15
sub r8, rax
mov edx, 0x23
mov rcx, rax
call fcn.1400a70c0
test rax, rax
jne 0x140073906
mov byte [rbp + 0x5b], 0
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8, r13
lea rcx, [rbp + 0x38]
call fcn.14000e8b0
movzx r15d, byte [rbp + 0x5b]
movzx r12d, word [rbp + 0x58]
mov eax, 0x10b
cmp word [rbp + 0x188], ax
setne dil
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x90]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140072cc0
nop
cmp qword [rbp + 0x90], 0
jne 0x140073add
lea rax, [rbp - 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x40], rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x38]
call fcn.14006fbd0
nop
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x18]
call fcn.140002470
movzx eax, word [rbp + 0x58]
mov word [rbp + 8], ax
movzx eax, byte [rbp + 0x5a]
mov byte [rbp + 0xa], al
movzx eax, byte [rbp + 0x5b]
mov byte [rbp + 0xb], al
mov r8d, 0x107
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.1400756b0
nop
mov rdi, qword [rbp + 0x98]
test rdi, rdi
je 0x140073a5c
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140073a58
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140073a58
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.14006fd30
nop
lea rcx, [rbp + 0xa0]
call fcn.140002590
nop
lea rcx, [rbp + 0x108]
call fcn.140002590
nop
lea rcx, [rbp + 0x70]
call fcn.140002590
nop
test rbx, rbx
je 0x140073a99
mov rcx, rbx
call qword [rbp + 0x60]
nop
jmp 0x1400735a3
sub rax, r12
sete r15b
mov byte [rbp + 0x5b], r15b
test rax, rax
jne 0x14007394e
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rcx, qword [rbp + 0xa0]
inc rcx
call fcn.1400ba6ac
mov r12d, eax
mov word [rbp + 0x58], ax
jmp 0x14007397b
lea rax, [rbp + 0xd0]
lea r8, [rbp + 0x90]
mov rdx, r14
mov rcx, rdi
test r15b, r15b
je 0x140073b86
cmp qword [rbp + 0xe8], 8
cmovae rax, qword [rbp + 0xd0]
movzx r9d, r12w
mov qword [rsp + 0x20], rax
call fcn.1400731e0
nop
mov rdi, qword [rbp + 0x98]
test rdi, rdi
je 0x140073b50
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140073b4c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140073b4c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.14006fd30
nop
lea rcx, [rbp + 0xa0]
call fcn.140002590
nop
lea rcx, [rbp + 0x108]
call fcn.140002590
nop
lea rcx, [rbp + 0x70]
call fcn.140002590
nop
jmp 0x140073c20
cmp qword [rbp + 0xe8], 8
cmovae rax, qword [rbp + 0xd0]
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae r9, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.1400731e0
nop
mov rdi, qword [rbp + 0x98]
test rdi, rdi
je 0x140073bef
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140073beb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140073beb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp + 0x68]
lea rcx, [rbp + 0xd0]
call fcn.14006fd30
nop
lea rcx, [rbp + 0xa0]
call fcn.140002590
nop
lea rcx, [rbp + 0x108]
call fcn.140002590
nop
lea rcx, [rbp + 0x70]
call fcn.140002590
nop
test rbx, rbx
je 0x140073c2c
mov rcx, rbx
call qword [rbp + 0x60]
nop
jmp 0x1400735a3
mov qword [rsp + 0x70], rsi
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rsp + 0x78], xmm1
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], di
movups xmm1, xmmword [rbp + 0x38]
movups xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], 0
mov dword [rbp - 0x48], edi
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.1400756b0
nop
jmp 0x140073595
mov dword [r14], 0xc0000225
mov byte [r14 + 0x58], 0
jmp 0x140073595
call fcn.14000f610
int3