Function at 0x1de547820
Capabilities:
Parse pe header

Disassembly:
lea r12, [rsp - 0xe8]
cmp r12, qword [r14 + 0x10]
jbe 0x1de5482ce
sub rsp, 0x168
mov qword [rsp + 0x160], rbp
lea rbp, [rsp + 0x160]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x178], rbx
lea rax, [0x1de624340]
call fcn.1de44cd20
mov qword [rsp + 0xf8], rax
nop
lea rax, [0x1de6220e0]
nop dword [rax]
call fcn.1de44cd20
mov rcx, qword [rsp + 0x108]
mov qword [rax], rcx
cmp dword [0x1de7a29c0], 0
jne 0x1de5478a7
mov rdx, qword [rsp + 0x178]
mov qword [rax + 8], rdx
jmp 0x1de5478b8
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x178]
call fcn.1de49f6e0
mov qword [rsp + 0xe0], rax
movups xmmword [rax + 0x10], xmm15
movabs rcx, 0x7fffffffffffffff
mov qword [rax + 0x20], rcx
lea rax, [0x1de614860]
call fcn.1de44cd20
mov qword [rsp + 0x110], rax
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rcx + 0x18]
mov rbx, rax
mov edi, 0x60
xor esi, esi
mov rax, qword [rsp + 0x178]
mov rcx, rdi
call rdx
test rbx, rbx
jne 0x1de547dc2
mov rdx, qword [rsp + 0x110]
cmp byte [rdx], 0x4d
nop
jne 0x1de547a32
cmp byte [rdx + 1], 0x5a
jne 0x1de547a32
nop
mov ecx, dword [rdx + 0x3c]
mov dword [rsp + 0x34], ecx
lea rax, [0x1de614560]
nop
call fcn.1de44cd20
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rcx + 0x18]
mov rbx, rax
mov edi, 4
mov esi, dword [rsp + 0x34]
mov rax, qword [rsp + 0x178]
mov rcx, rdi
call rdx
mov rcx, qword [rsp + 0x118]
cmp byte [rcx], 0x50
jne 0x1de54799e
cmp byte [rcx + 1], 0x45
jne 0x1de54799e
cmp byte [rcx + 2], 0
jne 0x1de54799e
cmp byte [rcx + 3], 0
jne 0x1de54799e
mov edx, dword [rsp + 0x34]
add rdx, 4
jmp 0x1de547a34
movabs rdx, 0xc5c91bc1ab3203fb
mov qword [rsp + 0x9a], rdx
movabs rdx, 0xe1e0d0068381eba1
mov qword [rsp + 0xa2], rdx
movabs rdx, 0x7c8c9e152a1ae1e0
mov qword [rsp + 0xa8], rdx
movabs rdx, 0x1ac765d549c23282
mov qword [rsp + 0xb0], rdx
movabs rdx, 0x5b9b4eabb6446b6e
mov qword [rsp + 0x7c], rdx
movabs rdx, 0x3f859c63e39f5aaf
mov qword [rsp + 0x84], rdx
movabs rdx, 0xf8d5d0523f593f85
mov qword [rsp + 0x8a], rdx
movabs rdx, 0x5e59c04bf1a340f3
mov qword [rsp + 0x92], rdx
xor eax, eax
jmp 0x1de54822b
xor edx, edx
mov qword [rsp + 0x58], rdx
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rbx + 0x10]
lea r10, [rdx + r9]
cmp r9, r10
jg 0x1de547a52
mov qword [rbx + 0x18], r10
lea rax, [0x1de662fb8]
lea rcx, [0x1de665bf0]
lea rdi, [0x1de7a2928]
lea rsi, [0x1de60f800]
mov r8, qword [rsp + 0xf8]
call fcn.1de540e00
nop dword [rax + rax]
test rax, rax
jne 0x1de547daa
mov rax, qword [rsp + 0xf8]
movzx edx, word [rax]
cmp dx, 0x14c
ja 0x1de547ab1
nop dword [rax + rax]
test dx, dx
je 0x1de547acb
cmp dx, 0x14c
je 0x1de547acb
jmp 0x1de547d2c
cmp dx, 0x1c4
je 0x1de547acb
cmp dx, 0x8664
je 0x1de547acb
nop
cmp dx, 0xaa64
jne 0x1de547d2c
lea rbx, [0x1de6630e0]
mov rcx, qword [rsp + 0xe0]
call fcn.1de54e6c0
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x78], rbx
mov qword [rdx + 0x80], rcx
cmp dword [0x1de7a29c0], 0
jne 0x1de547b02
mov qword [rdx + 0x70], rax
nop
jmp 0x1de547b14
lea r8, [rdx + 0x70]
mov rcx, rdi
mov rdi, r8
call fcn.1de49f5c0
mov rdi, rcx
test rdi, rdi
jne 0x1de547d14
mov rax, rdx
lea rbx, [0x1de6630e0]
mov rcx, qword [rsp + 0xe0]
call fcn.1de550560
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x60], rbx
mov qword [rdx + 0x68], rcx
cmp dword [0x1de7a29c0], 0
jne 0x1de547b53
mov qword [rdx + 0x58], rax
jmp 0x1de547b68
lea r9, [rdx + 0x58]
mov r8, rdi
mov rdi, r9
nop dword [rax]
call fcn.1de49f5c0
mov rdi, r8
test rdi, rdi
jne 0x1de547cfc
mov rdi, qword [rdx + 0x70]
mov rsi, qword [rdx + 0x78]
mov r8, qword [rdx + 0x80]
call fcn.1de550a00
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x48], rbx
mov qword [rdx + 0x50], rcx
cmp dword [0x1de7a29c0], 0
jne 0x1de547ba4
mov qword [rdx + 0x40], rax
jmp 0x1de547bb6
lea r8, [rdx + 0x40]
mov rcx, rdi
mov rdi, r8
call fcn.1de49f5c0
mov rdi, rcx
test rdi, rdi
jne 0x1de547ce4
lea rax, [0x1de624220]
mov rbx, rdx
call fcn.1de44a320
mov rbx, rax
lea rax, [0x1de624220]
call fcn.1de542180
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rbx + 0x10]
add rcx, rdx
cmp rdx, rcx
jle 0x1de547c09
mov rdx, qword [0x1de74dec0]
mov rsi, qword [0x1de74dec8]
jmp 0x1de547c11
mov qword [rbx + 0x18], rcx
xor edx, edx
xor esi, esi
test rdx, rdx
jne 0x1de547ccc
mov rdx, qword [rsp + 0xf8]
movzx ecx, word [rdx + 0x10]
lea rax, [0x1de6630e0]
call fcn.1de54a160
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x18], rax
cmp dword [0x1de7a29c0], 0
jne 0x1de547c4d
mov qword [rdx + 0x20], rbx
jmp 0x1de547c5f
lea rsi, [rdx + 0x20]
mov rax, rdi
mov rdi, rsi
call fcn.1de49f700
mov rdi, rax
nop
test rcx, rcx
jne 0x1de547cb4
movzx ecx, word [rdx + 2]
lea rax, [0x1de619fa0]
mov rbx, rcx
call fcn.1de487500
mov rdi, qword [rsp + 0xf8]
movzx edx, word [rdi + 2]
mov qword [rdi + 0x30], rdx
mov qword [rdi + 0x38], rdx
cmp dword [0x1de7a29c0], 0
jne 0x1de547c9b
mov qword [rdi + 0x28], rax
jmp 0x1de547cad
lea rdx, [rdi + 0x28]
mov rcx, rdi
mov rdi, rdx
call fcn.1de49f5c0
mov rdi, rcx
xor eax, eax
jmp 0x1de547dde
xor eax, eax
mov rbx, rcx
mov rcx, rdi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
xor eax, eax
mov rbx, rdx
mov rcx, rsi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
call fcn.1de547260
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x70], rbx
movups xmmword [rsp + 0x120], xmm15
mov rcx, qword [rsp + 0xf8]
movzx ecx, word [rcx]
mov eax, ecx
call fcn.1de44a3a0
lea rcx, [0x1de613980]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x70]
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
call fcn.1de52e6c0
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
xor eax, eax
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
lea r8, [r11 + 1]
mov rdi, rax
mov rax, r8
movzx edx, word [rdi + 2]
cmp rax, rdx
jge 0x1de54810b
mov qword [rsp + 0x50], rax
lea rax, [0x1de625500]
call fcn.1de44cd20
mov qword [rsp + 0x100], rax
mov rbx, qword [rsp + 0xe0]
lea rcx, [0x1de665bf0]
lea rdi, [0x1de7a2928]
lea rsi, [0x1de616960]
mov r8, rax
lea rax, [0x1de662fb8]
call fcn.1de540e00
test rax, rax
jne 0x1de5480f3
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rdx + 0x70]
mov rcx, qword [rdx + 0x78]
mov rdi, qword [rdx + 0x80]
mov rax, qword [rsp + 0x100]
call fcn.1de54d180
nop dword [rax]
test rcx, rcx
jne 0x1de5480db
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0xe8], rax
lea rax, [0x1de622520]
nop dword [rax]
call fcn.1de44cd20
mov qword [rsp + 0xf0], rax
movups xmmword [rsp + 0x130], xmm15
movups xmmword [rsp + 0x140], xmm15
movups xmmword [rsp + 0x150], xmm15
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x138], rcx
mov rcx, qword [rsp + 0x100]
mov edx, dword [rcx + 8]
mov dword [rsp + 0x140], edx
mov edx, dword [rcx + 0xc]
mov dword [rsp + 0x144], edx
mov edx, dword [rcx + 0x10]
mov dword [rsp + 0x148], edx
mov edx, dword [rcx + 0x14]
mov dword [rsp + 0x14c], edx
mov edx, dword [rcx + 0x18]
mov dword [rsp + 0x150], edx
mov edx, dword [rcx + 0x1c]
mov dword [rsp + 0x154], edx
movzx edx, word [rcx + 0x20]
mov word [rsp + 0x158], dx
movzx edx, word [rcx + 0x22]
mov word [rsp + 0x15a], dx
mov edx, dword [rcx + 0x24]
mov dword [rsp + 0x15c], edx
cmp dword [0x1de7a29c0], 0
jne 0x1de547f59
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x140]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rax + 0x20], xmm0
jmp 0x1de547f80
mov rbx, rax
lea rcx, [rsp + 0x130]
lea rax, [0x1de6253a0]
call fcn.1de451ca0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x100]
mov edx, dword [rax + 0x1c]
mov qword [rsp + 0x68], rdx
mov ebx, dword [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov ecx, dword [rcx + 0x14]
mov dword [rsp + 0x34], ecx
test ecx, ecx
lea rax, [0x1de6220e0]
call fcn.1de44cd20
mov ecx, dword [rsp + 0x34]
test ecx, ecx
mov rcx, qword [rsp + 0x108]
lea rdx, [0x1de663018]
mov rbx, rcx
cmove rcx, rdx
mov qword [rax], rcx
mov rcx, qword [rsp + 0x178]
lea rsi, [0x1de7a2928]
mov rdi, rcx
cmove rcx, rsi
movabs r8, 0x7fffffffffffffff
mov r9, qword [rsp + 0x60]
sub r8, r9
mov r10, qword [rsp + 0x68]
add r9, r10
cmp r10, r8
movabs r8, 0x7fffffffffffffff
cmovle r8, r9
cmp dword [0x1de7a29c0], 0
jne 0x1de548014
mov qword [rax + 8], rcx
jmp 0x1de548028
lea r9, [rax + 8]
mov r11, rdi
mov rdi, r9
nop
call fcn.1de49f6c0
mov rdi, r11
mov qword [rax + 0x10], r10
mov qword [rax + 0x18], r10
mov qword [rax + 0x20], r8
cmp dword [0x1de7a29c0], 0
jne 0x1de54804b
mov r8, qword [rsp + 0xf0]
mov qword [r8 + 0x58], rax
jmp 0x1de548068
mov r8, qword [rsp + 0xf0]
lea r9, [r8 + 0x58]
mov rcx, rdi
mov rdi, r9
nop dword [rax]
call fcn.1de49f5c0
mov rdi, rcx
lea r9, [0x1de662f98]
mov qword [r8 + 0x48], r9
cmp dword [0x1de7a29c0], 0
jne 0x1de548082
mov qword [r8 + 0x50], rax
jmp 0x1de548094
lea r10, [r8 + 0x50]
mov rcx, rdi
mov rdi, r10
call fcn.1de49f5c0
mov rdi, rcx
mov rax, qword [rsp + 0xf8]
mov r10, qword [rax + 0x28]
mov rcx, qword [rax + 0x30]
mov r11, qword [rsp + 0x50]
cmp r11, rcx
jae 0x1de54820d
lea r12, [r10 + r11*8]
cmp dword [0x1de7a29c0], 0
jne 0x1de5480c8
mov qword [r10 + r11*8], r8
jmp 0x1de547dd4
mov rcx, rdi
mov rdi, r12
call fcn.1de49f740
mov rdi, rcx
jmp 0x1de547dd4
xor eax, eax
mov rbx, rcx
mov rcx, rdi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov rdx, qword [rdi + 0x30]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0xe0]
xor eax, eax
nop
jmp 0x1de548140
lea rax, [r10 + 1]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xe0]
mov rdx, rsi
mov rdi, qword [rsp + 0xf8]
nop
cmp rax, rdx
jge 0x1de5481e1
mov rsi, qword [rdi + 0x30]
mov r8, qword [rdi + 0x28]
cmp rax, rsi
jae 0x1de548205
mov qword [rsp + 0x48], rax
mov rdx, qword [r8 + rax*8]
test byte [rdx], al
lea rbx, [0x1de6630e0]
mov rax, rdx
call fcn.1de54dae0
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rdx + 0x30]
mov r9, qword [rdx + 0x28]
mov r10, qword [rsp + 0x48]
cmp r10, r8
jae 0x1de5481f8
mov r8, qword [r9 + r10*8]
mov qword [r8 + 0x38], rbx
mov qword [r8 + 0x40], rcx
cmp dword [0x1de7a29c0], 0
jne 0x1de5481a9
mov qword [r8 + 0x30], rax
jmp 0x1de5481bb
add r8, 0x30
mov rcx, rdi
mov rdi, r8
call fcn.1de49f5c0
mov rdi, rcx
nop dword [rax + rax]
test rdi, rdi
je 0x1de548122
xor eax, eax
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov rax, rdi
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov rax, r10
mov rcx, r8
nop
call fcn.1de49fa60
mov rcx, rsi
call fcn.1de49fa60
mov rax, r11
call fcn.1de49fa60
movzx edx, byte [rsp + rax + 0x9a]
movzx esi, byte [rsp + rax + 0x7c]
add edx, esi
mov byte [rsp + rax + 0x7c], dl
inc rax
cmp rax, 0x1e
jl 0x1de548215
lea rax, [rsp + 0xb8]
lea rbx, [rsp + 0x7c]
mov ecx, 0x1e
call fcn.1de48b520
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x38], rbx
mov rdx, qword [rsp + 0x118]
mov edx, dword [rdx]
mov dword [rsp + 0x30], edx
movups xmmword [rsp + 0x120], xmm15
lea rax, [0x1de614560]
lea rbx, [rsp + 0x30]
call fcn.1de44a320
lea rdx, [0x1de614560]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x38]
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
call fcn.1de52e6c0
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x160]
add rsp, 0x168
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.1de49d360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.1de547820