Function at 0x1400d5e80
Capabilities:
Parse pe header

Disassembly:
mov byte [rsp + 0x20], r9b
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push r12
push rdx
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
push r15
mov qword [rsp], r15
lea rbp, [rsp - 0x17]
sub rsp, 0xb0
movzx r12d, r9b
xchg rsi, r8
mov rbx, rsi
xchg r8, rsi
xchg rsi, r15
mov r15, rdx
xchg rsi, r15
xchg rdx, r13
mov rdx, rcx
xchg rdx, r13
test rdx, rdx
je 0x1400d68d7
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x1400d68d7
movsxd r15, dword [rdx + 0x3c]
add r15, rdx
mov qword [rbp - 0x41], r15
cmp dword [r15], 0x4550
jne 0x1400d68d7
mov rcx, qword [rbp + 0x7f]
xor r14d, r14d
xchg r9, r14
mov qword [rbp - 0x59], r9
xchg r9, r14
mov eax, dword [r15 + 0x50]
mov qword [rbp + 7], rax
test rcx, rcx
je 0x1400d5f33
xchg rbx, rax
mov qword [rcx], rbx
xchg rbx, rax
xor r9d, r9d
mov dword [rsp + 0x30], 0x40
lea rax, [rbp + 7]
mov dword [rsp + 0x28], 0x3000
lea rcx, [r13 + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x59]
lea rdx, [r9 - 1]
call fcn.1400d42c0
test eax, eax
js 0x1400d68d7
mov r8d, dword [r15 + 0x54]
mov rdx, rsi
xchg rcx, r11
mov r11, qword [rbp - 0x59]
xchg rcx, r11
mov qword [rsp + 0xf0], rdi
call fcn.14014f810
mov edi, r14d
cmp r14w, word [r15 + 6]
jae 0x1400d5fd3
nop word [rax + rax]
mov eax, edi
lea rcx, [rax + rax*4]
mov edx, dword [r15 + rcx*8 + 0x11c]
mov r8d, dword [r15 + rcx*8 + 0x118]
add rdx, rsi
mov ecx, dword [r15 + rcx*8 + 0x114]
add rcx, qword [rbp - 0x59]
call fcn.14014f810
movzx eax, word [r15 + 6]
inc edi
cmp edi, eax
jb 0x1400d5f9a
xchg rdi, r11
mov r11, qword [rbp - 0x59]
xchg rdi, r11
test rbx, rbx
mov eax, dword [r15 + 0xb0]
cmove rbx, rdi
xor esi, esi
mov edx, esi
test eax, eax
je 0x1400d5ffb
lea rdx, [rdi + rax]
mov eax, dword [r15 + 0x90]
xchg r9, rsi
mov rsi, r9
xchg r9, rsi
test eax, eax
je 0x1400d6017
lea r9, [rdi + rax]
sub rbx, qword [r15 + 0x30]
mov qword [rbp - 0x49], r9
test rdx, rdx
je 0x1400d608c
cmp dword [rdx], r14d
je 0x1400d608c
mov eax, dword [rdx + 4]
cmp eax, 8
jb 0x1400d6080
lea r8, [rax - 8]
mov ecx, esi
shr r8, 1
je 0x1400d6080
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
nop dword [rax]
movzx eax, word [rdx + rax*2 + 8]
test ax, ax
je 0x1400d6073
and eax, 0xfff
add eax, dword [rdx]
add qword [rax + rdi], rbx
mov rdi, qword [rbp - 0x59]
inc ecx
mov eax, ecx
cmp rax, r8
jb 0x1400d6056
mov eax, dword [rdx + 4]
add rdx, rax
jne 0x1400d6028
movabs rdx, 0x852396afe3269
movabs rbx, 0xc562983199256
test r9, r9
je 0x1400d662a
mov eax, dword [r9]
movabs r8, 0x85fec382c
movabs r15, 0x582359a27a94a75
test eax, eax
je 0x1400d6621
mov r14d, dword [r9 + 0x10]
lea r12, [rdi + rax]
mov ecx, dword [r9 + 0xc]
add r14, rdi
add rcx, rdi
mov rax, 0xffffffffffffffff
mov qword [rbp - 0x11], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x1400d60e5
cmp qword [0x1401670e0], rdx
mov word [rbp - 0x19], ax
mov word [rbp - 0x17], ax
je 0x1400d61a3
mov rax, qword [0x1401670f0]
cmp rax, rbx
je 0x1400d61a3
cmp byte [0x140168220], 0
jne 0x1400d6135
xor rax, rbx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
xchg r11, rbx
mov r11, qword [r13 + 0xa0]
xchg r11, rbx
lea rdx, [rbp - 0x51]
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
xor rbx, r15
movabs r15, 0x582359278457259
xchg rcx, rax
mov rdi, rcx
xchg rcx, rax
xor rcx, r15
xchg rcx, r11
mov qword [rbp - 0x51], r11
xchg rcx, r11
lea rcx, [0x140168210]
call fcn.140028ed0
mov r8b, 1
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x29]
mov qword [rax], rbx
call rdi
movabs rbx, 0xc562983199256
jmp 0x1400d61c4
mov rax, qword [r13 + 0xa0]
lea rdx, [rbp - 0x19]
xor rax, r8
lea rcx, [rbp - 0x29]
mov r8b, 1
call rax
movabs r15, 0x582359278457259
movabs rax, 0x852396afe3269
mov qword [rbp + 0x5f], rsi
cmp qword [0x1401670e0], rax
je 0x1400d6270
mov rax, qword [0x1401670f0]
cmp rax, rbx
je 0x1400d6270
cmp byte [0x140168220], 0
jne 0x1400d620d
xor rax, rbx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
xchg rbx, rsi
mov rsi, qword [r13 + 0x90]
xchg rbx, rsi
lea rdx, [rbp - 0x51]
mov rdi, rax
movabs rax, 0x582359b30125d9a
mov rcx, rdi
xor rbx, rax
xor rcx, r15
xchg r12, rcx
mov qword [rbp - 0x51], r12
xchg r12, rcx
lea rcx, [0x140168210]
call fcn.140028ed0
lea r9, [rbp + 0x5f]
xor edx, edx
lea r8, [rbp - 0x29]
xor ecx, ecx
xchg rbx, rcx
mov qword [rax], rcx
xchg rcx, rbx
call rdi
jmp 0x1400d6292
mov rax, qword [r13 + 0x90]
lea r9, [rbp + 0x5f]
movabs rcx, 0x948572fc3
lea r8, [rbp - 0x29]
xor rax, rcx
xor edx, edx
xor ecx, ecx
call rax
movabs rbx, 0x852396afe3269
cmp qword [0x1401670e0], rbx
je 0x1400d6334
mov rax, qword [0x1401670f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d6334
cmp byte [0x140168220], 0
jne 0x1400d62e1
xor rax, rcx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
mov rbx, qword [r13 + 0xb0]
lea rdx, [rbp - 0x51]
mov rdi, rax
movabs rax, 0x582359a27e94a75
mov rcx, rdi
xor rbx, rax
xor rcx, r15
mov qword [rbp - 0x51], rcx
lea rcx, [0x140168210]
call fcn.140028ed0
lea rcx, [rbp - 0x29]
mov qword [rax], rbx
call rdi
movabs rbx, 0x852396afe3269
jmp 0x1400d634e
mov rax, qword [r13 + 0xb0]
movabs rcx, 0x85fac382c
xor rax, rcx
lea rcx, [rbp - 0x29]
call rax
mov r15, qword [rbp + 0x5f]
test r15, r15
je 0x1400d65e5
xchg r10, rsi
mov r10, qword [r12]
xchg r10, rsi
test rsi, rsi
je 0x1400d65e3
sub r12, r14
nop word [rax + rax]
test rsi, rsi
jns 0x1400d6484
cmp qword [0x1401670e0], rbx
mov qword [rbp - 0x51], 0
je 0x1400d6457
mov rax, qword [0x1401670f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d6457
cmp byte [0x140168220], 0
jne 0x1400d63cd
xor rax, rcx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
xchg rbx, rdx
mov rdx, qword [r13 + 0xc0]
xchg rdx, rbx
lea rdx, [rbp - 0x39]
xchg rbp, rax
mov rdi, rbp
xchg rbp, rax
movabs rax, 0x5823592dc79f24b
xor rbx, rax
mov rcx, rdi
movabs rax, 0x582359278457259
xor rcx, rax
xchg rcx, r13
mov qword [rbp - 0x39], r13
xchg rcx, r13
lea rcx, [0x140168210]
call fcn.140028ed0
lea r9, [rbp - 0x51]
movzx r8d, si
xor edx, edx
xchg rcx, rbx
mov rbx, r15
xchg rbx, rcx
xchg rbx, r12
mov qword [rax], r12
xchg rbx, r12
call rdi
xchg rbx, rax
mov rbx, qword [rbp - 0x51]
xchg rbx, rax
movabs rbx, 0x852396afe3269
jmp 0x1400d65c0
mov rax, qword [r13 + 0xc0]
lea r9, [rbp - 0x51]
mov ecx, 0xa43c8012
movzx r8d, si
xor rax, rcx
xor edx, edx
xchg r13, rcx
mov r13, r15
xchg r13, rcx
call rax
mov rax, qword [rbp - 0x51]
jmp 0x1400d65c0
xchg rcx, rdx
mov rdx, qword [rbp - 0x59]
xchg rdx, rcx
mov rax, 0xffffffffffffffff
nop
add rcx, 0x5b523cbf
sub rcx, 0x5b523cbd
add rcx, rsi
mov qword [rbp - 1], rcx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400d64b2
cmp qword [0x1401670e0], rbx
mov word [rbp - 9], ax
mov word [rbp - 7], ax
mov qword [rbp - 0x31], 0
je 0x1400d6593
mov rax, qword [0x1401670f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d6593
cmp byte [0x140168220], 0
jne 0x1400d6514
xor rax, rcx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
mov rbx, qword [r13 + 0xc0]
lea rcx, [0x140168210]
xchg rdi, r15
mov r15, rax
xchg r15, rdi
movabs rax, 0x5823592dc79f24b
xor rbx, rax
xchg rdi, rdx
mov rdi, rdx
xchg rdi, rdx
movabs rax, 0x582359278457259
xor rdx, rax
mov qword [rbp - 0x39], rdx
lea rdx, [rbp - 0x39]
call fcn.140028ed0
xor r8d, r8d
lea r9, [rbp - 0x31]
lea rdx, [rbp - 9]
xchg r15, rcx
mov r15, rcx
xchg r15, rcx
xchg rcx, rbx
mov qword [rax], rcx
xchg rbx, rcx
call rdi
movabs rbx, 0x852396afe3269
jmp 0x1400d65bc
xchg rsi, rax
mov rsi, qword [r13 + 0xc0]
xchg rsi, rax
lea r9, [rbp - 0x31]
mov ecx, 0xa43c8012
lea rdx, [rbp - 9]
xor rax, rcx
xor r8d, r8d
xchg rdi, rcx
mov rdi, r15
xchg rdi, rcx
call rax
mov rax, qword [rbp - 0x31]
mov qword [r14], rax
sub r14, 0xfffffffffffffff8
mov rsi, qword [r12 + r14]
test rsi, rsi
je 0x1400d65e3
xchg r15, rdi
mov rdi, qword [rbp + 0x5f]
xchg rdi, r15
jmp 0x1400d6377
xor esi, esi
xchg rcx, r9
mov rcx, qword [rbp - 0x49]
xchg r9, rcx
movabs rbx, 0xc562983199256
xchg r11, rdi
mov r11, qword [rbp - 0x59]
xchg rdi, r11
add r9, 0x14
xchg r13, r9
mov qword [rbp - 0x49], r13
xchg r9, r13
movabs rdx, 0x852396afe3269
jne 0x1400d60a9
movzx r12d, byte [rbp + 0x6f]
mov r15, qword [rbp - 0x41]
mov r14d, esi
cmp si, word [r15 + 6]
jae 0x1400d67cd
mov r12d, 4
nop
mov eax, r14d
lea rcx, [rax + rax*4]
mov eax, dword [r15 + rcx*8 + 0x114]
mov esi, dword [r15 + rcx*8 + 0x12c]
add rax, rdi
mov qword [rbp - 0x49], rax
mov eax, dword [r15 + rcx*8 + 0x118]
mov qword [rbp - 0x41], rax
bt esi, 0x19
jae 0x1400d667d
mov esi, 2
jmp 0x1400d66b0
bt esi, 0x1d
jae 0x1400d66a3
sar esi, 0x1d
sar esi, 1
sar esi, 1
and esi, 0x20
nop
sub esi, 0x375ced6b
add esi, 0x375ced8b
jmp 0x1400d66b0
test esi, esi
mov eax, 2
cmovs eax, r12d
mov esi, eax
xor eax, eax
cmp qword [0x1401670e0], rdx
mov dword [rbp + 0x5f], eax
je 0x1400d676a
mov rax, qword [0x1401670f0]
cmp rax, rbx
je 0x1400d676a
cmp byte [0x140168220], 0
jne 0x1400d66f0
xor rax, rbx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
mov rbx, qword [r13 + 0xd0]
lea rdx, [rbp - 0x39]
xchg r15, rax
mov rdi, r15
xchg r15, rax
movabs rax, 0x582359264eb86c1
xor rbx, rax
xchg r12, rdi
mov rcx, r12
xchg r12, rdi
movabs rax, 0x582359278457259
xor rcx, rax
xchg rcx, rdi
mov qword [rbp - 0x39], rdi
xchg rdi, rcx
lea rcx, [0x140168210]
call fcn.140028ed0
mov r9d, esi
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x49]
mov rcx, 0xffffffffffffffff
mov qword [rax], rbx
lea rax, [rbp + 0x5f]
mov qword [rsp + 0x20], rax
call rdi
jmp 0x1400d679a
mov rax, qword [r13 + 0xd0]
lea rcx, [rbp + 0x5f]
xchg rcx, r11
mov qword [rsp + 0x20], r11
xchg rcx, r11
lea r8, [rbp - 0x41]
mov rcx, 0xffffffffffffffff
lea rdx, [rbp - 0x49]
xor rax, 0x1caef498
mov r9d, esi
call rax
movzx eax, word [r15 + 6]
inc r14d
mov rdi, qword [rbp - 0x59]
cmp r14d, eax
jae 0x1400d67c8
movabs rbx, 0xc562983199256
movabs rdx, 0x852396afe3269
jmp 0x1400d663f
movzx r12d, byte [rbp + 0x6f]
cmp byte [rbp + 0x77], 0
jne 0x1400d68a2
mov eax, dword [r15 + 0x28]
test eax, eax
je 0x1400d68a2
lea rsi, [rdi + rax]
movabs rax, 0x852396afe3269
cmp qword [0x1401670e0], rax
je 0x1400d688c
mov rax, qword [0x1401670f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d688c
cmp byte [0x140168220], 0
jne 0x1400d6836
xor rax, rcx
lea rdx, [0x1400d4d30]
mov ecx, 1
call rax
mov ecx, 1
call fcn.14014e768
xchg rbx, rax
mov r8, rbx
xchg rbx, rax
lea rdx, [rbp + 0x5f]
movabs r14, 0x582359278457259
lea rcx, [0x140168210]
xor r8, r14
xchg rcx, rax
mov rbx, rcx
xchg rcx, rax
mov qword [rbp + 0x5f], r8
call fcn.140028ed0
xor r8d, r8d
xor rsi, r14
xchg r11, rdi
mov rcx, r11
xchg r11, rdi
mov qword [rax], rsi
lea edx, [r8 + 1]
call rbx
jmp 0x1400d689e
xor r8d, r8d
xchg r14, rdi
mov rcx, r14
xchg rdi, r14
lea edx, [r8 + 1]
call rsi
mov rdi, qword [rbp - 0x59]
test r12b, r12b
je 0x1400d68bd
mov r8d, dword [r15 + 0x54]
xor edx, edx
mov rcx, rdi
call fcn.14014f7e6
mov rdi, qword [rbp - 0x59]
xchg r11, rax
mov r11, rdi
xchg r11, rax
xchg rdi, r8
mov r8, qword [rsp + 0xf0]
xchg r8, rdi
jmp 0x1400d68d9
xor eax, eax
add rsp, 0xb0
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
mov r14, qword [rsp]
add rsp, 8
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rsi, qword [rsp - 8]
push rcx
push rcx
push rax
xchg qword [rsp + 0x18], rbx
pop rax
pop rcx
pop rcx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
ret