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