Function at 0x45f1f0
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, 0x158
mov rbx, rcx
mov r13, rdx
cmp r8d, 0x3f
jle 0x45f651
mov eax, dword [rcx]
sub r8d, 0x40
mov r9d, dword [rcx + 8]
lea rbp, [rsp + 0x50]
shr r8d, 6
mov r15d, dword [rcx + 0xc]
mov r14d, dword [rbx + 0x2c]
lea rsi, [rsp + 0xd0]
add r8, 1
mov r11d, dword [rbx + 0x34]
mov edx, dword [rbx + 0x38]
mov dword [rsp + 0x2c], eax
mov eax, dword [rcx + 4]
shl r8, 6
mov r10d, dword [rbx + 0x3c]
lea r12, [rsp + 0x90]
lea rdi, [r13 + r8]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x10]
mov qword [rsp + 0x48], rdi
lea rdi, [rsp + 0x110]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x24]
mov ecx, dword [rcx + 0x28]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0x30]
nop
movdqu xmm3, xmmword [r13 + 0x10]
movdqu xmm2, xmmword [r13]
movd xmm1, r9d
xor r8d, r8d
movdqu xmm4, xmmword [r13 + 0x20]
movd xmm0, dword [rsp + 0x2c]
movaps xmmword [rsp + 0x120], xmm3
movd xmm3, dword [rsp + 0x30]
movdqu xmm5, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0x110], xmm2
movd xmm2, r15d
punpckldq xmm1, xmm2
movaps xmmword [rsp + 0x130], xmm4
punpckldq xmm0, xmm3
movdqu xmm4, xmmword [r13]
punpcklqdq xmm0, xmm1
movd xmm2, dword [rsp + 0x38]
movd xmm1, dword [rsp + 0x3c]
movaps xmmword [rsp + 0x140], xmm5
pxor xmm0, xmm4
movd xmm5, dword [rsp + 0x40]
movdqu xmm3, xmmword [r13 + 0x10]
movd xmm4, r14d
movaps xmmword [rsp + 0x50], xmm0
movd xmm0, dword [rsp + 0x34]
punpckldq xmm1, xmm5
movd xmm5, dword [rsp + 0x28]
punpckldq xmm0, xmm2
movdqu xmm2, xmmword [r13 + 0x20]
punpcklqdq xmm0, xmm1
movd xmm1, ecx
mov rcx, rdi
pxor xmm0, xmm3
punpckldq xmm1, xmm4
movd xmm3, r10d
movaps xmmword [rsp + 0x60], xmm0
movd xmm0, dword [rsp + 0x44]
movd xmm4, r11d
punpckldq xmm0, xmm5
movdqu xmm5, xmmword [r13 + 0x30]
punpcklqdq xmm0, xmm1
movd xmm1, edx
mov rdx, rsi
pxor xmm0, xmm2
punpckldq xmm1, xmm3
movaps xmmword [rsp + 0x70], xmm0
movd xmm0, eax
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
pxor xmm0, xmm5
movaps xmmword [rsp + 0x80], xmm0
call fcn.0045e540
mov r8d, 0x1000000
mov rdx, rdi
mov rcx, rsi
call fcn.0045e540
mov r8d, 0x2000000
mov rdx, rsi
mov rcx, rdi
call fcn.0045e540
mov r8d, 0x3000000
mov rdx, rdi
mov rcx, rsi
call fcn.0045e540
mov r8d, 0x4000000
mov rdx, rsi
mov rcx, rdi
call fcn.0045e540
mov r8d, 0x5000000
mov rdx, rdi
mov rcx, rsi
call fcn.0045e540
mov r8d, 0x6000000
mov rdx, rsi
mov rcx, rdi
call fcn.0045e540
mov r8d, 0x7000000
mov rdx, rdi
mov rcx, rsi
call fcn.0045e540
mov r8d, 0x8000000
mov rdx, rsi
mov rcx, rdi
call fcn.0045e540
mov r8d, 0x9000000
mov rdx, r12
mov rcx, rsi
call fcn.0045e540
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.0045d850
mov r8d, 1
mov rdx, rdi
mov rcx, rsi
call fcn.0045d850
mov r8d, 2
mov rdx, rsi
mov rcx, rdi
call fcn.0045d850
mov r8d, 3
mov rdx, rdi
mov rcx, rsi
call fcn.0045d850
mov r8d, 4
mov rdx, rsi
mov rcx, rdi
call fcn.0045d850
mov r8d, 5
mov rdx, rdi
mov rcx, rsi
call fcn.0045d850
mov r8d, 6
mov rdx, rsi
mov rcx, rdi
call fcn.0045d850
mov r8d, 7
mov rdx, rdi
mov rcx, rsi
call fcn.0045d850
mov r8d, 8
mov rdx, rsi
mov rcx, rdi
call fcn.0045d850
mov rdx, rbp
mov rcx, rsi
mov r8d, 9
call fcn.0045d850
mov eax, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x58]
xor eax, dword [rsp + 0x90]
xor eax, dword [rbx]
xor r9d, dword [rsp + 0x98]
mov r15d, dword [rsp + 0x5c]
mov dword [rsp + 0x2c], eax
xor r9d, dword [rbx + 8]
xor r15d, dword [rsp + 0x9c]
mov dword [rbx], eax
mov eax, dword [rsp + 0x54]
xor eax, dword [rsp + 0x94]
mov dword [rbx + 8], r9d
xor eax, dword [rbx + 4]
xor r15d, dword [rbx + 0xc]
mov dword [rsp + 0x30], eax
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0x60]
xor eax, dword [rsp + 0xa0]
xor eax, dword [rbx + 0x10]
mov dword [rbx + 0xc], r15d
mov dword [rsp + 0x34], eax
mov dword [rbx + 0x10], eax
mov eax, dword [rsp + 0x64]
xor eax, dword [rsp + 0xa4]
xor eax, dword [rbx + 0x14]
mov dword [rsp + 0x38], eax
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x68]
xor eax, dword [rsp + 0xa8]
xor eax, dword [rbx + 0x18]
mov dword [rsp + 0x3c], eax
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x6c]
xor eax, dword [rsp + 0xac]
xor eax, dword [rbx + 0x1c]
mov ecx, dword [rsp + 0x78]
mov r14d, dword [rsp + 0x7c]
mov dword [rbx + 0x1c], eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x70]
xor eax, dword [rsp + 0xb0]
xor eax, dword [rbx + 0x20]
mov dword [rsp + 0x44], eax
xor ecx, dword [rsp + 0xb8]
xor r14d, dword [rsp + 0xbc]
xor ecx, dword [rbx + 0x28]
mov dword [rbx + 0x20], eax
mov eax, dword [rsp + 0x74]
xor eax, dword [rsp + 0xb4]
mov dword [rbx + 0x28], ecx
xor eax, dword [rbx + 0x24]
xor r14d, dword [rbx + 0x2c]
mov dword [rsp + 0x28], eax
mov r11d, dword [rsp + 0x84]
mov dword [rbx + 0x24], eax
xor r11d, dword [rsp + 0xc4]
mov eax, dword [rsp + 0x80]
xor r11d, dword [rbx + 0x34]
mov dword [rbx + 0x2c], r14d
xor eax, dword [rsp + 0xc0]
xor eax, dword [rbx + 0x30]
mov dword [rbx + 0x34], r11d
mov dword [rbx + 0x30], eax
mov edx, dword [rsp + 0x88]
xor edx, dword [rsp + 0xc8]
mov r10d, dword [rsp + 0x8c]
xor edx, dword [rbx + 0x38]
xor r10d, dword [rsp + 0xcc]
xor r10d, dword [rbx + 0x3c]
add dword [rbx + 0x40], 1
mov dword [rbx + 0x38], edx
mov dword [rbx + 0x3c], r10d
jne 0x45f642
add dword [rbx + 0x44], 1
add r13, 0x40
cmp r13, qword [rsp + 0x48]
jne 0x45f2a0
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret