Function at 0x45cdd0
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, 0xc8
mov r10d, dword [rcx + 4]
mov rax, r8
mov qword [rsp + 0x120], r8
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
cmp r10d, 3
mov dword [rsp + 0x28], eax
ja 0x45ce7d
mov ebx, 4
sub ebx, r10d
mov r8d, ebx
cmp qword [rsp + 0x120], r8
jb 0x45dba0
mov r11d, 3
sub r11d, r10d
mov eax, dword [rsp + 0x28]
lea r9, [rdx + r11 + 1]
nop
nop word cs:[rax + rax]
movzx r8d, byte [rdx]
shl eax, 8
add rdx, 1
or eax, r8d
cmp rdx, r9
jne 0x45ce40
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x120]
lea r8, [rax - 1]
sub r8, r11
mov qword [rsp + 0x120], r8
cmp qword [rsp + 0x120], 0
je 0x45f110
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x8c], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x7c], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0xa4], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x6c], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x70], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0xac], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x98], eax
mov eax, dword [rcx + 0x64]
mov dword [rsp + 0x74], eax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x9c], eax
mov eax, dword [rcx + 0x6c]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x70]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x74]
mov dword [rsp + 0x80], eax
mov eax, dword [rcx + 0x78]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x7c]
mov dword [rsp + 0x84], eax
mov eax, dword [rcx + 0x80]
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x84]
mov dword [rsp + 0xa8], eax
mov eax, dword [rcx + 0x88]
mov dword [rsp + 0x90], eax
mov eax, dword [rcx + 0x8c]
mov r9d, dword [rcx + 8]
mov dword [rsp + 0x94], eax
mov eax, dword [rcx + 0x90]
cmp r9d, 1
mov dword [rsp + 0xb4], eax
mov eax, dword [rcx + 0x94]
mov dword [rsp + 0x88], eax
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0xb8], eax
je 0x45e690
jb 0x45dbc0
cmp r9d, 2
jne 0x45da02
mov rax, qword [0x004d1750]
mov qword [rsp + 0x20], rax
mov rax, qword [0x004d1760]
mov qword [rsp + 0x10], rax
mov rax, qword [0x004d1770]
mov qword [rsp + 0x18], rax
mov rax, qword [0x004d1740]
mov qword [rsp + 8], rax
mov eax, dword [rsp + 0x50]
xor eax, dword [rsp + 0x28]
mov edi, dword [rsp + 0x30]
xor dword [rsp + 0x88], edi
mov edi, dword [rsp + 0x34]
xor dword [rsp + 0x2c], edi
mov r14d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0x6c]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x3c]
xor ebx, dword [rsp + 0x58]
xor dword [rsp + 0x5c], eax
xor r14d, eax
xor dword [rsp + 0x84], r9d
mov rax, qword [rsp + 0x20]
xor r10d, r9d
mov r9d, r14d
mov rdi, qword [rsp + 0x10]
mov esi, dword [rsp + 0x44]
shr r9d, 0x10
mov r8d, r10d
movzx r9d, r9b
xor dword [rsp + 0x70], esi
mov rsi, qword [rsp + 0x18]
mov r10d, dword [rsp + 0x4c]
mov dword [rsp + 0x3c], ebx
mov r15d, dword [rsp + 0xa4]
mov ebx, r14d
mov r12d, dword [rax + r9*4]
movzx ebx, bh
movzx r9d, r14b
mov eax, r8d
mov ebx, dword [rdi + rbx*4]
shr r14d, 0x18
xor dword [rsp + 0xb0], r10d
mov r13d, dword [rsi + r9*4]
movzx esi, ah
mov r11, qword [rsp + 8]
xor r15d, r10d
mov r9d, r8d
mov r10d, dword [rdi + rsi*4]
mov rsi, qword [rsp + 0x18]
shr r9d, 0x18
mov rax, qword [rsp + 0x20]
mov ebp, dword [r11 + r14*4]
mov r14, r11
mov r11d, dword [r11 + r9*4]
movzx r9d, r8b
shr r8d, 0x10
mov r9d, dword [rsi + r9*4]
movzx r8d, r8b
xor ebp, r13d
mov edi, r11d
xor ebp, r12d
xor edi, r9d
xor edi, dword [rax + r8*4]
mov r8d, r15d
shr r8d, 0x18
xor ebp, ebx
mov esi, dword [r14 + r8*4]
mov r8d, r15d
movzx r14d, r15b
shr r8d, 0x10
movzx r8d, r8b
xor edi, r10d
mov r8d, dword [rax + r8*4]
mov rax, qword [rsp + 0x18]
xor r11d, esi
mov r14d, dword [rax + r14*4]
mov eax, r15d
movzx eax, ah
mov r15, rax
mov rax, qword [rsp + 0x10]
xor esi, r14d
xor r9d, r14d
mov r14, qword [rsp + 8]
xor esi, r8d
xor r13d, r9d
xor esi, dword [rax + r15*4]
mov r15d, dword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
mov r9d, r15d
shr r9d, 0x18
mov r9d, dword [r14 + r9*4]
mov r14d, r15d
shr r14d, 0x10
movzx r14d, r14b
mov r14d, dword [rax + r14*4]
mov eax, r15d
mov r15, qword [rsp + 0x10]
xor r11d, r9d
movzx eax, ah
xor r8d, r14d
xor r12d, r8d
mov r8d, dword [r15 + rax*4]
movzx eax, byte [rsp + 0x28]
mov r15d, r11d
shl r15d, 0x10
xor r10d, r8d
xor r10d, ebx
mov rbx, qword [rsp + 0x18]
xor r9d, dword [rbx + rax*4]
xor r9d, r14d
mov r14d, r10d
xor r8d, r9d
mov r9d, edi
shl r14d, 8
xor r9d, r12d
mov ebx, r9d
mov r9d, esi
xor r9d, r10d
and ebx, 0xff0000
mov eax, r9d
mov r9d, r13d
xor r9d, r8d
and eax, 0xff00
or ebx, eax
movzx eax, r9b
mov r9d, ebp
xor r9d, r11d
or ebx, eax
mov eax, r9d
mov r9d, r12d
and eax, 0xff000000
shl r9d, 8
or ebx, eax
mov eax, r9d
xor eax, esi
mov dword [rsp + 0x28], ebx
mov r9d, eax
mov eax, r14d
mov r14d, r13d
xor eax, r8d
and r9d, 0xff0000
and eax, 0xff00
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, edi
and r9d, 0xff000000
or eax, r9d
mov r9d, r13d
shr r9d, 0x18
xor r9d, ebp
movzx r9d, r9b
or eax, r9d
xor r15d, esi
shr r14d, 0x10
mov r9d, eax
mov dword [rsp + 0x68], eax
mov eax, r14d
xor eax, edi
mov r14d, r12d
and r15d, 0xff000000
shl r14d, 0x10
movzx eax, al
shl r11d, 0x18
or r15d, eax
mov eax, r14d
shr r13d, 8
xor eax, r8d
mov r14d, r10d
xor r8d, r11d
and eax, 0xff0000
shr r14d, 0x10
xor r13d, esi
shr r12d, 8
shr r10d, 8
or r15d, eax
xor r10d, edi
movzx esi, r13b
xor r12d, ebp
mov eax, r14d
and r8d, 0xff000000
and r12d, 0xff0000
xor eax, ebp
or r8d, esi
mov ebp, r10d
or r8d, r12d
and ebp, 0xff00
and eax, 0xff00
or r8d, ebp
mov ebp, dword [rsp + 0x78]
or r15d, eax
mov esi, dword [rsp + 0x58]
mov edi, r9d
mov dword [rsp + 0xa4], r15d
mov dword [rsp + 0x30], r8d
xor ebp, r15d
mov eax, ebp
mov ebp, dword [rsp + 0x7c]
xor esi, r9d
xor dword [rsp + 0x48], edi
mov r9d, esi
xor dword [rsp + 0x38], r15d
mov r15, qword [rsp + 0x20]
mov r11, qword [rsp + 0x18]
mov ebx, esi
xor ebp, r8d
xor dword [rsp + 0x80], r8d
shr r9d, 0x10
movzx r8d, r9b
movzx edi, bh
mov r9d, eax
shr r9d, 0x18
mov rbx, qword [rsp + 0x10]
mov r10, qword [rsp + 8]
mov r13d, dword [r15 + r8*4]
movzx r8d, sil
shr esi, 0x18
mov r14d, dword [r11 + r8*4]
mov r8d, r9d
mov r12d, dword [rbx + rdi*4]
mov edi, dword [r10 + rsi*4]
mov r10d, dword [r10 + r8*4]
movzx r8d, al
mov r8d, dword [r11 + r8*4]
movzx esi, ah
shr eax, 0x10
mov r9d, dword [rbx + rsi*4]
movzx eax, al
mov rbx, r15
mov esi, r10d
xor edi, r14d
xor esi, r8d
xor esi, dword [r15 + rax*4]
mov r15d, ebp
shr r15d, 0x18
xor edi, r13d
mov eax, r15d
mov r15, qword [rsp + 8]
xor edi, r12d
xor esi, r9d
mov r11d, dword [r15 + rax*4]
mov eax, ebp
movzx r15d, bpl
shr eax, 0x10
movzx eax, al
mov eax, dword [rbx + rax*4]
mov rbx, qword [rsp + 0x18]
xor r10d, r11d
mov r15d, dword [rbx + r15*4]
mov ebx, ebp
movzx ebp, bh
mov rbx, qword [rsp + 0x10]
xor r11d, r15d
xor r8d, r15d
mov r15, qword [rsp + 0x20]
xor r11d, eax
xor r11d, dword [rbx + rbp*4]
mov ebx, dword [rsp + 0x28]
mov rbp, qword [rsp + 8]
xor r14d, r8d
mov r8d, ebx
shr r8d, 0x18
mov r8d, dword [rbp + r8*4]
mov ebp, ebx
mov rbx, qword [rsp + 0x10]
shr ebp, 0x10
movzx ebp, bpl
mov ebp, dword [r15 + rbp*4]
xor r10d, r8d
xor eax, ebp
xor r13d, eax
mov eax, dword [rsp + 0x28]
movzx eax, ah
mov eax, dword [rbx + rax*4]
movzx ebx, byte [rsp + 0x28]
xor r9d, eax
xor r9d, r12d
mov r12, qword [rsp + 0x18]
xor r8d, dword [r12 + rbx*4]
xor r8d, ebp
mov ebp, r14d
xor eax, r8d
mov r8d, edi
xor r8d, r10d
mov ebx, r8d
mov r8d, esi
xor r8d, r13d
and ebx, 0xff000000
and r8d, 0xff0000
shr ebp, 0x18
or ebx, r8d
mov r8d, r14d
xor ebp, edi
xor r8d, eax
movzx ebp, bpl
movzx r8d, r8b
or ebx, r8d
mov r8d, r11d
xor r8d, r9d
and r8d, 0xff00
or ebx, r8d
mov r8d, r10d
shl r8d, 8
mov dword [rsp + 0x28], ebx
xor r8d, esi
and r8d, 0xff000000
or r8d, ebp
mov ebp, r13d
shl ebp, 8
xor ebp, r11d
and ebp, 0xff0000
or r8d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, eax
and ebp, 0xff00
or r8d, ebp
mov ebp, r10d
mov ebx, r8d
mov dword [rsp + 0x78], r8d
mov r8d, r14d
shl ebp, 0x10
shr r8d, 0x10
xor ebp, r11d
xor r8d, esi
and ebp, 0xff000000
movzx r8d, r8b
or ebp, r8d
mov r8d, r13d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or ebp, r8d
mov r8d, r9d
shr r8d, 0x10
xor r8d, edi
shl r10d, 0x18
shr r14d, 8
xor eax, r10d
xor r11d, r14d
shr r13d, 8
movzx r14d, r11b
xor r13d, edi
and eax, 0xff000000
shr r9d, 8
mov r11d, dword [rsp + 0x44]
or eax, r14d
and r13d, 0xff0000
xor r9d, esi
mov edi, dword [rsp + 0x64]
or eax, r13d
and r9d, 0xff00
mov r10d, dword [rsp + 0x8c]
or eax, r9d
xor r11d, ebx
mov r13, qword [rsp + 8]
and r8d, 0xff00
mov r9d, eax
xor dword [rsp + 0x98], ebx
or ebp, r8d
mov r8d, r11d
xor r10d, r9d
xor edi, ebp
xor dword [rsp + 0x9c], r9d
mov ebx, r8d
mov r14, qword [rsp + 0x10]
mov r11d, r8d
movzx r9d, r8b
shr r8d, 0x18
mov r9d, dword [r12 + r9*4]
movzx esi, bh
xor dword [rsp + 0x74], ebp
mov ebx, edi
shr r11d, 0x10
mov dword [rsp + 0x7c], ebp
mov rbp, r12
movzx ebx, bh
mov r12d, dword [r13 + r8*4]
mov r8d, edi
mov dword [rsp + 0xa0], eax
shr r8d, 0x18
movzx eax, r11b
mov r11d, dword [r14 + rsi*4]
mov esi, dword [r13 + r8*4]
mov r8, rbx
mov ebx, r10d
mov r14d, dword [r14 + r8*4]
mov eax, dword [r15 + rax*4]
movzx r8d, dil
mov r8d, dword [rbp + r8*4]
xor r12d, r9d
shr edi, 0x10
movzx edi, dil
mov ebp, esi
xor r12d, eax
xor r12d, r11d
xor ebp, r8d
xor r11d, r14d
xor ebp, dword [r15 + rdi*4]
xor r8d, r9d
mov r9d, r10d
shr r9d, 0x18
mov rdi, qword [rsp + 0x18]
mov r13d, dword [r13 + r9*4]
mov r9d, r10d
shr r9d, 0x10
movzx r9d, r9b
xor ebp, r14d
mov r14d, dword [r15 + r9*4]
movzx r9d, r10b
xor esi, r13d
mov r9d, dword [rdi + r9*4]
movzx edi, bh
mov rbx, qword [rsp + 0x10]
xor eax, r14d
mov r10d, dword [rbx + rdi*4]
xor r13d, r9d
xor r8d, r9d
xor r13d, r14d
xor r10d, r13d
mov r13d, dword [rsp + 0x28]
mov edi, r10d
mov r10, qword [rsp + 8]
mov r9d, r13d
mov ebx, r13d
shr r9d, 0x18
movzx ebx, bh
mov r10d, dword [r10 + r9*4]
mov r9d, r13d
shr r9d, 0x10
movzx r9d, r9b
mov r14d, dword [r15 + r9*4]
mov r9, rbx
mov rbx, qword [rsp + 0x10]
xor esi, r10d
mov r13d, dword [rbx + r9*4]
movzx ebx, byte [rsp + 0x28]
xor eax, r14d
mov r9, qword [rsp + 0x18]
xor r11d, r13d
xor r10d, dword [r9 + rbx*4]
xor r10d, r14d
mov r9d, r10d
xor r9d, r13d
mov r13d, r12d
xor r13d, esi
mov ebx, r13d
mov r13d, ebp
xor r13d, eax
and ebx, 0xff000000
mov r10d, r13d
mov r13d, r8d
xor r13d, r9d
and r10d, 0xff0000
or ebx, r10d
movzx r10d, r13b
mov r13d, edi
xor r13d, r11d
or ebx, r10d
mov r10d, r13d
mov r13d, esi
and r10d, 0xff00
shl r13d, 8
or ebx, r10d
mov r10d, r13d
mov r13d, r8d
xor r10d, ebp
mov dword [rsp + 0x28], ebx
and r10d, 0xff000000
shr r13d, 0x18
xor r13d, r12d
movzx r13d, r13b
or r10d, r13d
mov r13d, eax
shl r13d, 8
xor r13d, edi
and r13d, 0xff0000
or r10d, r13d
mov r13d, r11d
shl r13d, 8
mov r14d, r10d
xor r13d, r9d
and r13d, 0xff00
or r14d, r13d
mov r13d, esi
shl esi, 0x18
shl r13d, 0x10
xor esi, r9d
mov dword [rsp + 0x64], r14d
mov r10d, r13d
mov r13d, r8d
shr r8d, 8
shr r13d, 0x10
xor r10d, edi
xor r8d, edi
xor r13d, ebp
and r10d, 0xff000000
and esi, 0xff000000
movzx r13d, r13b
movzx r8d, r8b
or r10d, r13d
mov r13d, eax
or esi, r8d
shl r13d, 0x10
mov r8d, dword [rsp + 0x34]
shr eax, 8
xor r13d, r9d
and r13d, 0xff0000
or r10d, r13d
mov r13d, r11d
shr r13d, 0x10
xor r13d, r12d
and r13d, 0xff00
or r10d, r13d
xor eax, r12d
shr r11d, 8
xor r8d, r14d
and eax, 0xff0000
xor r11d, ebp
xor dword [rsp + 0x54], r14d
mov r14, qword [rsp + 0x10]
or esi, eax
and r11d, 0xff00
mov ebx, r8d
mov r13d, dword [rsp + 0x3c]
or esi, r11d
movzx edi, bh
mov r11d, dword [rsp + 0x40]
mov r9d, dword [r14 + rdi*4]
mov r12d, esi
mov eax, dword [rsp + 0x50]
xor r13d, r10d
mov rdi, qword [rsp + 0x18]
mov dword [rsp + 0x58], esi
xor r11d, r10d
mov esi, dword [rsp + 0x60]
mov dword [rsp + 0x8c], r10d
movzx r10d, r8b
xor eax, r12d
mov ebx, r11d
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x50], eax
mov eax, r8d
shr r8d, 0x18
xor esi, r12d
mov r12d, dword [rdi + r10*4]
mov r10, qword [rsp + 8]
movzx edi, bh
shr eax, 0x10
mov rbx, r15
mov r13d, dword [r14 + rdi*4]
mov rdi, qword [rsp + 0x18]
movzx eax, al
mov ebp, dword [r10 + r8*4]
mov r8d, r11d
mov eax, dword [r15 + rax*4]
shr r8d, 0x18
mov r10d, dword [r10 + r8*4]
movzx r8d, r11b
shr r11d, 0x10
mov r8d, dword [rdi + r8*4]
movzx r11d, r11b
xor ebp, r12d
xor ebp, eax
mov edi, r10d
xor ebp, r9d
xor r9d, r13d
xor edi, r8d
xor edi, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
mov r11d, esi
xor r8d, r12d
shr r11d, 0x18
mov r12d, dword [r15 + r11*4]
mov r11d, esi
mov r15, rbx
xor edi, r13d
shr r11d, 0x10
mov r13, qword [rsp + 0x18]
movzx r11d, r11b
mov r14d, dword [rbx + r11*4]
movzx r11d, sil
xor r10d, r12d
mov r13d, dword [r13 + r11*4]
mov ebx, esi
movzx esi, bh
mov rbx, qword [rsp + 8]
xor eax, r14d
xor r12d, r13d
xor r12d, r14d
mov r14, qword [rsp + 0x10]
mov r11d, dword [r14 + rsi*4]
xor r11d, r12d
mov r12d, dword [rsp + 0x28]
xor r8d, r13d
mov esi, r12d
shr r12d, 0x10
shr esi, 0x18
movzx r12d, r12b
mov esi, dword [rbx + rsi*4]
mov ebx, dword [rsp + 0x28]
mov r13d, dword [r15 + r12*4]
mov r15, qword [rsp + 0x18]
movzx ebx, bh
xor r10d, esi
mov r12, rbx
movzx ebx, byte [rsp + 0x28]
xor eax, r13d
mov r12d, dword [r14 + r12*4]
xor esi, dword [r15 + rbx*4]
mov ebx, ebp
xor r9d, r12d
xor ebx, r10d
xor esi, r13d
xor r12d, esi
mov esi, ebx
mov ebx, edi
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
xor esi, r12d
movzx esi, sil
or ebx, esi
mov esi, r11d
xor esi, r9d
and esi, 0xff00
or ebx, esi
mov esi, r8d
mov dword [rsp + 0x34], ebx
mov ebx, r10d
shr esi, 0x18
shl ebx, 8
xor esi, ebp
xor ebx, edi
movzx esi, sil
and ebx, 0xff000000
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, r12d
and esi, 0xff00
or ebx, esi
mov esi, r10d
shl r10d, 0x18
mov dword [rsp + 0x40], ebx
mov ebx, r8d
shl esi, 0x10
shr ebx, 0x10
xor esi, r11d
shr r8d, 8
xor ebx, edi
and esi, 0xff000000
xor r10d, r12d
movzx ebx, bl
xor r8d, r11d
and r10d, 0xff000000
or esi, ebx
mov ebx, eax
shr eax, 8
shl ebx, 0x10
xor eax, ebp
movzx r8d, r8b
xor ebx, r12d
or r10d, r8d
and eax, 0xff0000
and ebx, 0xff0000
or r10d, eax
or esi, ebx
mov ebx, r9d
shr r9d, 8
shr ebx, 0x10
xor r9d, edi
xor ebx, ebp
and r9d, 0xff00
and ebx, 0xff00
or r10d, r9d
xor r9d, r9d
or esi, ebx
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x60], esi
ja 0x45f130
cmp qword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
mov dword [rcx + 4], eax
je 0x45f14a
mov r8, rdx
add r8, qword [rsp + 0x120]
xor eax, eax
nop dword [rax + rax]
movzx r10d, byte [rdx]
shl eax, 8
add rdx, 1
or eax, r10d
cmp rdx, r8
jne 0x45da30
mov dword [rcx], eax
mov eax, dword [rsp + 0x34]
mov dword [rcx + 8], r9d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x60]
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x44]
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x64]
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x8c]
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x24], eax
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x7c]
mov dword [rcx + 0x2c], eax
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x30], eax
mov eax, dword [rsp + 0x68]
mov dword [rcx + 0x34], eax
mov eax, dword [rsp + 0xa4]
mov dword [rcx + 0x38], eax
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x3c], eax
mov eax, dword [rsp + 0x2c]
mov dword [rcx + 0x40], eax
mov eax, dword [rsp + 0x6c]
mov dword [rcx + 0x44], eax
mov eax, dword [rsp + 0x4c]
mov dword [rcx + 0x48], eax
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x4c], eax
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0x50], eax
mov eax, dword [rsp + 0x54]
mov dword [rcx + 0x54], eax
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 0x58], eax
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x5c], eax
mov eax, dword [rsp + 0x98]
mov dword [rcx + 0x60], eax
mov eax, dword [rsp + 0x74]
mov dword [rcx + 0x64], eax
mov eax, dword [rsp + 0x9c]
mov dword [rcx + 0x68], eax
mov eax, dword [rsp + 0x48]
mov dword [rcx + 0x6c], eax
mov eax, dword [rsp + 0x38]
mov dword [rcx + 0x70], eax
mov eax, dword [rsp + 0x80]
mov dword [rcx + 0x74], eax
mov eax, dword [rsp + 0x5c]
mov dword [rcx + 0x78], eax
mov eax, dword [rsp + 0x84]
mov dword [rcx + 0x7c], eax
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x80], eax
mov eax, dword [rsp + 0xa8]
mov dword [rcx + 0x84], eax
mov eax, dword [rsp + 0x90]
mov dword [rcx + 0x88], eax
mov eax, dword [rsp + 0x94]
mov dword [rcx + 0x8c], eax
mov eax, dword [rsp + 0xb4]
mov dword [rcx + 0x90], eax
mov eax, dword [rsp + 0x88]
mov dword [rcx + 0x94], eax
mov eax, dword [rsp + 0xb8]
mov dword [rcx + 0x98], eax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, dword [rsp + 0x120]
test ebx, ebx
lea r11d, [rbx - 1]
jne 0x45ce2b
jmp 0x45ce6e
mov rax, qword [0x004d1750]
mov qword [rsp + 0x20], rax
mov rax, qword [0x004d1760]
mov qword [rsp + 0x10], rax
mov rax, qword [0x004d1770]
mov qword [rsp + 0x18], rax
mov rax, qword [0x004d1740]
mov qword [rsp + 8], rax
mov eax, dword [rsp + 0x7c]
xor eax, dword [rsp + 0x28]
mov edi, dword [rsp + 0x34]
xor dword [rsp + 0x74], edi
mov edi, dword [rsp + 0x48]
xor dword [rsp + 0x40], edi
mov r11d, dword [rsp + 0xb4]
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x40]
xor ebx, dword [rsp + 0xa8]
mov r12, qword [rsp + 0x20]
xor dword [rsp + 0x4c], eax
mov r15, qword [rsp + 0x10]
xor r11d, eax
mov r10d, dword [rsp + 0x44]
mov esi, dword [rsp + 0x5c]
mov r8d, r11d
mov r11d, dword [rsp + 0x60]
xor dword [rsp + 0x64], esi
mov r9d, r8d
mov eax, r8d
mov dword [rsp + 0xbc], ebx
shr r9d, 0x10
movzx eax, ah
mov ebx, dword [rsp + 0x88]
movzx r9d, r9b
mov esi, dword [rsp + 0xb8]
mov edi, dword [r12 + r9*4]
mov r9, rax
mov rax, qword [rsp + 0x18]
mov r13d, dword [r15 + r9*4]
movzx r9d, r8b
xor ebx, r11d
xor dword [rsp + 0x70], r11d
xor dword [rsp + 0xac], r10d
xor esi, r10d
mov r10d, ebx
shr r8d, 0x18
mov ebp, dword [rax + r9*4]
mov r11, qword [rsp + 8]
shr r10d, 0x18
movzx eax, bh
mov r14d, dword [r11 + r8*4]
mov r9, qword [rsp + 0x18]
mov r8d, r10d
mov r11d, dword [r11 + r8*4]
mov r8, rax
mov rax, r12
mov r10d, dword [r15 + r8*4]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [r9 + r8*4]
movzx r8d, bl
xor r14d, ebp
mov ebx, r11d
xor r14d, edi
xor r14d, r13d
xor ebx, r9d
xor ebx, dword [r12 + r8*4]
mov r8d, esi
shr r8d, 0x18
mov r12d, ebx
mov rbx, qword [rsp + 8]
xor r12d, r10d
mov r15d, r12d
movzx r12d, sil
mov ebx, dword [rbx + r8*4]
mov r8d, esi
shr r8d, 0x10
movzx r8d, r8b
mov r8d, dword [rax + r8*4]
mov rax, qword [rsp + 0x18]
xor r11d, ebx
mov r12d, dword [rax + r12*4]
mov eax, esi
movzx esi, ah
mov rax, qword [rsp + 0x10]
xor ebx, r12d
xor r9d, r12d
mov r12, qword [rsp + 0x20]
xor ebx, r8d
xor ebx, dword [rax + rsi*4]
mov eax, dword [rsp + 0x28]
mov rsi, qword [rsp + 8]
xor ebp, r9d
mov r9d, eax
shr r9d, 0x18
mov r9d, dword [rsi + r9*4]
mov esi, eax
mov eax, dword [rsp + 0x28]
shr esi, 0x10
movzx esi, sil
mov esi, dword [r12 + rsi*4]
xor r11d, r9d
movzx eax, ah
xor r8d, esi
xor edi, r8d
mov r8, rax
mov rax, qword [rsp + 0x10]
mov r8d, dword [rax + r8*4]
movzx eax, byte [rsp + 0x28]
xor r10d, r8d
xor r10d, r13d
mov r13, qword [rsp + 0x18]
xor r9d, dword [r13 + rax*4]
xor r9d, esi
mov esi, r10d
xor r8d, r9d
mov r9d, r15d
shl esi, 8
xor r9d, edi
mov r13d, r9d
mov r9d, ebx
xor r9d, r10d
and r13d, 0xff0000
mov eax, r9d
mov r9d, ebp
xor r9d, r8d
and eax, 0xff00
or r13d, eax
movzx eax, r9b
mov r9d, r14d
xor r9d, r11d
or r13d, eax
mov eax, r9d
mov r9d, edi
and eax, 0xff000000
shl r9d, 8
or r13d, eax
mov eax, r9d
xor eax, ebx
mov r9d, eax
mov eax, esi
mov esi, r11d
xor eax, r8d
and r9d, 0xff0000
shl esi, 0x10
and eax, 0xff00
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, r15d
and r9d, 0xff000000
or eax, r9d
mov r9d, ebp
shr r9d, 0x18
xor r9d, r14d
movzx r9d, r9b
or eax, r9d
xor esi, ebx
shl r11d, 0x18
mov r9d, eax
mov dword [rsp + 0x88], eax
mov eax, ebp
shr eax, 0x10
and esi, 0xff000000
shr ebp, 8
xor eax, r15d
xor ebx, ebp
movzx eax, al
or esi, eax
mov eax, edi
shr edi, 8
shl eax, 0x10
xor edi, r14d
xor eax, r8d
xor r8d, r11d
movzx r11d, bl
and eax, 0xff0000
and r8d, 0xff000000
and edi, 0xff0000
or esi, eax
or r11d, r8d
mov eax, r10d
shr r10d, 8
or r11d, edi
shr eax, 0x10
xor r10d, r15d
mov edi, r11d
xor eax, r14d
and r10d, 0xff00
and eax, 0xff00
mov r15d, dword [rsp + 0xa8]
or edi, r10d
mov r10d, dword [rsp + 0x90]
or esi, eax
mov r14d, edi
mov dword [rsp + 0xb8], esi
mov dword [rsp + 0x34], edi
xor r15d, r9d
xor r10d, esi
mov r8d, r15d
mov eax, r10d
mov r10d, dword [rsp + 0x94]
mov ebx, r8d
movzx edi, bh
xor r10d, r14d
mov dword [rsp + 0x28], r10d
xor dword [rsp + 0x30], r9d
mov r9d, r8d
mov rbx, qword [rsp + 8]
xor dword [rsp + 0x2c], esi
mov r10d, eax
xor dword [rsp + 0x6c], r14d
shr r9d, 0x10
shr r10d, 0x18
movzx r9d, r9b
mov r14, r12
mov r11, qword [rsp + 0x10]
mov esi, dword [r12 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov rbp, qword [rsp + 0x18]
mov r12d, dword [rbx + r8*4]
mov r8d, r10d
mov r10d, dword [rbx + r8*4]
movzx ebx, ah
mov r15d, dword [r11 + rdi*4]
mov r8, rbx
mov rbx, r14
mov edi, dword [rbp + r9*4]
mov r9, r11
mov r11d, dword [r11 + r8*4]
movzx r8d, al
shr eax, 0x10
mov r8d, dword [rbp + r8*4]
movzx eax, al
mov ebp, dword [rsp + 0x28]
mov dword [rsp + 0x78], r11d
mov r11d, r10d
xor r12d, edi
xor r12d, esi
xor r11d, r8d
xor r11d, dword [r14 + rax*4]
xor r12d, r15d
xor r11d, dword [rsp + 0x78]
mov r14d, r11d
mov r11d, ebp
shr r11d, 0x18
mov eax, r11d
mov r11, qword [rsp + 8]
mov r11d, dword [r11 + rax*4]
mov eax, ebp
movzx ebp, byte [rsp + 0x28]
shr eax, 0x10
movzx eax, al
mov eax, dword [rbx + rax*4]
mov rbx, qword [rsp + 0x18]
xor r10d, r11d
mov ebp, dword [rbx + rbp*4]
mov ebx, dword [rsp + 0x28]
xor r8d, ebp
xor r11d, ebp
mov rbp, qword [rsp + 8]
xor edi, r8d
mov r8d, r13d
movzx ebx, bh
shr r8d, 0x18
xor r11d, eax
xor r11d, dword [r9 + rbx*4]
mov r8d, dword [rbp + r8*4]
mov ebp, r13d
shr ebp, 0x10
movzx ebx, bpl
mov rbp, qword [rsp + 0x20]
xor r10d, r8d
mov ebx, dword [rbp + rbx*4]
xor eax, ebx
xor esi, eax
mov eax, r13d
movzx r13d, r13b
movzx eax, ah
mov eax, dword [r9 + rax*4]
mov r9d, dword [rsp + 0x78]
xor r9d, eax
xor r9d, r15d
mov r15, qword [rsp + 0x18]
xor r8d, dword [r15 + r13*4]
mov r13d, edi
mov r15d, edi
xor r8d, ebx
xor eax, r8d
mov r8d, r12d
xor r8d, r10d
mov ebx, r8d
mov r8d, r14d
xor r8d, esi
and ebx, 0xff000000
and r8d, 0xff0000
shr r13d, 0x18
shr r15d, 0x10
or ebx, r8d
mov r8d, edi
mov ebp, r13d
xor r8d, eax
xor ebp, r12d
mov r13d, esi
movzx r8d, r8b
shl r13d, 8
movzx ebp, bpl
or ebx, r8d
mov r8d, r11d
xor r8d, r9d
and r8d, 0xff00
or ebx, r8d
mov r8d, r10d
shl r8d, 8
xor r8d, r14d
and r8d, 0xff000000
or r8d, ebp
mov ebp, r13d
mov r13d, r9d
xor ebp, r11d
shl r13d, 8
and ebp, 0xff0000
or r8d, ebp
mov ebp, r13d
xor ebp, eax
and ebp, 0xff00
or r8d, ebp
mov ebp, r15d
mov r15d, esi
mov r13d, r8d
mov dword [rsp + 0x90], r8d
mov r8d, r10d
shl r8d, 0x10
xor ebp, r14d
shl r15d, 0x10
xor r8d, r11d
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r15d
mov r15d, r9d
xor ebp, eax
shr r15d, 0x10
and ebp, 0xff0000
or r8d, ebp
mov ebp, r15d
xor ebp, r12d
shr r9d, 8
shl r10d, 0x18
shr edi, 8
xor r9d, r14d
mov r14d, dword [rsp + 0x5c]
xor r11d, edi
xor eax, r10d
shr esi, 8
and eax, 0xff000000
xor esi, r12d
movzx r10d, r11b
xor r14d, r13d
and ebp, 0xff00
or r10d, eax
and esi, 0xff0000
or r8d, ebp
mov rbp, qword [rsp + 0x20]
or r10d, esi
mov esi, r14d
and r9d, 0xff00
shr esi, 0x10
or r10d, r9d
mov r11, qword [rsp + 0x18]
movzx eax, sil
mov r12d, r10d
mov dword [rsp + 0xb4], r10d
mov eax, dword [rbp + rax*4]
mov r10d, dword [rsp + 0x84]
mov r15d, r8d
mov edi, dword [rsp + 0xb0]
xor dword [rsp + 0xa0], r13d
movzx r9d, r14b
xor dword [rsp + 0xa4], r12d
mov dword [rsp + 0x94], r8d
mov r8d, r14d
mov r13d, eax
mov eax, r14d
xor r10d, r15d
movzx esi, ah
mov rax, qword [rsp + 8]
xor edi, r12d
shr r8d, 0x18
mov r12d, dword [r11 + r9*4]
mov r9d, r10d
shr r9d, 0x18
mov r14d, dword [rax + r8*4]
xor dword [rsp + 0x68], r15d
mov r8d, r9d
mov r15, qword [rsp + 0x10]
mov dword [rsp + 0x18], r13d
mov r9d, dword [rax + r8*4]
mov eax, r10d
movzx eax, ah
xor r14d, r12d
mov r8, rax
mov esi, dword [r15 + rsi*4]
xor r14d, r13d
mov r13d, dword [r15 + r8*4]
movzx r8d, r10b
shr r10d, 0x10
mov r8d, dword [r11 + r8*4]
movzx r10d, r10b
xor r14d, esi
xor esi, r13d
mov r15d, esi
mov rsi, r11
mov r11d, r9d
xor r11d, r8d
xor r11d, dword [rbp + r10*4]
mov r10d, edi
shr r10d, 0x18
xor r8d, r12d
mov r12, rbp
xor r13d, r11d
mov r11, qword [rsp + 8]
mov r11d, dword [r11 + r10*4]
mov r10d, edi
shr r10d, 0x10
movzx r10d, r10b
mov ebp, dword [rbp + r10*4]
mov eax, dword [rsp + 0x18]
movzx r10d, dil
mov qword [rsp + 0x18], rsi
mov esi, dword [rsi + r10*4]
xor r9d, r11d
xor eax, ebp
mov dword [rsp + 0x28], eax
mov eax, edi
xor r11d, esi
movzx edi, ah
mov rax, qword [rsp + 0x10]
xor r11d, ebp
mov ebp, ebx
xor r8d, esi
movzx esi, bh
shr ebp, 0x18
mov r10d, dword [rax + rdi*4]
mov rdi, qword [rsp + 8]
mov eax, dword [rsp + 0x28]
xor r10d, r11d
mov r11d, ebp
mov edi, dword [rdi + r11*4]
mov r11d, ebx
movzx ebx, bl
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r12 + r11*4]
mov r11, qword [rsp + 0x10]
xor r9d, edi
mov ebp, dword [r11 + rsi*4]
xor eax, r12d
xor r15d, ebp
mov esi, r15d
mov r15, qword [rsp + 0x18]
xor edi, dword [r15 + rbx*4]
mov r15d, r8d
xor edi, r12d
mov r12d, r14d
xor r12d, r9d
mov r11d, edi
and r12d, 0xff000000
xor r11d, ebp
mov edi, r12d
mov r12d, r13d
xor r12d, eax
mov ebx, r12d
mov r12d, r8d
xor r12d, r11d
and ebx, 0xff0000
or ebx, edi
movzx edi, r12b
mov r12d, r10d
xor r12d, esi
or ebx, edi
mov edi, r12d
mov r12d, r9d
and edi, 0xff00
shl r12d, 8
or ebx, edi
mov edi, r12d
mov r12d, r8d
xor edi, r13d
mov dword [rsp + 0x28], ebx
and edi, 0xff000000
shr r12d, 0x18
shr r15d, 0x10
mov ebp, r12d
mov r12d, eax
shr r8d, 8
xor ebp, r14d
shl r12d, 8
xor r8d, r10d
movzx ebp, bpl
movzx r8d, r8b
or edi, ebp
mov ebp, r12d
mov r12d, esi
xor ebp, r10d
shl r12d, 8
and ebp, 0xff0000
or edi, ebp
mov ebp, r12d
xor ebp, r11d
and ebp, 0xff00
or edi, ebp
mov ebp, r15d
mov r15d, eax
mov r12d, edi
mov dword [rsp + 0x84], edi
mov edi, r9d
shl edi, 0x10
xor ebp, r13d
shl r15d, 0x10
xor edi, r10d
movzx ebp, bpl
shl r9d, 0x18
and edi, 0xff000000
xor r9d, r11d
shr eax, 8
or edi, ebp
mov ebp, r15d
mov r15d, esi
xor ebp, r11d
shr r15d, 0x10
and r9d, 0xff000000
and ebp, 0xff0000
or r9d, r8d
mov r11d, dword [rsp + 0x80]
or edi, ebp
mov ebp, r15d
mov r8d, dword [rsp + 0x48]
xor ebp, r14d
mov r15, qword [rsp + 0x20]
mov r10d, dword [rsp + 0x38]
and ebp, 0xff00
or edi, ebp
xor eax, r14d
shr esi, 8
and eax, 0xff0000
xor r13d, esi
xor r8d, r12d
or r9d, eax
and r13d, 0xff00
mov eax, r12d
or r9d, r13d
xor dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x7c]
mov r13d, r9d
mov r14, qword [rsp + 0x10]
mov ebx, r8d
xor r11d, r13d
mov r12d, r13d
mov r13d, dword [rsp + 0xbc]
xor eax, r12d
mov dword [rsp + 0xa8], r9d
movzx esi, bh
mov dword [rsp + 0x7c], eax
mov eax, r8d
movzx r9d, r8b
xor r13d, edi
shr eax, 0x10
xor r10d, edi
mov dword [rsp + 0x78], r13d
mov r13, qword [rsp + 0x18]
movzx eax, al
mov eax, dword [r15 + rax*4]
mov esi, dword [r14 + rsi*4]
shr r8d, 0x18
mov dword [rsp + 0xb0], edi
mov edi, dword [r13 + r9*4]
mov rbx, qword [rsp + 8]
mov r12d, dword [rbx + r8*4]
mov r8d, r10d
shr r8d, 0x18
mov r9d, dword [rbx + r8*4]
mov ebx, r10d
movzx ebx, bh
xor r12d, edi
mov r8, rbx
xor r12d, eax
mov rbx, r15
mov ebp, dword [r14 + r8*4]
movzx r8d, r10b
xor r12d, esi
mov r8d, dword [r13 + r8*4]
shr r10d, 0x10
movzx r10d, r10b
xor esi, ebp
mov r14d, esi
mov esi, r9d
xor esi, r8d
xor esi, dword [r15 + r10*4]
mov r15, qword [rsp + 8]
mov r10d, r11d
xor r8d, edi
mov rdi, qword [rsp + 0x18]
shr r10d, 0x18
mov r13d, esi
mov esi, dword [r15 + r10*4]
mov r10d, r11d
shr r10d, 0x10
xor r13d, ebp
mov r15, rbx
movzx r10d, r10b
mov ebp, dword [rbx + r10*4]
mov ebx, r11d
movzx r10d, r11b
movzx ebx, bh
mov edi, dword [rdi + r10*4]
xor r9d, esi
mov r11, rbx
mov rbx, qword [rsp + 0x10]
xor eax, ebp
xor esi, edi
mov r10d, dword [rbx + r11*4]
xor esi, ebp
xor r10d, esi
xor r8d, edi
mov edi, dword [rsp + 0x28]
mov rsi, qword [rsp + 8]
mov r11d, edi
mov ebx, edi
shr r11d, 0x18
mov r11d, dword [rsi + r11*4]
mov esi, edi
shr esi, 0x10
movzx esi, sil
mov ebp, dword [r15 + rsi*4]
movzx esi, bh
mov rbx, qword [rsp + 0x10]
mov r15, qword [rsp + 0x18]
xor r9d, r11d
mov edi, dword [rbx + rsi*4]
movzx ebx, byte [rsp + 0x28]
mov esi, r14d
xor eax, ebp
xor esi, edi
xor r11d, dword [r15 + rbx*4]
xor r11d, ebp
xor edi, r11d
mov r11d, r12d
xor r11d, r9d
mov ebx, r11d
mov r11d, r13d
xor r11d, eax
and ebx, 0xff000000
and r11d, 0xff0000
or r11d, ebx
mov ebx, r8d
xor ebx, edi
movzx ebx, bl
or r11d, ebx
mov ebx, r10d
xor ebx, esi
and ebx, 0xff00
or r11d, ebx
mov ebx, r8d
mov dword [rsp + 0x48], r11d
mov r11d, r9d
shr ebx, 0x18
shl r11d, 8
xor ebx, r12d
xor r11d, r13d
movzx ebx, bl
and r11d, 0xff000000
or r11d, ebx
mov ebx, eax
shl ebx, 8
xor ebx, r10d
and ebx, 0xff0000
or r11d, ebx
mov ebx, esi
shl ebx, 8
xor ebx, edi
and ebx, 0xff00
or r11d, ebx
mov ebx, r8d
shr r8d, 8
mov dword [rsp + 0x38], r11d
mov r11d, r9d
shr ebx, 0x10
shl r11d, 0x10
xor ebx, r13d
shl r9d, 0x18
xor r11d, r10d
movzx ebx, bl
xor r9d, edi
and r11d, 0xff000000
xor r8d, r10d
and r9d, 0xff000000
or r11d, ebx
mov ebx, eax
shr eax, 8
shl ebx, 0x10
xor eax, r12d
movzx r8d, r8b
xor ebx, edi
or r9d, r8d
and eax, 0xff0000
and ebx, 0xff0000
or r9d, eax
or r11d, ebx
mov ebx, esi
shr esi, 8
shr ebx, 0x10
xor esi, r13d
xor ebx, r12d
and esi, 0xff00
and ebx, 0xff00
or r9d, esi
or r11d, ebx
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x80], r11d
mov r9d, 1
jbe 0x45da02
mov eax, dword [rdx]
bswap eax
mov dword [rsp + 0x28], eax
add rdx, 4
sub qword [rsp + 0x120], 4
jmp 0x45e6c0
mov rax, qword [0x004d1750]
mov qword [rsp + 0x20], rax
mov rax, qword [0x004d1760]
mov qword [rsp + 0x10], rax
mov rax, qword [0x004d1770]
mov qword [rsp + 0x18], rax
mov rax, qword [0x004d1740]
mov qword [rsp + 8], rax
mov eax, dword [rsp + 0x94]
xor eax, dword [rsp + 0x28]
mov edi, dword [rsp + 0x48]
xor dword [rsp + 0x68], edi
mov edi, dword [rsp + 0x30]
xor dword [rsp + 0x38], edi
mov r14d, dword [rsp + 0x98]
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x74]
xor ebx, dword [rsp + 0x54]
mov r15d, dword [rsp + 0x9c]
xor r14d, eax
xor dword [rsp + 0x44], eax
xor dword [rsp + 0x8c], r9d
mov r10d, r14d
mov r14d, dword [rsp + 0x80]
mov rdi, qword [rsp + 0x10]
xor r15d, r9d
xor dword [rsp + 0x64], r14d
mov eax, r10d
mov r9d, r10d
xor r8d, r14d
shr r9d, 0x10
mov r14, qword [rsp + 0x20]
movzx r9d, r9b
mov dword [rsp + 0x90], ebx
movzx ebx, ah
mov rax, qword [rsp + 0x18]
mov ebx, dword [rdi + rbx*4]
mov r12d, dword [r14 + r9*4]
movzx r9d, r10b
mov esi, dword [rsp + 0x4c]
xor dword [rsp + 0x84], esi
shr r10d, 0x18
mov r13d, dword [rax + r9*4]
mov r11, qword [rsp + 8]
mov eax, r8d
movzx esi, ah
mov rax, r14
mov r9d, dword [r11 + r10*4]
mov r10d, dword [rdi + rsi*4]
mov rsi, qword [rsp + 0x18]
xor r9d, r13d
mov ebp, r9d
mov r9d, r8d
shr r9d, 0x18
xor ebp, r12d
mov r11d, dword [r11 + r9*4]
movzx r9d, r8b
shr r8d, 0x10
mov r9d, dword [rsi + r9*4]
movzx r8d, r8b
xor ebp, ebx
mov edi, r11d
xor edi, r9d
xor edi, dword [r14 + r8*4]
mov r14, qword [rsp + 8]
mov r8d, r15d
shr r8d, 0x18
mov esi, dword [r14 + r8*4]
mov r8d, r15d
movzx r14d, r15b
shr r8d, 0x10
xor edi, r10d
movzx r8d, r8b
mov r8d, dword [rax + r8*4]
mov rax, qword [rsp + 0x18]
xor r11d, esi
mov r14d, dword [rax + r14*4]
mov eax, r15d
movzx eax, ah
mov r15, rax
mov rax, qword [rsp + 0x10]
xor esi, r14d
xor r9d, r14d
mov r14, qword [rsp + 8]
xor esi, r8d
xor r13d, r9d
xor esi, dword [rax + r15*4]
mov r15d, dword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
mov r9d, r15d
shr r9d, 0x18
mov r9d, dword [r14 + r9*4]
mov r14d, r15d
shr r14d, 0x10
movzx r14d, r14b
mov r14d, dword [rax + r14*4]
mov eax, r15d
mov r15, qword [rsp + 0x10]
xor r11d, r9d
movzx eax, ah
xor r8d, r14d
xor r12d, r8d
mov r8d, dword [r15 + rax*4]
movzx eax, byte [rsp + 0x28]
xor r10d, r8d
xor r10d, ebx
mov rbx, qword [rsp + 0x18]
xor r9d, dword [rbx + rax*4]
xor r9d, r14d
mov r14d, r10d
xor r8d, r9d
mov r9d, edi
shl r14d, 8
xor r9d, r12d
mov ebx, r9d
mov r9d, esi
xor r9d, r10d
and ebx, 0xff0000
mov eax, r9d
mov r9d, r13d
xor r9d, r8d
and eax, 0xff00
or ebx, eax
movzx eax, r9b
mov r9d, ebp
xor r9d, r11d
or ebx, eax
mov eax, r9d
mov r9d, r12d
and eax, 0xff000000
shl r9d, 8
or ebx, eax
mov eax, r9d
xor eax, esi
mov dword [rsp + 0x28], ebx
mov r9d, eax
mov eax, r14d
mov r14d, r11d
xor eax, r8d
and r9d, 0xff0000
shl r14d, 0x10
and eax, 0xff00
mov r15d, r14d
mov r14d, r13d
or eax, r9d
mov r9d, r11d
shl r9d, 8
xor r9d, edi
and r9d, 0xff000000
or eax, r9d
mov r9d, r13d
shr r9d, 0x18
xor r9d, ebp
movzx r9d, r9b
or eax, r9d
xor r15d, esi
shr r14d, 0x10
mov r9d, eax
mov dword [rsp + 0x74], eax
shl r11d, 0x18
mov eax, r14d
shr r13d, 8
xor r11d, r8d
xor eax, edi
xor r13d, esi
mov r14d, r12d
shr r12d, 8
shl r14d, 0x10
and r15d, 0xff000000
xor r12d, ebp
movzx eax, al
and r11d, 0xff000000
movzx r13d, r13b
or r15d, eax
and r12d, 0xff0000
or r11d, r13d
mov eax, r14d
mov r14d, r10d
shr r10d, 8
or r11d, r12d
xor eax, r8d
xor r10d, edi
mov edi, r11d
and eax, 0xff0000
and r10d, 0xff00
shr r14d, 0x10
or r15d, eax
or edi, r10d
mov r10d, dword [rsp + 0x54]
mov eax, r14d
xor eax, ebp
mov r12d, dword [rsp + 0x3c]
mov ebp, dword [rsp + 0x50]
and eax, 0xff00
mov r8d, edi
mov dword [rsp + 0x48], edi
xor r10d, r9d
or r15d, eax
mov edi, r9d
mov ebx, r10d
xor ebp, r8d
xor r12d, r15d
movzx esi, bh
mov dword [rsp + 0x9c], r15d
xor dword [rsp + 0x34], edi
mov rbx, qword [rsp + 0x10]
xor dword [rsp + 0x40], r15d
mov eax, r12d
xor dword [rsp + 0x60], r8d
mov r15, qword [rsp + 0x20]
mov r8d, r10d
mov r11, qword [rsp + 0x18]
shr r8d, 0x10
movzx r8d, r8b
mov r12d, dword [rbx + rsi*4]
mov r13d, dword [r15 + r8*4]
mov rsi, qword [rsp + 8]
movzx r8d, r10b
mov r14d, dword [r11 + r8*4]
mov r8d, eax
shr r10d, 0x18
shr r8d, 0x18
mov r9d, dword [rsi + r10*4]
mov r10d, dword [rsi + r8*4]
movzx r8d, al
mov r8d, dword [r11 + r8*4]
movzx esi, ah
shr eax, 0x10
movzx eax, al
mov r11d, r10d
xor r9d, r14d
xor r11d, r8d
mov edi, r9d
mov r9d, dword [rbx + rsi*4]
mov rbx, r15
mov esi, r11d
xor esi, dword [r15 + rax*4]
mov r15, qword [rsp + 8]
mov eax, ebp
xor edi, r13d
shr eax, 0x18
xor edi, r12d
mov r11d, dword [r15 + rax*4]
mov eax, ebp
movzx r15d, bpl
shr eax, 0x10
xor esi, r9d
movzx eax, al
mov eax, dword [rbx + rax*4]
mov rbx, qword [rsp + 0x18]
xor r10d, r11d
mov r15d, dword [rbx + r15*4]
mov ebx, ebp
movzx ebp, bh
mov rbx, qword [rsp + 0x10]
xor r11d, r15d
xor r8d, r15d
xor r11d, eax
xor r11d, dword [rbx + rbp*4]
mov ebx, dword [rsp + 0x28]
mov rbp, qword [rsp + 8]
xor r14d, r8d
mov r15d, ebx
mov r8d, ebx
mov rbx, qword [rsp + 0x10]
shr r15d, 0x10
shr r8d, 0x18
mov r8d, dword [rbp + r8*4]
movzx ebp, r15b
mov r15, qword [rsp + 0x20]
mov ebp, dword [r15 + rbp*4]
xor r10d, r8d
xor eax, ebp
xor r13d, eax
mov eax, dword [rsp + 0x28]
movzx eax, ah
mov eax, dword [rbx + rax*4]
movzx ebx, byte [rsp + 0x28]
xor r9d, eax
xor r9d, r12d
mov r12, qword [rsp + 0x18]
xor r8d, dword [r12 + rbx*4]
xor r8d, ebp
mov ebp, r14d
xor eax, r8d
mov r8d, edi
xor r8d, r10d
mov ebx, r8d
mov r8d, esi
xor r8d, r13d
and ebx, 0xff000000
and r8d, 0xff0000
shr ebp, 0x18
or ebx, r8d
mov r8d, r14d
xor ebp, edi
xor r8d, eax
movzx ebp, bpl
movzx r8d, r8b
or ebx, r8d
mov r8d, r11d
xor r8d, r9d
and r8d, 0xff00
or ebx, r8d
mov r8d, r10d
shl r8d, 8
xor r8d, esi
and r8d, 0xff000000
or r8d, ebp
mov ebp, r13d
shl ebp, 8
xor ebp, r11d
and ebp, 0xff0000
or r8d, ebp
mov ebp, r9d
shl ebp, 8
xor ebp, eax
and ebp, 0xff00
or r8d, ebp
mov ebp, r10d
mov dword [rsp + 0x3c], r8d
mov r8d, r14d
shl ebp, 0x10
shr r8d, 0x10
xor ebp, r11d
xor r8d, esi
and ebp, 0xff000000
movzx r8d, r8b
or ebp, r8d
mov r8d, r13d
shl r8d, 0x10
xor r8d, eax
and r8d, 0xff0000
or ebp, r8d
mov r8d, r9d
shr r8d, 0x10
xor r8d, edi
shr r14d, 8
shl r10d, 0x18
and r8d, 0xff00
xor r10d, eax
xor r11d, r14d
shr r13d, 8
or ebp, r8d
movzx r14d, r11b
mov r8d, dword [rsp + 0x3c]
xor r13d, edi
and r10d, 0xff000000
shr r9d, 8
mov r11d, dword [rsp + 0x4c]
or r10d, r14d
and r13d, 0xff0000
xor r9d, esi
xor dword [rsp + 0x88], ebp
or r10d, r13d
and r9d, 0xff00
mov r14, qword [rsp + 0x10]
or r10d, r9d
xor r11d, r8d
mov r9d, dword [rsp + 0xac]
mov esi, r10d
mov dword [rsp + 0x98], r10d
mov r10d, r11d
mov eax, r10d
mov r11d, dword [rsp + 0x70]
mov r13, r12
shr eax, 0x10
mov dword [rsp + 0x50], ebp
xor r9d, esi
movzx eax, al
xor dword [rsp + 0xb4], r8d
xor dword [rsp + 0xb8], esi
mov eax, dword [r15 + rax*4]
xor r11d, ebp
mov rbp, qword [rsp + 8]
movzx r8d, r10b
mov edi, r9d
mov dword [rsp + 0x18], eax
mov eax, r10d
shr r10d, 0x18
movzx esi, ah
mov eax, r11d
mov r9d, dword [r14 + rsi*4]
mov esi, dword [r12 + r8*4]
mov r8d, r11d
mov r12d, dword [rbp + r10*4]
shr r8d, 0x18
movzx eax, ah
mov r10d, dword [rbp + r8*4]
mov r8, rax
mov rax, r15
mov r14d, dword [r14 + r8*4]
movzx r8d, r11b
shr r11d, 0x10
xor r12d, esi
xor r12d, dword [rsp + 0x18]
mov r8d, dword [r13 + r8*4]
movzx r11d, r11b
mov ebp, r10d
xor ebp, r8d
xor r12d, r9d
xor r9d, r14d
xor ebp, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
mov r11d, edi
xor r8d, esi
shr r11d, 0x18
mov esi, dword [r15 + r11*4]
mov r11d, edi
xor ebp, r14d
shr r11d, 0x10
mov r15, rax
movzx r11d, r11b
mov r14d, dword [rax + r11*4]
mov eax, dword [rsp + 0x18]
movzx r11d, dil
xor r10d, esi
xor eax, r14d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x18], r13
mov eax, edi
mov r13d, dword [r13 + r11*4]
movzx edi, ah
mov rax, qword [rsp + 0x10]
xor esi, r13d
xor r8d, r13d
mov r13, qword [rsp + 0x10]
xor esi, r14d
xor esi, dword [rax + rdi*4]
mov rdi, qword [rsp + 8]
mov eax, dword [rsp + 0x28]
mov r11d, esi
mov esi, ebx
shr esi, 0x18
mov edi, dword [rdi + rsi*4]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
mov r14d, dword [r15 + rsi*4]
movzx esi, bh
movzx ebx, bl
mov r13d, dword [r13 + rsi*4]
mov rsi, qword [rsp + 0x18]
xor r10d, edi
xor eax, r14d
xor edi, dword [rsi + rbx*4]
mov ebx, r12d
xor r9d, r13d
xor ebx, r10d
and ebx, 0xff000000
xor edi, r14d
mov r14d, r8d
mov esi, edi
mov edi, ebx
mov ebx, ebp
xor esi, r13d
xor ebx, eax
xor r14d, esi
and ebx, 0xff0000
or ebx, edi
movzx edi, r14b
mov r14d, r11d
xor r14d, r9d
or ebx, edi
mov edi, r14d
mov r14d, r10d
and edi, 0xff00
shl r14d, 8
or ebx, edi
mov edi, r14d
mov r14d, r8d
xor edi, ebp
mov dword [rsp + 0x28], ebx
and edi, 0xff000000
shr r14d, 0x18
mov r13d, r14d
mov r14d, eax
xor r13d, r12d
shl r14d, 8
movzx r13d, r13b
or edi, r13d
mov r13d, r14d
mov r14d, r9d
xor r13d, r11d
shl r14d, 8
and r13d, 0xff0000
or edi, r13d
mov r13d, r14d
mov r14d, r10d
xor r13d, esi
shl r14d, 0x10
shl r10d, 0x18
and r13d, 0xff00
xor r10d, esi
or edi, r13d
and r10d, 0xff000000
mov ebx, edi
mov dword [rsp + 0x70], edi
mov edi, r14d
mov r14d, r8d
xor edi, r11d
shr r8d, 8
shr r14d, 0x10
and edi, 0xff000000
xor r8d, r11d
mov r13d, r14d
mov r14d, eax
movzx r8d, r8b
xor r13d, ebp
shl r14d, 0x10
shr eax, 8
movzx r13d, r13b
or r10d, r8d
mov r11d, dword [rsp + 0x2c]
or edi, r13d
mov r13d, r14d
mov r14d, r9d
xor r13d, esi
shr r14d, 0x10
mov esi, dword [rsp + 0x6c]
and r13d, 0xff0000
or edi, r13d
mov r13d, r14d
xor r13d, r12d
and r13d, 0xff00
or edi, r13d
xor eax, r12d
shr r9d, 8
mov r14d, edi
and eax, 0xff0000
xor r9d, ebp
mov dword [rsp + 0xac], edi
mov edi, dword [rsp + 0x30]
or r10d, eax
and r9d, 0xff00
mov ebp, dword [rsp + 0x90]
mov r13, qword [rsp + 0x10]
or r10d, r9d
xor r11d, r14d
xor dword [rsp + 0xa8], ebx
xor esi, r10d
xor edi, ebx
mov r8d, r10d
mov dword [rsp + 0x54], r10d
mov r10d, dword [rsp + 0x94]
xor ebp, r14d
mov ebx, edi
mov r14, qword [rsp + 0x18]
mov eax, edi
movzx ebx, bh
shr eax, 0x10
mov dword [rsp + 0x90], ebp
mov r9d, dword [r13 + rbx*4]
xor r10d, r8d
mov rbx, qword [rsp + 8]
movzx r8d, dil
movzx eax, al
shr edi, 0x18
mov r12d, dword [r14 + r8*4]
mov r8d, r11d
mov eax, dword [r15 + rax*4]
shr r8d, 0x18
mov ebp, dword [rbx + rdi*4]
mov dword [rsp + 0x94], r10d
mov r10d, dword [rbx + r8*4]
movzx r8d, r11b
mov ebx, r11d
mov r8d, dword [r14 + r8*4]
movzx edi, bh
shr r11d, 0x10
mov r13d, dword [r13 + rdi*4]
movzx r11d, r11b
mov rbx, r15
mov edi, r10d
xor ebp, r12d
xor edi, r8d
xor edi, dword [r15 + r11*4]
mov r15, qword [rsp + 8]
mov r11d, esi
xor r8d, r12d
xor ebp, eax
shr r11d, 0x18
xor ebp, r9d
xor r9d, r13d
mov r12d, dword [r15 + r11*4]
mov r11d, esi
mov r15, rbx
shr r11d, 0x10
xor edi, r13d
movzx r11d, r11b
mov r14d, dword [rbx + r11*4]
mov rbx, qword [rsp + 0x18]
movzx r11d, sil
xor r10d, r12d
mov r13d, dword [rbx + r11*4]
xor eax, r14d
mov ebx, esi
movzx esi, bh
mov ebx, dword [rsp + 0x28]
xor r12d, r13d
xor r12d, r14d
mov r14, qword [rsp + 0x10]
mov r11d, dword [r14 + rsi*4]
mov esi, ebx
xor r11d, r12d
mov r12, qword [rsp + 8]
xor r8d, r13d
shr esi, 0x18
mov esi, dword [r12 + rsi*4]
mov r12d, ebx
mov ebx, dword [rsp + 0x28]
shr r12d, 0x10
movzx r12d, r12b
movzx ebx, bh
mov r13d, dword [r15 + r12*4]
mov r15, qword [rsp + 0x18]
mov r12, rbx
movzx ebx, byte [rsp + 0x28]
xor r10d, esi
mov r12d, dword [r14 + r12*4]
xor eax, r13d
xor esi, dword [r15 + rbx*4]
mov ebx, ebp
xor r9d, r12d
xor ebx, r10d
xor esi, r13d
xor r12d, esi
mov esi, ebx
mov ebx, edi
xor ebx, eax
and esi, 0xff000000
and ebx, 0xff0000
or ebx, esi
mov esi, r8d
xor esi, r12d
movzx esi, sil
or ebx, esi
mov esi, r11d
xor esi, r9d
and esi, 0xff00
or ebx, esi
mov esi, r8d
mov dword [rsp + 0x30], ebx
mov ebx, r10d
shr esi, 0x18
shl ebx, 8
xor esi, ebp
xor ebx, edi
movzx esi, sil
and ebx, 0xff000000
or ebx, esi
mov esi, eax
shl esi, 8
xor esi, r11d
and esi, 0xff0000
or ebx, esi
mov esi, r9d
shl esi, 8
xor esi, r12d
and esi, 0xff00
or ebx, esi
mov esi, r10d
shl r10d, 0x18
mov dword [rsp + 0x2c], ebx
mov ebx, r8d
shl esi, 0x10
shr ebx, 0x10
xor esi, r11d
shr r8d, 8
xor ebx, edi
and esi, 0xff000000
xor r10d, r12d
movzx ebx, bl
xor r8d, r11d
and r10d, 0xff000000
or esi, ebx
mov ebx, eax
shr eax, 8
shl ebx, 0x10
xor eax, ebp
movzx r8d, r8b
xor ebx, r12d
or r10d, r8d
and eax, 0xff0000
and ebx, 0xff0000
or r10d, eax
or esi, ebx
mov ebx, r9d
shr r9d, 8
shr ebx, 0x10
xor r9d, edi
xor ebx, ebp
and r9d, 0xff00
and ebx, 0xff00
or r10d, r9d
mov r9d, 2
or esi, ebx
cmp qword [rsp + 0x120], 4
mov dword [rsp + 0x4c], r10d
mov dword [rsp + 0x6c], esi
jbe 0x45da02
mov eax, dword [rdx]
bswap eax
mov dword [rsp + 0x28], eax
add rdx, 4
sub qword [rsp + 0x120], 4
jmp 0x45d009
mov eax, dword [rsp + 0x28]
add r10d, ebx
mov dword [rcx + 4], r10d
mov dword [rcx], eax
jmp 0x45db87
mov eax, dword [rdx]
bswap eax
mov dword [rsp + 0x28], eax
add rdx, 4
sub qword [rsp + 0x120], 4
jmp 0x45dbf0
xor eax, eax
jmp 0x45da43