Function at 0x45af70
Capabilities:
Encode data using xor
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, 0xf8
mov rsi, qword [rcx + 0xa0]
mov eax, dword [rcx + 4]
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x20], rsi
mov rdx, rsi
bswap rdx
test eax, eax
mov qword [rsp + 0x54], rdx
je 0x45aff0
cmp eax, 3
ja 0x45afdb
mov edx, eax
add eax, 1
cmp eax, 4
mov byte [rsp + rdx + 0x50], 0
je 0x45c003
mov ecx, eax
add eax, 1
cmp eax, 4
mov byte [rsp + rcx + 0x50], 0
jne 0x45afc9
mov rax, rdx
mov r8d, 0x10
sub r8, rax
jmp 0x45affb
mov r8d, 0xc
mov eax, 4
mov rcx, qword [rsp + 0x140]
lea rdx, [rsp + rax + 0x50]
mov r14d, 0x20
call dbg.fugue4_core.lto_priv.81
mov rax, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x140]
lea rcx, [rsp + 0x60]
mov r15, rcx
mov qword [rsp + 0x20], rcx
mov eax, dword [rax + 8]
add rdi, 0xc
lea esi, [rax + rax*2]
lea eax, [rsi*4]
lea rbx, [rax*4]
mov rsi, rax
neg rax
lea rdx, [rdi + rax*4 + 0x90]
mov r8, rbx
call sym.memcpy
mov r8d, 0x24
mov rcx, r15
mov rdx, rdi
sub r8d, esi
add rcx, rbx
shl r8, 2
call sym.memcpy
lea rax, [r15 + 0xc]
mov qword [rsp + 0x28], rax
nop dword [rax]
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov r8d, 0x84
mov ebp, dword [rsp + 0xe4]
mov ebx, dword [rsp + 0xe8]
mov edi, dword [rsp + 0xec]
call sym.memmove
mov r12d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x78]
mov eax, ebp
mov ecx, dword [rsp + 0x74]
xor dword [rsp + 0xb0], edx
lea r9, [0x004ceea0]
xor dword [rsp + 0xac], ecx
mov r15d, dword [rsp + 0xa8]
xor eax, r12d
xor edi, edx
mov edx, eax
mov r10d, edi
lea rdi, [0x004cf2a0]
shr edx, 0x10
xor ebx, ecx
movzx r8d, al
movzx edx, dl
xor r15d, r12d
mov ecx, dword [rdi + rdx*4]
lea rdi, [0x004ceea0]
movzx edx, ah
shr eax, 0x18
mov dword [rsp + 0xa8], r15d
mov edx, dword [rdi + rdx*4]
lea rdi, [0x004ceaa0]
mov r8d, dword [rdi + r8*4]
lea rdi, [0x004cf6a0]
mov esi, edx
mov ebp, dword [rdi + rax*4]
mov eax, ebx
shr eax, 0x18
mov eax, dword [rdi + rax*4]
movzx edi, bh
mov r11d, dword [r9 + rdi*4]
lea rdi, [0x004ceaa0]
xor ebp, r8d
movzx r9d, bl
xor ebp, ecx
shr ebx, 0x10
mov r9d, dword [rdi + r9*4]
xor ebp, edx
lea rdx, [0x004cf2a0]
movzx ebx, bl
mov edi, eax
xor esi, r11d
xor edi, r9d
xor edi, dword [rdx + rbx*4]
xor r8d, r9d
lea rbx, [0x004cf6a0]
mov r9d, r10d
shr r9d, 0x18
xor edi, r11d
mov r11d, dword [rbx + r9*4]
mov r9d, r10d
shr r9d, 0x10
lea rbx, [0x004ceaa0]
movzx r9d, r9b
mov r13d, dword [rdx + r9*4]
movzx r9d, r10b
mov edx, r10d
mov ebx, dword [rbx + r9*4]
xor eax, r11d
movzx edx, dh
mov r10, rdx
lea rdx, [0x004ceea0]
xor ecx, r13d
xor r8d, ebx
xor r11d, ebx
mov ebx, dword [rsp + 0x6c]
mov r9d, r11d
xor r9d, r13d
xor r9d, dword [rdx + r10*4]
lea rdx, [0x004cf6a0]
mov r10d, ebx
shr r10d, 0x18
mov r11d, dword [rdx + r10*4]
mov r10d, ebx
lea rdx, [0x004cf2a0]
shr r10d, 0x10
movzx r10d, r10b
mov r10d, dword [rdx + r10*4]
movzx edx, bh
movzx ebx, bl
mov r13, rdx
lea rdx, [0x004ceea0]
xor eax, r11d
mov r13d, dword [rdx + r13*4]
xor ecx, r10d
xor esi, r13d
mov edx, esi
lea rsi, [0x004ceaa0]
xor r11d, dword [rsi + rbx*4]
mov ebx, ebp
xor ebx, eax
and ebx, 0xff000000
xor r10d, r11d
mov r11d, edi
xor r11d, ecx
xor r10d, r13d
mov r13d, r8d
and r11d, 0xff0000
shr r13d, 0x18
or ebx, r11d
mov r11d, r8d
xor r13d, ebp
xor r11d, r10d
movzx r13d, r13b
movzx r11d, r11b
or ebx, r11d
mov r11d, r9d
xor r11d, edx
and r11d, 0xff00
or ebx, r11d
mov r11d, eax
shl r11d, 8
mov dword [rsp + 0x60], ebx
xor r11d, edi
and r11d, 0xff000000
or r11d, r13d
mov r13d, ecx
shl r13d, 8
xor r13d, r9d
and r13d, 0xff0000
or r11d, r13d
mov r13d, edx
shl r13d, 8
xor r13d, r10d
and r13d, 0xff00
or r11d, r13d
mov r13d, r8d
mov dword [rsp + 0x64], r11d
mov r11d, eax
shr r13d, 0x10
shl r11d, 0x10
xor r13d, edi
xor r11d, r9d
movzx r13d, r13b
and r11d, 0xff000000
or r11d, r13d
mov r13d, ecx
shl eax, 0x18
shl r13d, 0x10
shr r8d, 8
shr ecx, 8
xor r13d, r10d
xor r9d, r8d
xor r10d, eax
and r13d, 0xff0000
and r10d, 0xff000000
movzx r9d, r9b
or r11d, r13d
mov r13d, edx
shr edx, 8
shr r13d, 0x10
or r10d, r9d
xor edi, edx
xor r13d, ebp
xor ebp, ecx
and edi, 0xff00
and ebp, 0xff0000
and r13d, 0xff00
or ebp, r10d
or r11d, r13d
or edi, ebp
sub r14d, 1
mov dword [rsp + 0x68], r11d
mov dword [rsp + 0x6c], edi
jne 0x45b090
mov rax, qword [rsp + 0x20]
mov dword [rsp + 0x44], 0xd
mov edi, ebx
lea rsi, [rax + 0x24]
add rax, 0x20
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x28], rsi
jmp 0x45b378
mov r15d, dword [rsp + 0xa8]
mov ebp, dword [rsp + 0x84]
xor r12d, edi
xor r15d, edi
mov r10d, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xdc]
mov r8d, 0x6c
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
xor ebp, edi
xor edi, dword [rsp + 0xcc]
mov esi, dword [rsp + 0xd4]
mov r14d, dword [rsp + 0xd0]
mov ebx, dword [rsp + 0xd8]
mov r13d, dword [rsp + 0xe4]
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x84], ebp
mov r12d, dword [rsp + 0xe8]
mov dword [rsp + 0xa8], r15d
mov dword [rsp + 0x3c], edi
mov dword [rsp + 0x38], r10d
mov edi, dword [rsp + 0xec]
mov dword [rsp + 0x30], eax
call sym.memmove
mov r9d, dword [rsp + 0x3c]
lea rcx, [0x004cf2a0]
mov dword [rsp + 0x7c], r12d
mov dword [rsp + 0x80], edi
mov dword [rsp + 0x78], r13d
mov r10d, dword [rsp + 0x38]
mov eax, r9d
shr eax, 0x10
movzx eax, al
mov dword [rsp + 0x74], r10d
mov r12d, dword [rcx + rax*4]
mov eax, r9d
lea rcx, [0x004ceea0]
movzx eax, ah
mov edi, dword [rcx + rax*4]
lea rcx, [0x004ceaa0]
movzx eax, r9b
shr r9d, 0x18
mov r13d, dword [rcx + rax*4]
lea rcx, [0x004cf6a0]
mov eax, r14d
shr eax, 0x18
mov r8d, dword [rcx + rax*4]
mov r11d, dword [rcx + r9*4]
mov eax, r14d
lea rcx, [0x004ceea0]
movzx eax, ah
mov edx, dword [rcx + rax*4]
lea rcx, [0x004ceaa0]
movzx eax, r14b
shr r14d, 0x10
mov r10d, r8d
xor r11d, r13d
mov eax, dword [rcx + rax*4]
lea rcx, [0x004cf2a0]
movzx r14d, r14b
xor r11d, r12d
xor r11d, edi
xor r10d, eax
xor r10d, dword [rcx + r14*4]
mov ecx, esi
lea r14, [0x004cf6a0]
shr ecx, 0x18
mov dword [rsp + 0x38], eax
lea rax, [0x004ceaa0]
mov r9d, dword [r14 + rcx*4]
mov ecx, esi
lea r14, [0x004cf2a0]
shr ecx, 0x10
xor r10d, edx
movzx ecx, cl
mov ecx, dword [r14 + rcx*4]
movzx r14d, sil
xor r8d, r9d
mov r14d, dword [rax + r14*4]
mov eax, esi
movzx esi, ah
lea rax, [0x004ceea0]
xor r9d, r14d
xor r9d, ecx
xor r9d, dword [rax + rsi*4]
mov eax, dword [rsp + 0x38]
lea rsi, [0x004cf6a0]
xor eax, r14d
lea r14, [0x004cf2a0]
xor r13d, eax
mov eax, ebx
shr eax, 0x18
mov eax, dword [rsi + rax*4]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
mov esi, dword [r14 + rsi*4]
lea r14, [0x004ceea0]
xor r8d, eax
xor ecx, esi
xor r12d, ecx
movzx ecx, bh
movzx ebx, bl
mov ecx, dword [r14 + rcx*4]
xor edx, ecx
xor edi, edx
lea rdx, [0x004ceaa0]
xor eax, dword [rdx + rbx*4]
xor eax, esi
mov esi, r10d
xor ecx, eax
xor esi, r12d
mov eax, r9d
xor eax, edi
mov ebx, esi
and eax, 0xff00
and ebx, 0xff0000
or ebx, eax
mov eax, r13d
xor eax, ecx
movzx eax, al
or ebx, eax
mov eax, r11d
xor eax, r8d
and eax, 0xff000000
or ebx, eax
mov eax, r12d
shl eax, 8
mov dword [rsp + 0x60], ebx
xor eax, r9d
mov edx, eax
mov eax, edi
shl eax, 8
and edx, 0xff0000
xor eax, ecx
and eax, 0xff00
or eax, edx
mov edx, r8d
shl edx, 8
xor edx, r10d
and edx, 0xff000000
or eax, edx
mov edx, r13d
shr edx, 0x18
xor edx, r11d
movzx edx, dl
or eax, edx
mov edx, r8d
shl edx, 0x10
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x64], eax
mov eax, edx
mov edx, r13d
shr edx, 0x10
xor eax, r9d
xor edx, r10d
and eax, 0xff000000
movzx edx, dl
or eax, edx
mov edx, r12d
shl edx, 0x10
xor edx, ecx
shl r8d, 0x18
shr r13d, 8
and edx, 0xff0000
xor r13d, r9d
xor r8d, ecx
or eax, edx
mov edx, edi
shr edi, 8
xor r10d, edi
mov edi, dword [rsp + 0x30]
shr r12d, 8
shr edx, 0x10
and r8d, 0xff000000
movzx r13d, r13b
xor edx, r11d
xor r11d, r12d
or r13d, r8d
xor edi, ebx
mov r8d, r11d
and edx, 0xff00
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x88]
and r8d, 0xff0000
or r13d, r8d
and r10d, 0xff00
or eax, edx
or r10d, r13d
mov dword [rsp + 0x68], eax
xor ebp, ebx
xor edi, ebx
mov dword [rsp + 0x6c], r10d
xor r15d, ebx
mov dword [rsp + 0x88], edi
mov ecx, dword [rsp + 0xdc]
mov r8d, 0x6c
mov r10d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x20]
mov esi, dword [rsp + 0xd4]
mov ebx, dword [rsp + 0xd8]
mov dword [rsp + 0x3c], ecx
mov rcx, qword [rsp + 0x28]
mov r14d, dword [rsp + 0xe4]
mov r13d, dword [rsp + 0xe8]
mov r12d, dword [rsp + 0xec]
mov dword [rsp + 0xa8], ebp
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x30], r10d
mov r15d, dword [rsp + 0xd0]
call sym.memmove
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x7c], r13d
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x78], r14d
mov r10d, dword [rsp + 0x30]
mov edx, r9d
shr edx, 0x10
movzx eax, dl
lea rdx, [0x004cf2a0]
mov dword [rsp + 0x74], r10d
mov r13d, dword [rdx + rax*4]
mov eax, r9d
lea rdx, [0x004ceea0]
movzx eax, ah
mov r12d, dword [rdx + rax*4]
lea rdx, [0x004ceaa0]
movzx eax, r9b
shr r9d, 0x18
mov r14d, dword [rdx + rax*4]
lea rdx, [0x004cf6a0]
mov r11d, dword [rdx + r9*4]
mov edx, r15d
lea r9, [0x004cf2a0]
shr edx, 0x18
mov eax, edx
lea rdx, [0x004cf6a0]
xor r11d, r14d
mov r8d, dword [rdx + rax*4]
mov eax, r15d
lea rdx, [0x004ceea0]
movzx eax, ah
xor r11d, r13d
mov ecx, dword [rdx + rax*4]
lea rdx, [0x004ceaa0]
movzx eax, r15b
xor r11d, r12d
shr r15d, 0x10
mov r10d, r8d
mov edx, dword [rdx + rax*4]
movzx r15d, r15b
xor r10d, edx
xor r10d, dword [r9 + r15*4]
mov r15d, esi
shr r15d, 0x18
mov eax, r15d
lea r15, [0x004cf6a0]
mov r9d, dword [r15 + rax*4]
mov r15d, esi
xor r10d, ecx
shr r15d, 0x10
movzx eax, r15b
lea r15, [0x004cf2a0]
xor r8d, r9d
mov eax, dword [r15 + rax*4]
movzx r15d, sil
mov dword [rsp + 0x30], eax
lea rax, [0x004ceaa0]
mov r15d, dword [rax + r15*4]
mov eax, esi
movzx esi, ah
lea rax, [0x004ceea0]
xor edx, r15d
xor r9d, r15d
lea r15, [0x004cf6a0]
xor r14d, edx
xor r9d, dword [rsp + 0x30]
mov edx, ebx
xor r9d, dword [rax + rsi*4]
shr edx, 0x18
mov esi, ebx
mov edx, dword [r15 + rdx*4]
shr esi, 0x10
lea r15, [0x004cf2a0]
movzx esi, sil
mov eax, dword [rsp + 0x30]
mov esi, dword [r15 + rsi*4]
lea r15, [0x004ceea0]
xor r8d, edx
xor eax, esi
xor r13d, eax
movzx eax, bh
movzx ebx, bl
mov eax, dword [r15 + rax*4]
lea r15, [0x004ceaa0]
xor edx, dword [r15 + rbx*4]
mov ebx, r10d
mov r15d, r8d
xor ecx, eax
xor ebx, r13d
xor r12d, ecx
and ebx, 0xff0000
xor edx, esi
xor eax, edx
mov edx, r9d
xor edx, r12d
and edx, 0xff00
or ebx, edx
mov edx, r14d
xor edx, eax
movzx edx, dl
or ebx, edx
mov edx, r11d
xor edx, r8d
and edx, 0xff000000
or ebx, edx
mov edx, r13d
shl edx, 8
shl r15d, 8
mov dword [rsp + 0x60], ebx
xor edx, r9d
and edx, 0xff0000
mov ecx, edx
mov edx, r12d
shl edx, 8
xor edx, eax
and edx, 0xff00
or edx, ecx
mov ecx, r15d
mov r15d, r14d
xor ecx, r10d
shr r15d, 0x18
and ecx, 0xff000000
or edx, ecx
mov ecx, r15d
mov r15d, r8d
xor ecx, r11d
shl r15d, 0x10
shl r8d, 0x18
movzx ecx, cl
xor r8d, eax
or edx, ecx
and r8d, 0xff000000
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x64], edx
mov edx, r15d
mov r15d, r14d
xor edx, r9d
shr r14d, 8
shr r15d, 0x10
and edx, 0xff000000
mov ecx, r15d
mov r15d, r13d
xor ecx, r10d
shl r15d, 0x10
movzx ecx, cl
or edx, ecx
mov ecx, r15d
mov r15d, r12d
xor ecx, eax
shr r15d, 0x10
and ecx, 0xff0000
or edx, ecx
mov ecx, r15d
xor ecx, r11d
and ecx, 0xff00
or edx, ecx
xor r9d, r14d
shr r13d, 8
xor r13d, r11d
shr r12d, 8
movzx r9d, r9b
mov r14d, dword [rsp + 0x3c]
or r8d, r9d
and r13d, 0xff0000
xor r10d, r12d
or r8d, r13d
mov dword [rsp + 0x68], edx
and r10d, 0xff00
mov r9d, ebp
xor edi, ebx
or r8d, r10d
xor r14d, ebx
xor r9d, ebx
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x70], r14d
mov r8d, 0x6c
mov esi, dword [rsp + 0x38]
mov r14d, dword [rsp + 0xdc]
mov r10d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov r12d, dword [rsp + 0xd4]
xor esi, ebx
mov ebp, dword [rsp + 0xd0]
mov ebx, dword [rsp + 0xd8]
mov r15d, dword [rsp + 0xe4]
mov r13d, dword [rsp + 0xec]
mov dword [rsp + 0x88], esi
mov dword [rsp + 0xac], edi
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r10d
mov r14d, dword [rsp + 0xe8]
call sym.memmove
mov r9d, dword [rsp + 0x40]
lea rcx, [0x004cf2a0]
mov dword [rsp + 0x80], r13d
mov dword [rsp + 0x7c], r14d
mov dword [rsp + 0x78], r15d
mov r10d, dword [rsp + 0x3c]
mov eax, r9d
shr eax, 0x10
movzx eax, al
mov dword [rsp + 0x74], r10d
mov r14d, dword [rcx + rax*4]
mov eax, r9d
lea rcx, [0x004ceea0]
movzx eax, ah
mov r13d, dword [rcx + rax*4]
lea rcx, [0x004ceaa0]
movzx eax, r9b
shr r9d, 0x18
mov r15d, dword [rcx + rax*4]
lea rcx, [0x004cf6a0]
mov eax, ebp
shr eax, 0x18
mov r8d, dword [rcx + rax*4]
mov r11d, dword [rcx + r9*4]
mov eax, ebp
lea rcx, [0x004ceea0]
movzx eax, ah
lea r9, [0x004cf6a0]
mov edx, dword [rcx + rax*4]
lea rcx, [0x004ceaa0]
movzx eax, bpl
shr ebp, 0x10
mov r10d, r8d
xor r11d, r15d
mov eax, dword [rcx + rax*4]
lea rcx, [0x004cf2a0]
movzx ebp, bpl
xor r11d, r14d
xor r11d, r13d
xor r10d, eax
xor r10d, dword [rcx + rbp*4]
mov ecx, r12d
shr ecx, 0x18
lea rbp, [0x004cf2a0]
mov dword [rsp + 0x3c], eax
mov r9d, dword [r9 + rcx*4]
mov ecx, r12d
lea rax, [0x004ceaa0]
shr ecx, 0x10
movzx ecx, cl
xor r10d, edx
mov ecx, dword [rbp + rcx*4]
movzx ebp, r12b
xor r8d, r9d
mov ebp, dword [rax + rbp*4]
mov eax, r12d
movzx eax, ah
mov r12, rax
lea rax, [0x004ceea0]
xor r9d, ebp
xor r9d, ecx
xor r9d, dword [rax + r12*4]
mov eax, dword [rsp + 0x3c]
lea r12, [0x004cf2a0]
xor eax, ebp
lea rbp, [0x004cf6a0]
xor r15d, eax
mov eax, ebx
shr eax, 0x18
mov eax, dword [rbp + rax*4]
mov ebp, ebx
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r12 + rbp*4]
lea r12, [0x004ceea0]
xor r8d, eax
xor ecx, ebp
xor r14d, ecx
movzx ecx, bh
movzx ebx, bl
mov ecx, dword [r12 + rcx*4]
xor edx, ecx
xor edx, r13d
lea r13, [0x004ceaa0]
xor eax, dword [r13 + rbx*4]
mov ebx, r10d
xor ebx, r14d
and ebx, 0xff0000
xor eax, ebp
xor ecx, eax
mov eax, r9d
xor eax, edx
and eax, 0xff00
or ebx, eax
mov eax, r15d
xor eax, ecx
movzx eax, al
or ebx, eax
mov eax, r11d
xor eax, r8d
and eax, 0xff000000
or ebx, eax
mov eax, r14d
shl eax, 8
mov dword [rsp + 0x60], ebx
xor eax, r9d
mov ebp, eax
mov eax, edx
shl eax, 8
and ebp, 0xff0000
xor eax, ecx
and eax, 0xff00
or eax, ebp
mov ebp, r8d
shl ebp, 8
xor ebp, r10d
and ebp, 0xff000000
or eax, ebp
mov ebp, r15d
shr ebp, 0x18
xor ebp, r11d
movzx ebp, bpl
or eax, ebp
mov ebp, r15d
shr r15d, 8
mov dword [rsp + 0x64], eax
mov eax, r8d
shr ebp, 0x10
shl eax, 0x10
xor ebp, r10d
shl r8d, 0x18
xor eax, r9d
movzx ebp, bpl
xor r8d, ecx
and eax, 0xff000000
xor r9d, r15d
and r8d, 0xff000000
or eax, ebp
mov ebp, r14d
shr r14d, 8
shl ebp, 0x10
movzx r9d, r9b
xor ebp, ecx
or r9d, r8d
and ebp, 0xff0000
or eax, ebp
mov ebp, edx
shr edx, 8
shr ebp, 0x10
xor edx, r10d
xor ebp, r11d
xor r11d, r14d
mov r14d, dword [rsp + 0x38]
and ebp, 0xff00
mov r8d, r11d
and edx, 0xff00
or eax, ebp
and r8d, 0xff0000
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x30]
or r9d, r8d
or edx, r9d
xor r14d, ebx
mov r8d, 0x70
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x70], r14d
xor eax, ebx
xor esi, ebx
xor edi, ebx
mov dword [rsp + 0x88], eax
mov dword [rsp + 0xac], esi
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov esi, dword [rsp + 0xd8]
mov r15d, dword [rsp + 0xd4]
mov r13d, dword [rsp + 0xe4]
mov ebp, dword [rsp + 0xe8]
mov ebx, dword [rsp + 0xec]
mov r12d, dword [rsp + 0xe0]
call sym.memmove
mov eax, edi
lea rcx, [0x004cf2a0]
mov dword [rsp + 0x74], r13d
shr eax, 0x10
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0x7c], ebx
movzx eax, al
movzx ebx, sil
mov dword [rsp + 0x70], r12d
mov r13d, dword [rcx + rax*4]
mov eax, edi
lea rcx, [0x004ceea0]
movzx eax, ah
mov ebp, dword [rcx + rax*4]
lea rcx, [0x004ceaa0]
movzx eax, dil
shr edi, 0x18
mov r14d, dword [rcx + rax*4]
lea rax, [0x004cf6a0]
mov ecx, r15d
movzx edx, ch
movzx ecx, r15b
mov r11d, dword [rax + rdi*4]
mov eax, r15d
lea rdi, [0x004cf6a0]
shr eax, 0x18
shr r15d, 0x10
mov eax, dword [rdi + rax*4]
lea rdi, [0x004ceea0]
movzx r15d, r15b
xor r11d, r14d
mov edx, dword [rdi + rdx*4]
lea rdi, [0x004ceaa0]
xor r11d, r13d
mov r10d, eax
xor r11d, ebp
mov r8d, dword [rdi + rcx*4]
lea rdi, [0x004cf2a0]
mov ecx, esi
shr ecx, 0x18
xor r10d, r8d
xor r10d, dword [rdi + r15*4]
lea rdi, [0x004cf6a0]
mov r9d, dword [rdi + rcx*4]
mov ecx, esi
shr ecx, 0x10
movzx ecx, cl
xor r10d, edx
xor eax, r9d
mov edi, eax
lea rax, [0x004cf2a0]
mov ecx, dword [rax + rcx*4]
lea rax, [0x004ceaa0]
mov ebx, dword [rax + rbx*4]
mov eax, esi
movzx esi, ah
lea rax, [0x004ceea0]
xor r9d, ebx
xor r8d, ebx
mov ebx, dword [rsp + 0x34]
xor r9d, ecx
xor r9d, dword [rax + rsi*4]
xor r14d, r8d
lea rax, [0x004cf6a0]
mov r8d, ebx
shr r8d, 0x18
mov esi, r9d
mov r9d, ebx
mov r8d, dword [rax + r8*4]
shr r9d, 0x10
mov eax, edi
lea rdi, [0x004cf2a0]
movzx r9d, r9b
mov r9d, dword [rdi + r9*4]
lea rdi, [0x004ceea0]
xor eax, r8d
xor ecx, r9d
xor r13d, ecx
movzx ecx, bh
mov ecx, dword [rdi + rcx*4]
lea rdi, [0x004ceaa0]
mov r15d, r13d
xor edx, ecx
xor ebp, edx
movzx edx, bl
xor r8d, dword [rdi + rdx*4]
mov edx, esi
mov edi, r14d
xor r9d, r8d
mov r8d, r14d
xor ecx, r9d
mov r9d, r10d
xor r9d, r13d
xor edx, ebp
shl r15d, 8
and edx, 0xff00
and r9d, 0xff0000
xor r15d, esi
or r9d, edx
mov edx, ebp
and r15d, 0xff0000
shl edx, 8
shr r8d, 0x10
xor edi, ecx
xor edx, ecx
xor r8d, r10d
movzx edi, dil
and edx, 0xff00
movzx r8d, r8b
or r9d, edi
or r15d, edx
mov edx, eax
mov edi, r11d
shl edx, 8
xor edi, eax
xor edx, r10d
and edi, 0xff000000
and edx, 0xff000000
or edi, r9d
or r15d, edx
mov edx, r14d
mov dword [rsp + 0x60], edi
shr edx, 0x18
xor edx, r11d
movzx edx, dl
or r15d, edx
mov edx, eax
shl edx, 0x10
mov dword [rsp + 0x64], r15d
xor edx, esi
and edx, 0xff000000
or edx, r8d
mov r8d, r13d
shl r8d, 0x10
xor r8d, ecx
and r8d, 0xff0000
shl eax, 0x18
shr r14d, 8
or edx, r8d
mov r8d, ebp
xor eax, ecx
shr r8d, 0x10
xor r14d, esi
shr r13d, 8
xor r8d, r11d
and eax, 0xff000000
xor r11d, r13d
shr ebp, 8
movzx ecx, r14b
and r11d, 0xff0000
or eax, ecx
xor r10d, ebp
and r8d, 0xff00
or eax, r11d
and r10d, 0xff00
or edx, r8d
or r10d, eax
sub dword [rsp + 0x44], 1
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x6c], r10d
jne 0x45b370
mov r8d, edx
mov ecx, dword [rsp + 0x84]
mov edx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xcc]
mov ebx, edi
mov r14d, r10d
xor ecx, edi
xor edx, edi
xor eax, edi
bswap r15d
mov rsi, qword [rsp + 0x148]
mov dword [rsi], r15d
bswap r8d
mov dword [rsi + 4], r8d
bswap r14d
xor ebx, r12d
mov dword [rsi + 8], r14d
mov r12d, ebx
bswap r12d
mov dword [rsi + 0xc], r12d
bswap ecx
mov dword [rsi + 0x10], ecx
mov ecx, dword [rsp + 0x88]
bswap ecx
mov dword [rsi + 0x14], ecx
mov ecx, dword [rsp + 0x8c]
bswap ecx
mov dword [rsi + 0x18], ecx
mov ecx, dword [rsp + 0x90]
bswap ecx
mov dword [rsi + 0x1c], ecx
bswap edx
mov dword [rsi + 0x20], edx
mov edx, dword [rsp + 0xac]
bswap edx
mov dword [rsi + 0x24], edx
mov edx, dword [rsp + 0xb0]
bswap edx
mov dword [rsi + 0x28], edx
mov edx, dword [rsp + 0xb4]
bswap edx
mov dword [rsi + 0x2c], edx
bswap eax
mov dword [rsi + 0x30], eax
mov eax, dword [rsp + 0xd0]
bswap eax
mov dword [rsi + 0x34], eax
mov eax, dword [rsp + 0xd4]
bswap eax
mov dword [rsi + 0x38], eax
mov eax, dword [rsp + 0xd8]
bswap eax
mov rcx, qword [rsp + 0x140]
mov dword [rsi + 0x3c], eax
call dbg.sph_fugue512_init
nop
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0xd
mov eax, 3
jmp 0x45affb