Function at 0x140051420
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov rax, qword [0x140123218]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov r14, r8
mov rdi, rcx
xor ebx, ebx
call fcn.140051290
mov r15, rax
test rax, rax
je 0x14005188f
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
lea r9d, [rbx + 0x40]
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x14005188f
mov eax, 0x5a4d
cmp word [rsp + 0x50], ax
jne 0x14005188f
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x40]
call fcn.1400cdb70
movsxd rdx, dword [rbp - 0x74]
add rdx, r15
mov r9d, 0x108
lea r8, [rbp + 0x40]
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x14005188f
cmp dword [rbp + 0x40], 0x4550
jne 0x14005188f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rax
mov eax, dword [rbp + 0xc8]
add rax, r15
mov qword [rsp + 0x38], rax
mov ecx, dword [rbp + 0xcc]
add rcx, rax
mov qword [rsp + 0x40], rcx
lea r9d, [rbx + 0x28]
lea r8, [rbp - 8]
mov rdx, rax
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x14005188f
mov eax, dword [rbp + 0x14]
add rax, r15
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x1c]
add rax, r15
mov qword [rsp + 0x20], rax
mov eax, dword [rbp + 0x18]
add rax, r15
mov qword [rsp + 0x30], rax
mov esi, ebx
cmp dword [rbp + 0xc], ebx
jbe 0x14005188f
lea r13, [rbx - 1]
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x4c], ebx
mov dword [rbp - 0x70], ebx
mov word [rsp + 0x48], bx
movsxd r12, esi
lea rdx, [rax + r12*4]
mov r9d, 4
lea r8, [rsp + 0x4c]
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x140051696
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
mov edx, dword [rsp + 0x4c]
add rdx, r15
mov r9d, 0x40
lea r8, [rbp + 0x150]
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x140051696
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
lea rax, [rbp + 0x150]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140051600
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x28]
call fcn.14000c4c0
nop
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140051628
mov rdx, qword [r14]
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
cmp r8, qword [r14 + 0x10]
jne 0x14005168d
call fcn.1400cdfb0
test eax, eax
jne 0x14005168d
mov rax, qword [rsp + 0x20]
lea rdx, [rax + r12*2]
mov r9d, 2
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.14005a150
test eax, eax
js 0x14005168d
movzx eax, word [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + rax*4]
mov r9d, 4
lea r8, [rbp - 0x70]
mov rcx, rdi
call fcn.14005a150
test eax, eax
jns 0x1400516ab
lea rcx, [rbp - 0x28]
call fcn.140009b90
inc esi
cmp esi, dword [rbp + 0xc]
jae 0x14005188f
mov rax, qword [rsp + 0x30]
jmp 0x140051570
mov esi, dword [rbp - 0x70]
add rsi, r15
cmp rsi, qword [rsp + 0x38]
jb 0x14005187e
cmp rsi, qword [rsp + 0x40]
jae 0x14005187e
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp + 0x190]
call fcn.1400cdb70
mov r9d, 0xff
lea r8, [rbp + 0x190]
mov rdx, rsi
mov rcx, rdi
call fcn.14005a150
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
lea rax, [rbp + 0x190]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140051710
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x68]
call fcn.14000c4c0
nop
lea rsi, [rbp - 0x68]
mov r12, qword [rbp - 0x68]
mov r13, qword [rbp - 0x50]
cmp r13, 0x10
cmovae rsi, r12
mov r14, qword [rbp - 0x58]
test r14, r14
je 0x140051873
mov r8, r14
mov edx, 0x2e
mov rcx, rsi
call fcn.1400cdf10
test rax, rax
je 0x140051873
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x140051873
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
lea r15, [rax + 1]
mov r8, r15
cmp r14, r15
cmovb r8, r14
lea rdx, [rbp - 0x68]
cmp r13, 0x10
cmovae rdx, r12
lea rcx, [rbp - 0x48]
call fcn.14000c4c0
nop
mov r8d, 3
lea rdx, [0x14010b974]
lea rcx, [rbp - 0x48]
call fcn.140009bf0
lea rsi, [rbp - 0x48]
mov r8, qword [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rsi, r8
lea rcx, [rbp - 0x48]
cmovae rcx, r8
mov r14, qword [rbp - 0x38]
add r14, rcx
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rbx, r8
cmp rbx, r14
je 0x140051803
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.1400d4380
mov byte [rbx + rsi], al
inc rbx
cmp rbx, r14
jne 0x1400517f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov rax, qword [rbp - 0x58]
cmp rax, r15
jb 0x1400518bb
sub rax, r15
cmp rax, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
cmovb r8, rax
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
add rdx, r15
lea rcx, [rbp + 0x20]
call fcn.14000c4c0
nop
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x48]
mov rcx, rdi
call fcn.140051420
mov rbx, rax
lea rcx, [rbp + 0x20]
call fcn.140009b90
nop
lea rcx, [rbp - 0x48]
call fcn.140009b90
nop
lea rcx, [rbp - 0x68]
call fcn.140009b90
jmp 0x140051881
mov rbx, rsi
lea rcx, [rbp - 0x28]
call fcn.140009b90
mov rax, rbx
jmp 0x140051891
xor eax, eax
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.1400cad70
mov rbx, qword [rsp + 0x3f0]
add rsp, 0x3a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000a030
nop
int3