Function at 0x567050
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x7f8
movaps xmmword [rsp + 0x7e0], xmm6
xor edi, edi
mov eax, dword [rsp + 0x860]
lea r14d, [rax*4]
mov rbp, rdx
mov edx, eax
lea rax, [rsp + 0x3e0]
mov r15, rcx
shl edx, 6
mov rcx, rax
mov dword [rsp + 0x24], r14d
mov rbx, r8
mov qword [rsp + 0x68], rax
mov rsi, r9
call fcn.005a29d0
test eax, eax
jle 0x5676d2
lea rax, [rsp + 0x7e0]
mov edi, esi
and rax, 0xffffffffffffffe0
lea r12, [rax - 0x640]
mov eax, dword [rsp + 0x860]
lea ecx, [rax + 1]
shr edi, cl
mov eax, edi
add esi, edi
mov dword [rsp + 0x28], edi
shl eax, cl
sub esi, eax
mov dword [rsp + 0x2c], esi
cmp edi, esi
jb 0x5676f1
mov edi, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
lea rcx, [rbp + 0x15]
mov qword [rsp + 0x80], rbx
mov r8, qword [rsp + 0x3e0]
mov r9, qword [rsp + 0x3e8]
mov qword [rsp + 0x2a0], rbx
lea eax, [rdi + 0x30]
mov qword [rsp + 0x2a8], rcx
and eax, 0xfffffff0
mov qword [rbp + 5], r8
add eax, 0x15
cmp edi, edx
mov qword [rbp + 0xd], r9
cmovbe edx, edi
mov qword [rsp + 0x2b8], r8
mov qword [rsp + 0x2c0], r9
lea esi, [rdx - 0x33]
mov dword [rsp + 0x70], esi
mov esi, dword [rsp + 0x24]
cmp esi, 1
jle 0x5685b0
movdqa xmm5, xmmword [rsp + 0x3f0]
mov edx, edi
add rcx, rax
add rbx, rdx
mov qword [rsp + 0x2d0], rcx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x2c8], rbx
movups xmmword [rcx - 0x10], xmm5
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x2d0]
movdqa xmm5, xmmword [rsp + 0x3f0]
add rcx, rdx
add r8, rax
movaps xmmword [rsp + 0x2e0], xmm5
movq xmm0, rcx
movq xmm5, r8
punpcklqdq xmm0, xmm5
mov qword [rsp + 0xa0], rcx
movdqa xmm5, xmmword [rsp + 0x400]
movaps xmmword [rsp + 0x2f0], xmm0
movups xmmword [r8 - 0x10], xmm5
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x2f8]
movdqa xmm1, xmmword [rsp + 0x400]
movdqa xmm3, xmmword [rsp + 0x410]
add rcx, rdx
add r8, rax
movq xmm0, rcx
movq xmm2, r8
mov qword [rsp + 0xb0], rcx
punpcklqdq xmm0, xmm2
movups xmmword [rsp + 0x308], xmm1
movups xmmword [rsp + 0x318], xmm0
movups xmmword [r8 - 0x10], xmm3
movdqa xmm4, xmmword [rsp + 0x410]
movaps xmmword [rsp + 0x330], xmm4
cmp esi, 4
je 0x567388
mov rcx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x320]
movdqa xmm1, xmmword [rsp + 0x420]
add rcx, rdx
add r8, rax
movq xmm5, r8
movq xmm0, rcx
mov qword [rsp + 0xc0], rcx
punpcklqdq xmm0, xmm5
movaps xmmword [rsp + 0x340], xmm0
movups xmmword [r8 - 0x10], xmm1
mov rcx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x348]
movdqa xmm2, xmmword [rsp + 0x420]
movdqa xmm4, xmmword [rsp + 0x430]
add rcx, rdx
add r8, rax
movq xmm3, r8
movq xmm0, rcx
mov qword [rsp + 0xd0], rcx
punpcklqdq xmm0, xmm3
movups xmmword [rsp + 0x358], xmm2
movups xmmword [rsp + 0x368], xmm0
movups xmmword [r8 - 0x10], xmm4
mov rcx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x370]
movdqa xmm5, xmmword [rsp + 0x430]
movdqa xmm2, xmmword [rsp + 0x440]
add rcx, rdx
add r8, rax
movq xmm1, r8
movq xmm0, rcx
mov qword [rsp + 0xe0], rcx
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0x380], xmm5
movaps xmmword [rsp + 0x390], xmm0
movups xmmword [r8 - 0x10], xmm2
add rdx, qword [rsp + 0xe0]
add rax, qword [rsp + 0x398]
movdqa xmm3, xmmword [rsp + 0x440]
movq xmm0, rdx
movdqa xmm5, xmmword [rsp + 0x450]
movq xmm4, rax
punpcklqdq xmm0, xmm4
mov qword [rsp + 0xf0], rdx
movups xmmword [rsp + 0x3a8], xmm3
movups xmmword [rsp + 0x3b8], xmm0
movups xmmword [rax - 0x10], xmm5
movdqa xmm1, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x3d0], xmm1
mov rsi, qword [r15 + 0x1fc]
mov qword [rsp + 0x3e0], rsi
bswap rsi
mov eax, dword [rsp + 0x24]
mov qword [rsp + 0x60], rsi
mov rdx, r12
xor r8d, r8d
lea rbx, [rsp + 0x80]
movzx ecx, byte [r15 + 0x204]
movzx r10d, byte [r15 + 0x205]
mov qword [rsp + 0x840], r15
sub eax, 1
mov qword [rsp + 0x40], rbx
mov r9, rbx
lea rbx, [rsp + 0x100]
mov dword [rsp + 0x38], eax
mov eax, dword [r15 + 0x1d4]
mov r11, rbx
mov qword [rsp + 0x30], rbx
mov r14d, dword [r15 + 0x1d8]
mov dword [rsp + 0x3c], eax
mov eax, dword [r15 + 0x1e0]
mov r13d, dword [r15 + 0x1dc]
mov edi, dword [r15 + 0x1e4]
mov qword [rsp + 0x78], r12
mov r12d, r10d
mov dword [rsp + 0x58], eax
mov eax, dword [r15 + 0x1e8]
mov qword [rsp + 0x848], rbp
mov ebp, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 0x1ec]
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x1f0]
mov dword [rsp + 0x5c], eax
movzx eax, byte [r15 + 0x206]
mov byte [rsp + 0x77], al
mov rax, qword [rsp + 0x68]
movzx r15d, byte [rsp + 0x77]
nop dword [rax]
mov ecx, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x60]
mov dword [rdx + 0x20], r14d
cmp dword [rsp + 0x38], r8d
mov ebx, dword [rsp + 0x2c]
mov dword [rdx + 0x40], r13d
mov dword [rdx], ecx
mov ecx, dword [rsp + 0x58]
cmovne ebx, dword [rsp + 0x28]
mov byte [rax + 8], bpl
add rdx, 4
add r9, 0x10
mov dword [rdx + 0x5c], ecx
mov ecx, dword [rsp + 0x48]
add r11, 0x10
mov byte [rax + 0xb], bh
mov dword [rdx + 0x9c], ecx
mov ecx, dword [rsp + 0x50]
mov byte [rax + 0xc], bl
sub ebx, 0x33
mov dword [rdx + 0xbc], ecx
mov ecx, dword [rsp + 0x5c]
shr ebx, 6
mov byte [rax + 9], r12b
mov dword [rdx + 0xdc], ecx
lea rcx, [rsi + r8]
add r8, 1
bswap rcx
mov qword [rax], rcx
mov rcx, qword [r9 - 0x10]
mov byte [rax + 0xa], r15b
mov dword [rdx + 0x7c], edi
movdqu xmm1, xmmword [rcx]
add rcx, 0x33
movups xmmword [rax + 0xd], xmm1
movdqu xmm2, xmmword [rcx - 0x23]
movups xmmword [rax + 0x1d], xmm2
movdqu xmm3, xmmword [rcx - 0x13]
movups xmmword [rax + 0x2d], xmm3
movzx esi, word [rcx - 3]
mov word [rax + 0x3d], si
movzx esi, byte [rcx - 1]
mov qword [r11 - 0x10], rax
sub rax, 0xffffffffffffff80
mov byte [rax - 0x41], sil
mov qword [r9 - 0x10], rcx
mov dword [r9 - 8], ebx
mov dword [r11 - 8], 1
cmp dword [rsp + 0x24], r8d
ja 0x567460
mov r12, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x860]
mov rdx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x840]
mov rcx, r12
mov rbp, qword [rsp + 0x848]
call fcn.005bf600
cmp dword [rsp + 0x70], 0x83f
ja 0x56771b
lea rax, [rsp + 0x2a0]
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x50], rax
mov r8d, dword [rsp + 0x860]
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call fcn.005bf600
mov rdi, qword [rsp + 0x68]
xor eax, eax
mov ecx, pe_nt_image_headers64
rep stosq qword [rdi], rax
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x56863e
sub eax, 1
mov edi, 0xffffffcd
mov rcx, qword [rsp + 0x68]
xor ebx, ebx
mov dword [rsp + 0x38], eax
mov eax, edi
sub eax, dword [rsp + 0x3c]
xor esi, esi
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x108]
lea rdi, [rsp + 0x88]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x848], rbp
jmp 0x56761d
mov dword [rcx + 0x3c], eax
mov rax, qword [rsp + 0x48]
mov dword [rax + rbx], 1
mov rax, qword [rsp + 0x30]
add esi, 1
mov qword [rax + rbx], rcx
sub rcx, 0xffffffffffffff80
add rbx, 0x10
cmp dword [rsp + 0x24], esi
je 0x567c40
mov edx, dword [rdi + rbx]
mov r13d, dword [rsp + 0x58]
cmp esi, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x28]
cmove r14d, dword [rsp + 0x2c]
shl edx, 6
mov rax, qword [rsp + 0x40]
sub r13d, edx
lea ebp, [r13 + r14]
add rdx, qword [rax + rbx]
mov r8, rbp
call sub.msvcrt.dll_memcpy
lea rdx, [rsp + 0x7e0]
mov rcx, rax
mov eax, esi
shl rax, 7
add rax, rdx
mov byte [rbp + rax - 0x400], pe_nt_image_headers64
lea eax, [r14*8 + 0x268]
bswap eax
cmp ebp, 0x37
jbe 0x5675f0
mov dword [rcx + 0x7c], eax
mov rax, qword [rsp + 0x48]
mov dword [rax + rbx], 2
jmp 0x5675ff
mov rdi, r12
mov r12, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x860]
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call fcn.00603600
mov rcx, qword [rsp + 0x68]
mov edx, 0x400
call fcn.005fddf0
mov edx, 0x100
mov rcx, r12
call fcn.005fddf0
nop
movaps xmm6, xmmword [rsp + 0x7e0]
mov rax, rdi
add rsp, 0x7f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [rsi + 0x16]
lea edx, [r14 - 1]
and eax, 0x3f
cmp eax, edx
jae 0x5670e8
mov eax, esi
add edi, 1
sub eax, r14d
mov dword [rsp + 0x28], edi
add eax, 1
mov dword [rsp + 0x2c], eax
jmp 0x5670e8
mov rax, qword [rsp + 0x80]
mov edi, dword [rsp + 0x24]
mov dword [rsp + 0x108], 0x20
mov dword [rsp + 0x2b0], pe_nt_image_headers64
mov qword [rsp + 0x100], rax
cmp edi, 1
jbe 0x567866
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x118], 0x20
mov dword [rsp + 0x2d8], pe_nt_image_headers64
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x128], 0x20
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0x300], pe_nt_image_headers64
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x138], 0x20
mov dword [rsp + 0x328], pe_nt_image_headers64
cmp edi, 4
je 0x567866
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x148], 0x20
mov dword [rsp + 0x350], pe_nt_image_headers64
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x158], 0x20
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x378], pe_nt_image_headers64
mov qword [rsp + 0x160], rax
mov dword [rsp + 0x168], 0x20
mov dword [rsp + 0x3a0], pe_nt_image_headers64
cmp edi, 8
jne 0x567866
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x178], 0x20
mov dword [rsp + 0x3c8], pe_nt_image_headers64
mov qword [rsp + 0x170], rax
mov ebx, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x24]
xor esi, esi
lea r14, [rsp + 0x2a0]
mov qword [rsp + 0x50], r14
movdqa xmm6, xmmword [0x008fafb0]
shr ebx, 6
mov qword [rsp + 0x848], rbp
mov edi, dword [rsp + 0x860]
mov ebp, ebx
mov rbx, qword [rsp + 0x30]
nop
mov r8d, edi
mov rdx, rbx
mov rcx, r12
call fcn.005bf600
mov r8d, edi
mov rdx, r15
mov rcx, r14
call fcn.00603600
test r13d, r13d
je 0x567c17
mov rax, qword [rsp + 0x80]
sub dword [rsp + 0x88], 0x20
movdqa xmm0, xmmword [rsp + 0x2a0]
sub dword [rsp + 0x98], 0x20
add rax, 0x800
sub dword [rsp + 0xa8], 0x20
mov qword [rsp + 0x80], rax
paddq xmm0, xmm6
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x2a8]
movaps xmmword [rsp + 0x2a0], xmm0
movdqu xmm0, xmmword [rsp + 0x2c8]
movdqu xmm4, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x108], 0x20
mov dword [rsp + 0x2b0], pe_nt_image_headers64
paddq xmm0, xmm6
add rax, 0x800
movups xmmword [rsp + 0x2b8], xmm4
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x2d0]
movups xmmword [rsp + 0x2c8], xmm0
movdqa xmm0, xmmword [rsp + 0x2f0]
movdqu xmm5, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x118], 0x20
mov dword [rsp + 0x2d8], pe_nt_image_headers64
paddq xmm0, xmm6
add rax, 0x800
movaps xmmword [rsp + 0x2e0], xmm5
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x2f8]
mov dword [rsp + 0x128], 0x20
movaps xmmword [rsp + 0x2f0], xmm0
movdqu xmm4, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0xb0]
movdqu xmm0, xmmword [rsp + 0x318]
sub dword [rsp + 0xb8], 0x20
add rax, 0x800
mov dword [rsp + 0x300], pe_nt_image_headers64
mov qword [rsp + 0xb0], rax
paddq xmm0, xmm6
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x320]
mov dword [rsp + 0x138], 0x20
movdqu xmm5, xmmword [rax + 0x7f0]
movups xmmword [rsp + 0x308], xmm4
mov dword [rsp + 0x328], pe_nt_image_headers64
movups xmmword [rsp + 0x318], xmm0
movaps xmmword [rsp + 0x330], xmm5
cmp r13d, 4
je 0x567c17
mov rax, qword [rsp + 0xc0]
sub dword [rsp + 0xc8], 0x20
movdqa xmm0, xmmword [rsp + 0x340]
sub dword [rsp + 0xd8], 0x20
add rax, 0x800
sub dword [rsp + 0xe8], 0x20
mov qword [rsp + 0xc0], rax
paddq xmm0, xmm6
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x348]
movaps xmmword [rsp + 0x340], xmm0
movdqu xmm0, xmmword [rsp + 0x368]
movdqu xmm1, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x148], 0x20
mov dword [rsp + 0x350], pe_nt_image_headers64
paddq xmm0, xmm6
add rax, 0x800
mov dword [rsp + 0x158], 0x20
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x370]
movups xmmword [rsp + 0x368], xmm0
movdqa xmm0, xmmword [rsp + 0x390]
movdqu xmm2, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x378], pe_nt_image_headers64
paddq xmm0, xmm6
movups xmmword [rsp + 0x358], xmm1
add rax, 0x800
movaps xmmword [rsp + 0x380], xmm2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x398]
mov dword [rsp + 0x168], 0x20
movaps xmmword [rsp + 0x390], xmm0
movdqu xmm3, xmmword [rax + 0x7f0]
mov rax, qword [rsp + 0xf0]
movdqu xmm0, xmmword [rsp + 0x3b8]
sub dword [rsp + 0xf8], 0x20
add rax, 0x800
mov dword [rsp + 0x3a0], pe_nt_image_headers64
mov qword [rsp + 0xf0], rax
paddq xmm0, xmm6
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x3c0]
mov dword [rsp + 0x178], 0x20
movdqu xmm4, xmmword [rax + 0x7f0]
movups xmmword [rsp + 0x3a8], xmm3
mov dword [rsp + 0x3c8], pe_nt_image_headers64
movups xmmword [rsp + 0x3b8], xmm0
movaps xmmword [rsp + 0x3d0], xmm4
sub ebp, 0x20
add esi, 0x800
cmp ebp, 0x20
ja 0x5678a0
mov dword [rsp + 0x3c], esi
mov rbp, qword [rsp + 0x848]
jmp 0x56757d
mov r8d, dword [rsp + 0x860]
mov rdx, rax
mov rcx, r12
mov rbp, qword [rsp + 0x848]
call fcn.005bf600
mov rdi, qword [rsp + 0x68]
xor eax, eax
mov ecx, pe_nt_image_headers64
mov r9d, dword [r15 + 0x164]
mov r8d, dword [r15 + 0x168]
rep stosq qword [rdi], rax
mov edx, dword [r15 + 0x170]
mov ecx, dword [r15 + 0x16c]
mov r11d, dword [r15 + 0x174]
mov ebx, dword [r15 + 0x178]
mov esi, dword [r15 + 0x17c]
mov edi, dword [r15 + 0x180]
mov eax, dword [r12]
mov dword [r12], r9d
bswap eax
mov dword [rsp + 0x3e0], eax
mov eax, dword [r12 + 0x20]
mov dword [r12 + 0x20], r8d
bswap eax
mov dword [rsp + 0x3e4], eax
mov eax, dword [r12 + 0x40]
mov dword [r12 + 0x40], ecx
bswap eax
mov dword [rsp + 0x3e8], eax
mov eax, dword [r12 + 0x60]
mov dword [r12 + 0x60], edx
bswap eax
mov dword [rsp + 0x3ec], eax
mov eax, dword [r12 + 0x80]
mov dword [r12 + 0x80], r11d
bswap eax
mov dword [rsp + 0x3f0], eax
mov eax, dword [r12 + 0xa0]
mov dword [r12 + 0xa0], ebx
bswap eax
mov dword [rsp + 0x3f4], eax
mov eax, dword [r12 + 0xc0]
mov dword [r12 + 0xc0], esi
bswap eax
mov dword [rsp + 0x3f8], eax
mov eax, dword [r12 + 0xe0]
bswap eax
mov dword [rsp + 0x3fc], eax
mov r10d, dword [r12 + 4]
mov eax, 0x300
bswap r10d
bswap eax
mov dword [rsp + 0x460], r10d
mov r10d, dword [r12 + 0x24]
mov dword [r12 + 0xe0], edi
bswap r10d
mov byte [rsp + 0x400], 0x80
mov dword [rsp + 0x464], r10d
mov r10d, dword [r12 + 0x44]
mov dword [rsp + 0x41c], eax
bswap r10d
mov dword [r12 + 4], r9d
mov dword [rsp + 0x468], r10d
mov r10d, dword [r12 + 0x64]
mov dword [r12 + 0x24], r8d
bswap r10d
mov dword [r12 + 0x44], ecx
mov dword [rsp + 0x46c], r10d
mov r10d, dword [r12 + 0x84]
mov dword [r12 + 0x64], edx
bswap r10d
mov dword [r12 + 0x84], r11d
mov dword [rsp + 0x470], r10d
mov r10d, dword [r12 + 0xa4]
mov byte [rsp + 0x480], 0x80
bswap r10d
mov dword [r12 + 0xa4], ebx
mov dword [rsp + 0x474], r10d
mov r10d, dword [r12 + 0xc4]
mov dword [rsp + 0x49c], eax
bswap r10d
mov dword [r12 + 0xc4], esi
mov dword [rsp + 0x478], r10d
mov r10d, dword [r12 + 0xe4]
mov dword [r12 + 0xe4], edi
bswap r10d
mov dword [rsp + 0x47c], r10d
mov r10d, dword [r12 + 8]
mov dword [r12 + 8], r9d
bswap r10d
mov dword [rsp + 0x4e0], r10d
mov r10d, dword [r12 + 0x28]
mov dword [r12 + 0x28], r8d
bswap r10d
mov byte [rsp + 0x500], 0x80
mov dword [rsp + 0x4e4], r10d
mov r10d, dword [r12 + 0x48]
mov dword [rsp + 0x51c], eax
bswap r10d
mov dword [r12 + 0x48], ecx
mov dword [rsp + 0x4e8], r10d
mov r10d, dword [r12 + 0x68]
mov dword [r12 + 0x68], edx
bswap r10d
mov dword [rsp + 0x4ec], r10d
mov r10d, dword [r12 + 0x88]
mov dword [r12 + 0x88], r11d
bswap r10d
mov dword [rsp + 0x4f0], r10d
mov r10d, dword [r12 + 0xa8]
mov dword [r12 + 0xa8], ebx
bswap r10d
mov dword [rsp + 0x4f4], r10d
mov r10d, dword [r12 + 0xc8]
mov dword [r12 + 0xc8], esi
bswap r10d
mov dword [rsp + 0x4f8], r10d
mov r10d, dword [r12 + 0xe8]
mov dword [r12 + 0xe8], edi
bswap r10d
mov dword [rsp + 0x4fc], r10d
mov r10d, dword [r12 + 0xc]
mov dword [r12 + 0xc], r9d
bswap r10d
mov dword [rsp + 0x560], r10d
mov r10d, dword [r12 + 0x2c]
mov dword [r12 + 0x2c], r8d
bswap r10d
mov dword [rsp + 0x564], r10d
mov r10d, dword [r12 + 0x4c]
mov dword [r12 + 0x4c], ecx
bswap r10d
mov dword [rsp + 0x568], r10d
mov r10d, dword [r12 + 0x6c]
bswap r10d
mov dword [rsp + 0x56c], r10d
mov r10d, dword [r12 + 0x8c]
bswap r10d
mov dword [rsp + 0x570], r10d
mov r10d, dword [r12 + 0xac]
bswap r10d
mov dword [rsp + 0x574], r10d
mov r10d, dword [r12 + 0xcc]
bswap r10d
mov dword [rsp + 0x578], r10d
mov r10d, dword [r12 + 0xec]
bswap r10d
cmp dword [rsp + 0x24], 4
mov dword [r12 + 0x6c], edx
mov dword [r12 + 0x8c], r11d
mov dword [r12 + 0xac], ebx
mov dword [r12 + 0xcc], esi
mov dword [rsp + 0x57c], r10d
mov dword [r12 + 0xec], edi
mov byte [rsp + 0x580], 0x80
mov dword [rsp + 0x59c], eax
je 0x568310
mov r10d, dword [r12 + 0x10]
mov byte [rsp + 0x600], 0x80
mov dword [r12 + 0x10], r9d
bswap r10d
mov dword [rsp + 0x61c], eax
mov dword [rsp + 0x5e0], r10d
mov r10d, dword [r12 + 0x30]
mov dword [r12 + 0x30], r8d
bswap r10d
mov dword [rsp + 0x5e4], r10d
mov r10d, dword [r12 + 0x50]
mov dword [r12 + 0x50], ecx
bswap r10d
mov dword [rsp + 0x5e8], r10d
mov r10d, dword [r12 + 0x70]
mov dword [r12 + 0x70], edx
bswap r10d
mov dword [rsp + 0x5ec], r10d
mov r10d, dword [r12 + 0x90]
mov dword [r12 + 0x90], r11d
bswap r10d
mov dword [rsp + 0x5f0], r10d
mov r10d, dword [r12 + 0xb0]
mov dword [r12 + 0xb0], ebx
bswap r10d
mov dword [rsp + 0x5f4], r10d
mov r10d, dword [r12 + 0xd0]
mov dword [r12 + 0xd0], esi
bswap r10d
mov dword [rsp + 0x5f8], r10d
mov r10d, dword [r12 + 0xf0]
mov dword [r12 + 0xf0], edi
bswap r10d
mov dword [rsp + 0x5fc], r10d
mov r10d, dword [r12 + 0x14]
mov dword [r12 + 0x14], r9d
bswap r10d
mov dword [rsp + 0x660], r10d
mov r10d, dword [r12 + 0x34]
mov dword [r12 + 0x34], r8d
bswap r10d
mov dword [rsp + 0x664], r10d
mov r10d, dword [r12 + 0x54]
mov dword [r12 + 0x54], ecx
bswap r10d
mov byte [rsp + 0x680], 0x80
mov dword [rsp + 0x668], r10d
mov r10d, dword [r12 + 0x74]
mov dword [rsp + 0x69c], eax
mov dword [r12 + 0x74], edx
bswap r10d
mov dword [rsp + 0x66c], r10d
mov r10d, dword [r12 + 0x94]
mov dword [r12 + 0x94], r11d
bswap r10d
mov dword [rsp + 0x670], r10d
mov r10d, dword [r12 + 0xb4]
mov dword [r12 + 0xb4], ebx
bswap r10d
mov dword [rsp + 0x674], r10d
mov r10d, dword [r12 + 0xd4]
mov dword [r12 + 0xd4], esi
bswap r10d
mov dword [rsp + 0x678], r10d
mov r10d, dword [r12 + 0xf4]
mov dword [r12 + 0xf4], edi
bswap r10d
mov dword [rsp + 0x67c], r10d
mov r10d, dword [r12 + 0x18]
mov dword [r12 + 0x18], r9d
bswap r10d
mov dword [rsp + 0x6e0], r10d
mov r10d, dword [r12 + 0x38]
mov dword [r12 + 0x38], r8d
bswap r10d
mov dword [rsp + 0x6e4], r10d
mov r10d, dword [r12 + 0x58]
mov dword [r12 + 0x58], ecx
bswap r10d
mov dword [rsp + 0x6e8], r10d
mov r10d, dword [r12 + 0x78]
mov dword [r12 + 0x78], edx
bswap r10d
mov dword [rsp + 0x6ec], r10d
mov r10d, dword [r12 + 0x98]
mov dword [r12 + 0x98], r11d
bswap r10d
mov byte [rsp + 0x700], 0x80
mov dword [rsp + 0x6f0], r10d
mov r10d, dword [r12 + 0xb8]
mov dword [rsp + 0x71c], eax
bswap r10d
mov dword [r12 + 0xb8], ebx
mov dword [rsp + 0x6f4], r10d
mov r10d, dword [r12 + 0xd8]
mov dword [r12 + 0xd8], esi
bswap r10d
mov dword [rsp + 0x6f8], r10d
mov r10d, dword [r12 + 0xf8]
mov dword [r12 + 0xf8], edi
bswap r10d
mov dword [rsp + 0x6fc], r10d
mov r10d, dword [r12 + 0x1c]
mov dword [r12 + 0x1c], r9d
mov r9d, dword [r12 + 0x3c]
bswap r10d
mov dword [r12 + 0x3c], r8d
mov r8d, dword [r12 + 0x5c]
mov dword [rsp + 0x760], r10d
mov dword [r12 + 0x5c], ecx
mov ecx, dword [r12 + 0x7c]
bswap r9d
mov dword [r12 + 0x7c], edx
mov edx, dword [r12 + 0x9c]
mov dword [rsp + 0x764], r9d
bswap edx
mov dword [r12 + 0x9c], r11d
mov dword [rsp + 0x770], edx
mov edx, dword [r12 + 0xbc]
bswap r8d
bswap edx
mov dword [rsp + 0x768], r8d
mov dword [rsp + 0x774], edx
mov dword [r12 + 0xbc], ebx
bswap ecx
mov dword [rsp + 0x76c], ecx
mov edx, dword [r12 + 0xdc]
mov dword [r12 + 0xdc], esi
bswap edx
mov byte [rsp + 0x780], 0x80
mov dword [rsp + 0x778], edx
mov edx, dword [r12 + 0xfc]
mov dword [rsp + 0x79c], eax
bswap edx
mov dword [r12 + 0xfc], edi
mov dword [rsp + 0x77c], edx
mov dword [rsp + 0x108], 1
cmp dword [rsp + 0x24], 4
mov dword [rsp + 0x118], 1
mov dword [rsp + 0x128], 1
mov dword [rsp + 0x138], 1
je 0x56836f
mov dword [rsp + 0x148], 1
mov dword [rsp + 0x158], 1
mov dword [rsp + 0x168], 1
mov dword [rsp + 0x178], 1
mov rax, qword [rsp + 0x68]
cmp dword [rsp + 0x24], 4
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x460]
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0x4e0]
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x560]
mov qword [rsp + 0x130], rax
je 0x5683f3
lea rax, [rsp + 0x5e0]
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x660]
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x6e0]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x760]
mov qword [rsp + 0x170], rax
mov r8d, dword [rsp + 0x860]
mov rcx, r12
mov rbx, r12
xor edi, edi
mov rdx, qword [rsp + 0x30]
call fcn.005bf600
mov eax, 1
sub eax, dword [rsp + 0x3c]
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x30], eax
xor eax, eax
mov rsi, qword [rsp + 0x50]
mov r12, rax
jmp 0x5684a8
test r11b, 4
jne 0x568597
test r11d, r11d
je 0x56844c
and ecx, 2
mov byte [rax + 0x20], r9b
jne 0x5685a5
mov eax, dword [rsp + 0x30]
add edx, r8d
add r11, r13
add edi, 1
add rsi, 0x28
add rbx, 4
add eax, edx
shr eax, 4
mov dword [rsi - 0x18], eax
movzx eax, byte [r15 + 0x204]
mov byte [rbp], al
movzx eax, byte [r15 + 0x205]
mov byte [rbp + 1], al
movzx eax, byte [r15 + 0x206]
mov byte [rbp + 2], al
lea eax, [rdx + 0x11]
rol ax, 8
mov word [rbp + 3], ax
lea eax, [rdx + 0x16]
add r12, rax
cmp dword [rsp + 0x24], edi
je 0x567698
mov rbp, r11
cmp edi, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x28]
cmove r14d, dword [rsp + 0x2c]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi]
mov r8d, r14d
sub r8d, dword [rsp + 0x3c]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 8]
lea r8d, [r14 + 0x20]
mov edx, dword [rbx]
bswap edx
mov qword [rsi], rax
lea eax, [r14 + 0x15]
movabs r14, 0x101010101010101
add rax, rbp
mov dword [rax], edx
mov edx, dword [rbx + 0x20]
lea r13, [rax + 0x20]
bswap edx
mov dword [rax + 4], edx
mov edx, dword [rbx + 0x40]
bswap edx
mov dword [rax + 8], edx
mov edx, dword [rbx + 0x60]
bswap edx
mov dword [rax + 0xc], edx
mov edx, dword [rbx + 0x80]
bswap edx
mov dword [rax + 0x10], edx
mov edx, dword [rbx + 0xa0]
bswap edx
mov dword [rax + 0x14], edx
mov edx, dword [rbx + 0xc0]
bswap edx
mov dword [rax + 0x18], edx
mov edx, dword [rbx + 0xe0]
bswap edx
mov dword [rax + 0x1c], edx
mov edx, r8d
not edx
and edx, 0xf
lea r11d, [rdx + 1]
movzx r9d, dl
imul r9, r14
mov rcx, r11
cmp r11d, 8
jb 0x568430
mov qword [rax + 0x20], r9
add rax, 0x28
mov r10, r13
and rax, 0xfffffffffffffff8
mov qword [r13 + r11 - 8], r9
sub r10, rax
add ecx, r10d
and ecx, 0xfffffff8
cmp ecx, 8
jb 0x56844c
and ecx, 0xfffffff8
xor r10d, r10d
mov r14d, r10d
add r10d, 8
mov qword [rax + r14], r9
cmp r10d, ecx
jb 0x568582
jmp 0x56844c
mov dword [rax + 0x20], r9d
mov dword [r13 + r11 - 4], r9d
jmp 0x56844c
mov word [r13 + r11 - 2], r9w
jmp 0x56844c
mov rsi, qword [r15 + 0x1fc]
mov eax, dword [rsp + 0x24]
mov qword [rsp + 0x3e0], rsi
bswap rsi
test eax, eax
jne 0x56739a
lea rax, [rsp + 0x100]
mov r8d, dword [rsp + 0x860]
mov rcx, r12
mov rdx, rax
mov qword [rsp + 0x30], rax
call fcn.005bf600
cmp dword [rsp + 0x70], 0x83f
jbe 0x56860a
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
jmp 0x567866
mov r8d, dword [rsp + 0x860]
mov rcx, r12
lea rdx, [rsp + 0x80]
call fcn.005bf600
mov rdi, qword [rsp + 0x68]
xor eax, eax
mov ecx, pe_nt_image_headers64
rep stosq qword [rdi], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x50], rax
mov rsi, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x860]
mov rcx, r12
mov rdx, rsi
call fcn.005bf600
mov rdi, qword [rsp + 0x68]
xor eax, eax
mov rdx, rsi
mov ecx, pe_nt_image_headers64
mov r8d, dword [rsp + 0x860]
rep stosq qword [rdi], rax
mov rcx, r12
xor edi, edi
call fcn.005bf600
jmp 0x5676a0