Function at 0x695230
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, 0x58
cmp r9, r8
mov rbp, rcx
mov r15, rdx
mov rbx, r8
mov r12, r9
mov rsi, r8
je 0x696446
mov rdi, rdx
mov rax, qword [rbp + 8]
mov r11, r9
movabs rcx, 0xcf3cf3cf3cf3cf3d
mov rdx, qword [rbp + 0x10]
sub r11, r8
mov r14, r11
mov qword [rsp + 0x30], r11
sar r14, 4
imul r14, rcx
sub rdx, rax
sar rdx, 4
imul rdx, rcx
mov qword [rsp + 0x20], r14
cmp rdx, r14
jb 0x696460
mov rdx, rax
sub rdx, r15
mov qword [rsp + 0x38], rdx
sar rdx, 4
imul rdx, rcx
cmp r14, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x28], rdx
jae 0x696a90
mov r8, rax
sub r8, r11
cmp rax, r8
je 0x697441
lea r10, [r8 + 0x150]
mov rcx, rax
mov r13, r8
movabs r11, 0xf3cf3cf3cf3cf3d
sub rcx, r10
movabs r9, 0xfffffffffffffff
shr rcx, 4
imul rcx, r11
and rcx, r9
add rcx, 1
lea r12, [rcx + rcx*4]
lea rdx, [rcx + r12*4]
mov r12, rax
shl rdx, 4
lea r10, [rax + rdx]
sub rdx, 0x150
shr rdx, 4
mov qword [rsp + 0x28], r10
imul rdx, r11
and rdx, r9
add rdx, 1
and edx, 7
je 0x695488
cmp rdx, 1
je 0x695450
cmp rdx, 2
je 0x695423
cmp rdx, 3
je 0x6953f6
cmp rdx, 4
je 0x6953c9
cmp rdx, 5
je 0x69539c
cmp rdx, 6
jne 0x697374
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
add r12, 0x150
mov qword [rsp + 0x38], r8
add r13, 0x150
call fcn.005c1a80
cmp r12, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
je 0x695558
mov qword [rsp + 0xb0], rbx
mov rbx, rax
mov qword [rsp + 0x38], r8
mov rdx, r13
mov rcx, r12
call fcn.005c1a80
lea rcx, [r12 + 0x150]
lea rdx, [r13 + 0x150]
call fcn.005c1a80
lea rcx, [r12 + 0x2a0]
lea rdx, [r13 + 0x2a0]
call fcn.005c1a80
lea rcx, [r12 + 0x3f0]
lea rdx, [r13 + 0x3f0]
call fcn.005c1a80
lea rcx, [r12 + 0x540]
lea rdx, [r13 + 0x540]
call fcn.005c1a80
lea rcx, [r12 + 0x690]
lea rdx, [r13 + 0x690]
call fcn.005c1a80
lea rcx, [r12 + 0x7e0]
lea rdx, [r13 + 0x7e0]
call fcn.005c1a80
lea rcx, [r12 + 0x930]
add r12, 0xa80
lea rdx, [r13 + 0x930]
add r13, 0xa80
call fcn.005c1a80
cmp r12, qword [rsp + 0x28]
jne 0x695498
mov rax, rbx
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0xb0]
mov rdx, qword [rbp + 8]
add rdx, qword [rsp + 0x30]
mov qword [rbp + 8], rdx
mov rbp, r8
movabs rdx, 0xcf3cf3cf3cf3cf3d
sub rbp, r15
mov rcx, rbp
sar rcx, 4
imul rdx, rcx
test rbp, rbp
jg 0x695b34
jmp 0x69628f
cmp byte [r8 + 0x34], 0
je 0x6970d0
mov ebp, dword [r8 + 0x30]
mov dword [rax + 0x30], ebp
cmp byte [rax + 0x3c], 0
je 0x695c24
cmp byte [r8 + 0x3c], 0
je 0x6970c0
mov r11d, dword [r8 + 0x38]
mov dword [rax + 0x38], r11d
cmp byte [rax + 0x44], 0
je 0x695c44
cmp byte [r8 + 0x44], 0
je 0x6970f0
mov r10d, dword [r8 + 0x40]
mov dword [rax + 0x40], r10d
cmp byte [rax + 0x4c], 0
je 0x695c65
cmp byte [r8 + 0x4c], 0
je 0x6970e0
movss xmm3, dword [r8 + 0x48]
movss dword [rax + 0x48], xmm3
cmp byte [rax + 0x54], 0
je 0x695c89
cmp byte [r8 + 0x54], 0
je 0x697110
movss xmm5, dword [r8 + 0x50]
movss dword [rax + 0x50], xmm5
cmp byte [rax + 0x5c], 0
je 0x695cad
cmp byte [r8 + 0x5c], 0
je 0x697100
movss xmm1, dword [r8 + 0x58]
movss dword [rax + 0x58], xmm1
cmp byte [rax + 0x64], 0
je 0x695cd1
cmp byte [r8 + 0x64], 0
je 0x697130
movss xmm3, dword [r8 + 0x60]
movss dword [rax + 0x60], xmm3
cmp byte [rax + 0x6c], 0
je 0x695cf5
cmp byte [r8 + 0x6c], 0
je 0x697120
movss xmm5, dword [r8 + 0x68]
movss dword [rax + 0x68], xmm5
cmp byte [rax + 0x74], 0
je 0x695d19
cmp byte [r8 + 0x74], 0
je 0x697200
movss xmm1, dword [r8 + 0x70]
movss dword [rax + 0x70], xmm1
cmp byte [rax + 0x7c], 0
je 0x695d3d
cmp byte [r8 + 0x7c], 0
je 0x6971f0
movss xmm3, dword [r8 + 0x78]
movss dword [rax + 0x78], xmm3
cmp byte [rax + 0x84], 0
je 0x695d64
cmp byte [r8 + 0x84], 0
je 0x697220
movss xmm5, dword [r8 + 0x80]
movss dword [rax + 0x80], xmm5
cmp byte [rax + 0x8c], 0
je 0x695d97
cmp byte [r8 + 0x8c], 0
je 0x697210
movss xmm1, dword [r8 + 0x88]
movss dword [rax + 0x88], xmm1
cmp byte [rax + 0x94], 0
je 0x695dca
cmp byte [r8 + 0x94], 0
je 0x697240
movss xmm3, dword [r8 + 0x90]
movss dword [rax + 0x90], xmm3
cmp byte [rax + 0x9c], 0
je 0x695dfd
cmp byte [r8 + 0x9c], 0
je 0x697230
movss xmm5, dword [r8 + 0x98]
movss dword [rax + 0x98], xmm5
cmp byte [rax + 0xa4], 0
je 0x695e30
cmp byte [r8 + 0xa4], 0
je 0x697260
movss xmm1, dword [r8 + 0xa0]
movss dword [rax + 0xa0], xmm1
cmp byte [rax + 0xac], 0
je 0x695e63
cmp byte [r8 + 0xac], 0
je 0x697250
movss xmm3, dword [r8 + 0xa8]
movss dword [rax + 0xa8], xmm3
cmp byte [rax + 0xb4], 0
je 0x695e96
cmp byte [r8 + 0xb4], 0
je 0x697280
movss xmm5, dword [r8 + 0xb0]
movss dword [rax + 0xb0], xmm5
cmp byte [rax + 0xbc], 0
je 0x695ec9
cmp byte [r8 + 0xbc], 0
je 0x697270
movss xmm1, dword [r8 + 0xb8]
movss dword [rax + 0xb8], xmm1
cmp byte [rax + 0xc4], 0
je 0x695efc
cmp byte [r8 + 0xc4], 0
je 0x6972a0
movss xmm3, dword [r8 + 0xc0]
movss dword [rax + 0xc0], xmm3
cmp byte [rax + 0xcc], 0
je 0x695f2f
cmp byte [r8 + 0xcc], 0
je 0x697290
movss xmm5, dword [r8 + 0xc8]
movss dword [rax + 0xc8], xmm5
cmp byte [rax + 0xd4], 0
je 0x695f62
cmp byte [r8 + 0xd4], 0
je 0x6972c0
movss xmm1, dword [r8 + 0xd0]
movss dword [rax + 0xd0], xmm1
cmp byte [rax + 0xdc], 0
je 0x695f95
cmp byte [r8 + 0xdc], 0
je 0x6972b0
movss xmm3, dword [r8 + 0xd8]
movss dword [rax + 0xd8], xmm3
cmp byte [rax + 0xe4], 0
je 0x695fc8
cmp byte [r8 + 0xe4], 0
je 0x6972e0
movss xmm5, dword [r8 + 0xe0]
movss dword [rax + 0xe0], xmm5
cmp byte [rax + 0xec], 0
je 0x695ffb
cmp byte [r8 + 0xec], 0
je 0x6972d0
movss xmm1, dword [r8 + 0xe8]
movss dword [rax + 0xe8], xmm1
cmp byte [rax + 0xf4], 0
je 0x69602e
cmp byte [r8 + 0xf4], 0
je 0x697150
movss xmm3, dword [r8 + 0xf0]
movss dword [rax + 0xf0], xmm3
cmp byte [rax + 0xfc], 0
je 0x696061
cmp byte [r8 + 0xfc], 0
je 0x697140
movss xmm5, dword [r8 + 0xf8]
movss dword [rax + 0xf8], xmm5
cmp byte [rax + 0x104], 0
je 0x696094
cmp byte [r8 + 0x104], 0
je 0x697170
movss xmm1, dword [r8 + 0x100]
movss dword [rax + 0x100], xmm1
cmp byte [rax + 0x10c], 0
je 0x6960c7
cmp byte [r8 + 0x10c], 0
je 0x697160
movss xmm3, dword [r8 + 0x108]
movss dword [rax + 0x108], xmm3
cmp byte [rax + 0x114], 0
je 0x6960fa
cmp byte [r8 + 0x114], 0
je 0x697190
movss xmm5, dword [r8 + 0x110]
movss dword [rax + 0x110], xmm5
cmp byte [rax + 0x11c], 0
je 0x69612d
cmp byte [r8 + 0x11c], 0
je 0x697180
movss xmm1, dword [r8 + 0x118]
movss dword [rax + 0x118], xmm1
cmp byte [rax + 0x124], 0
je 0x696160
cmp byte [r8 + 0x124], 0
je 0x6971b0
movss xmm3, dword [r8 + 0x120]
movss dword [rax + 0x120], xmm3
cmp byte [rax + 0x12c], 0
je 0x696193
cmp byte [r8 + 0x12c], 0
je 0x6971a0
movss xmm5, dword [r8 + 0x128]
movss dword [rax + 0x128], xmm5
cmp byte [rax + 0x134], 0
je 0x6961c6
cmp byte [r8 + 0x134], 0
je 0x6971d0
movss xmm1, dword [r8 + 0x130]
movss dword [rax + 0x130], xmm1
cmp byte [rax + 0x13c], 0
je 0x6961f9
cmp byte [r8 + 0x13c], 0
je 0x6971c0
movss xmm3, dword [r8 + 0x138]
movss dword [rax + 0x138], xmm3
cmp byte [rax + 0x144], 0
je 0x69622c
cmp byte [r8 + 0x144], 0
je 0x6971e0
movss xmm5, dword [r8 + 0x140]
movss dword [rax + 0x140], xmm5
cmp byte [rax + 0x14c], 0
je 0x69625f
cmp byte [r8 + 0x14c], 0
jne 0x6972f0
mov byte [rax + 0x14c], 0
sub rdx, 1
je 0x69628f
sub rax, 0x150
movss xmm1, dword [rax]
sub r8, 0x150
movss xmm0, dword [r8]
movss dword [r8], xmm1
movss xmm3, dword [rax + 4]
movss dword [rax], xmm0
movss xmm2, dword [r8 + 4]
movss dword [r8 + 4], xmm3
movss xmm5, dword [rax + 8]
movss dword [rax + 4], xmm2
movss xmm4, dword [r8 + 8]
movss dword [r8 + 8], xmm5
movss xmm1, dword [rax + 0xc]
movss dword [rax + 8], xmm4
mov r11d, dword [r8 + 0x18]
movss xmm0, dword [r8 + 0xc]
movss dword [r8 + 0xc], xmm1
movss xmm3, dword [rax + 0x10]
movss dword [rax + 0xc], xmm0
movss xmm2, dword [r8 + 0x10]
movss dword [r8 + 0x10], xmm3
movss xmm5, dword [rax + 0x14]
movss dword [rax + 0x10], xmm2
movzx r10d, byte [r8 + 0x20]
movss xmm4, dword [r8 + 0x14]
movss dword [r8 + 0x14], xmm5
mov dword [rax + 0x18], r11d
mov r9d, dword [r8 + 0x1c]
movss dword [rax + 0x14], xmm4
movss xmm0, dword [r8 + 0x24]
mov byte [rax + 0x20], r10b
movss dword [rax + 0x24], xmm0
mov dword [rax + 0x1c], r9d
movzx r12d, byte [r8 + 0x28]
cmp byte [rax + 0x34], 0
movss xmm1, dword [r8 + 0x2c]
mov byte [rax + 0x28], r12b
movss dword [rax + 0x2c], xmm1
jne 0x695590
cmp byte [r8 + 0x34], 0
je 0x6955a2
mov r13d, dword [r8 + 0x30]
mov byte [rax + 0x34], 1
cmp byte [rax + 0x3c], 0
mov dword [rax + 0x30], r13d
jne 0x6955ac
cmp byte [r8 + 0x3c], 0
je 0x6955bf
mov ecx, dword [r8 + 0x38]
mov byte [rax + 0x3c], 1
cmp byte [rax + 0x44], 0
mov dword [rax + 0x38], ecx
jne 0x6955c9
cmp byte [r8 + 0x44], 0
je 0x6955dc
mov r9d, dword [r8 + 0x40]
mov byte [rax + 0x44], 1
cmp byte [rax + 0x4c], 0
mov dword [rax + 0x40], r9d
jne 0x6955e6
cmp byte [r8 + 0x4c], 0
je 0x6955fc
cmp byte [rax + 0x54], 0
movss xmm2, dword [r8 + 0x48]
mov byte [rax + 0x4c], 1
movss dword [rax + 0x48], xmm2
jne 0x695606
cmp byte [r8 + 0x54], 0
je 0x69561c
cmp byte [rax + 0x5c], 0
movss xmm4, dword [r8 + 0x50]
mov byte [rax + 0x54], 1
movss dword [rax + 0x50], xmm4
jne 0x695626
cmp byte [r8 + 0x5c], 0
je 0x69563c
cmp byte [rax + 0x64], 0
movss xmm0, dword [r8 + 0x58]
mov byte [rax + 0x5c], 1
movss dword [rax + 0x58], xmm0
jne 0x695646
cmp byte [r8 + 0x64], 0
je 0x69565c
cmp byte [rax + 0x6c], 0
movss xmm2, dword [r8 + 0x60]
mov byte [rax + 0x64], 1
movss dword [rax + 0x60], xmm2
jne 0x695666
cmp byte [r8 + 0x6c], 0
je 0x69567c
cmp byte [rax + 0x74], 0
movss xmm4, dword [r8 + 0x68]
mov byte [rax + 0x6c], 1
movss dword [rax + 0x68], xmm4
jne 0x695686
cmp byte [r8 + 0x74], 0
je 0x69569c
cmp byte [rax + 0x7c], 0
movss xmm0, dword [r8 + 0x70]
mov byte [rax + 0x74], 1
movss dword [rax + 0x70], xmm0
jne 0x6956a6
cmp byte [r8 + 0x7c], 0
je 0x6956bc
cmp byte [rax + 0x84], 0
movss xmm2, dword [r8 + 0x78]
mov byte [rax + 0x7c], 1
movss dword [rax + 0x78], xmm2
jne 0x6956c9
cmp byte [r8 + 0x84], 0
je 0x6956e8
cmp byte [rax + 0x8c], 0
movss xmm4, dword [r8 + 0x80]
mov byte [rax + 0x84], 1
movss dword [rax + 0x80], xmm4
jne 0x6956f5
cmp byte [r8 + 0x8c], 0
je 0x695714
cmp byte [rax + 0x94], 0
movss xmm0, dword [r8 + 0x88]
mov byte [rax + 0x8c], 1
movss dword [rax + 0x88], xmm0
jne 0x695721
cmp byte [r8 + 0x94], 0
je 0x695740
cmp byte [rax + 0x9c], 0
movss xmm2, dword [r8 + 0x90]
mov byte [rax + 0x94], 1
movss dword [rax + 0x90], xmm2
jne 0x69574d
cmp byte [r8 + 0x9c], 0
je 0x69576c
cmp byte [rax + 0xa4], 0
movss xmm4, dword [r8 + 0x98]
mov byte [rax + 0x9c], 1
movss dword [rax + 0x98], xmm4
jne 0x695779
cmp byte [r8 + 0xa4], 0
je 0x695798
cmp byte [rax + 0xac], 0
movss xmm0, dword [r8 + 0xa0]
mov byte [rax + 0xa4], 1
movss dword [rax + 0xa0], xmm0
jne 0x6957a5
cmp byte [r8 + 0xac], 0
je 0x6957c4
cmp byte [rax + 0xb4], 0
movss xmm2, dword [r8 + 0xa8]
mov byte [rax + 0xac], 1
movss dword [rax + 0xa8], xmm2
jne 0x6957d1
cmp byte [r8 + 0xb4], 0
je 0x6957f0
cmp byte [rax + 0xbc], 0
movss xmm4, dword [r8 + 0xb0]
mov byte [rax + 0xb4], 1
movss dword [rax + 0xb0], xmm4
jne 0x6957fd
cmp byte [r8 + 0xbc], 0
je 0x69581c
cmp byte [rax + 0xc4], 0
movss xmm0, dword [r8 + 0xb8]
mov byte [rax + 0xbc], 1
movss dword [rax + 0xb8], xmm0
jne 0x695829
cmp byte [r8 + 0xc4], 0
je 0x695848
cmp byte [rax + 0xcc], 0
movss xmm2, dword [r8 + 0xc0]
mov byte [rax + 0xc4], 1
movss dword [rax + 0xc0], xmm2
jne 0x695855
cmp byte [r8 + 0xcc], 0
je 0x695874
cmp byte [rax + 0xd4], 0
movss xmm4, dword [r8 + 0xc8]
mov byte [rax + 0xcc], 1
movss dword [rax + 0xc8], xmm4
jne 0x695881
cmp byte [r8 + 0xd4], 0
je 0x6958a0
cmp byte [rax + 0xdc], 0
movss xmm0, dword [r8 + 0xd0]
mov byte [rax + 0xd4], 1
movss dword [rax + 0xd0], xmm0
jne 0x6958ad
cmp byte [r8 + 0xdc], 0
je 0x6958cc
cmp byte [rax + 0xe4], 0
movss xmm2, dword [r8 + 0xd8]
mov byte [rax + 0xdc], 1
movss dword [rax + 0xd8], xmm2
jne 0x6958d9
cmp byte [r8 + 0xe4], 0
je 0x6958f8
cmp byte [rax + 0xec], 0
movss xmm4, dword [r8 + 0xe0]
mov byte [rax + 0xe4], 1
movss dword [rax + 0xe0], xmm4
jne 0x695905
cmp byte [r8 + 0xec], 0
je 0x695924
cmp byte [rax + 0xf4], 0
movss xmm0, dword [r8 + 0xe8]
mov byte [rax + 0xec], 1
movss dword [rax + 0xe8], xmm0
jne 0x695931
cmp byte [r8 + 0xf4], 0
je 0x695950
cmp byte [rax + 0xfc], 0
movss xmm2, dword [r8 + 0xf0]
mov byte [rax + 0xf4], 1
movss dword [rax + 0xf0], xmm2
jne 0x69595d
cmp byte [r8 + 0xfc], 0
je 0x69597c
cmp byte [rax + 0x104], 0
movss xmm4, dword [r8 + 0xf8]
mov byte [rax + 0xfc], 1
movss dword [rax + 0xf8], xmm4
jne 0x695989
cmp byte [r8 + 0x104], 0
je 0x6959a8
cmp byte [rax + 0x10c], 0
movss xmm0, dword [r8 + 0x100]
mov byte [rax + 0x104], 1
movss dword [rax + 0x100], xmm0
jne 0x6959b5
cmp byte [r8 + 0x10c], 0
je 0x6959d4
cmp byte [rax + 0x114], 0
movss xmm2, dword [r8 + 0x108]
mov byte [rax + 0x10c], 1
movss dword [rax + 0x108], xmm2
jne 0x6959e1
cmp byte [r8 + 0x114], 0
je 0x695a00
cmp byte [rax + 0x11c], 0
movss xmm4, dword [r8 + 0x110]
mov byte [rax + 0x114], 1
movss dword [rax + 0x110], xmm4
jne 0x695a0d
cmp byte [r8 + 0x11c], 0
je 0x695a2c
cmp byte [rax + 0x124], 0
movss xmm0, dword [r8 + 0x118]
mov byte [rax + 0x11c], 1
movss dword [rax + 0x118], xmm0
jne 0x695a39
cmp byte [r8 + 0x124], 0
je 0x695a58
cmp byte [rax + 0x12c], 0
movss xmm2, dword [r8 + 0x120]
mov byte [rax + 0x124], 1
movss dword [rax + 0x120], xmm2
jne 0x695a65
cmp byte [r8 + 0x12c], 0
je 0x695a84
cmp byte [rax + 0x134], 0
movss xmm4, dword [r8 + 0x128]
mov byte [rax + 0x12c], 1
movss dword [rax + 0x128], xmm4
jne 0x695a91
cmp byte [r8 + 0x134], 0
je 0x695ab0
cmp byte [rax + 0x13c], 0
movss xmm0, dword [r8 + 0x130]
mov byte [rax + 0x134], 1
movss dword [rax + 0x130], xmm0
jne 0x695abd
cmp byte [r8 + 0x13c], 0
je 0x695adc
cmp byte [rax + 0x144], 0
movss xmm2, dword [r8 + 0x138]
mov byte [rax + 0x13c], 1
movss dword [rax + 0x138], xmm2
jne 0x695ae9
cmp byte [r8 + 0x144], 0
je 0x695b08
cmp byte [rax + 0x14c], 0
movss xmm4, dword [r8 + 0x140]
mov byte [rax + 0x144], 1
movss dword [rax + 0x140], xmm4
jne 0x695b15
cmp byte [r8 + 0x14c], 0
je 0x695b2a
movss xmm0, dword [r8 + 0x148]
sub rdx, 1
mov byte [rax + 0x14c], 1
movss dword [rax + 0x148], xmm0
jne 0x695b34
cmp qword [rsp + 0x30], 0
jle 0x696446
lea r12, [r14 - 1]
and r14d, 7
je 0x696399
cmp r14, 1
je 0x696374
cmp r14, 2
je 0x696355
cmp r14, 3
je 0x696336
cmp r14, 4
je 0x696317
cmp r14, 5
je 0x6962f8
cmp r14, 6
jne 0x6973e2
mov rdx, rsi
mov rcx, rdi
add rsi, 0x150
call fcn.005c22c0
add rdi, 0x150
sub qword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x20], 1
je 0x696446
mov r15, qword [rsp + 0x20]
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
lea rdx, [rsi + 0x150]
lea rcx, [rdi + 0x150]
call fcn.005c22c0
lea rdx, [rsi + 0x2a0]
lea rcx, [rdi + 0x2a0]
call fcn.005c22c0
lea rdx, [rsi + 0x3f0]
lea rcx, [rdi + 0x3f0]
call fcn.005c22c0
lea rdx, [rsi + 0x540]
lea rcx, [rdi + 0x540]
call fcn.005c22c0
lea rdx, [rsi + 0x690]
lea rcx, [rdi + 0x690]
call fcn.005c22c0
lea rdx, [rsi + 0x7e0]
lea rcx, [rdi + 0x7e0]
call fcn.005c22c0
lea rdx, [rsi + 0x930]
add rsi, 0xa80
lea rcx, [rdi + 0x930]
add rdi, 0xa80
call fcn.005c22c0
sub r15, 8
jne 0x69639e
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rsi, 0xc30c30c30c30c3
mov rdi, qword [rbp]
mov r8, rsi
sub rax, rdi
sar rax, 4
imul rax, rcx
sub r8, rax
cmp r14, r8
ja 0x697481
cmp r14, rax
cmovb r14, rax
add rax, r14
jb 0x6970b0
cmp rax, rsi
ja 0x6970b0
test rax, rax
je 0x697470
lea rdi, [rax + rax*4]
lea rsi, [rax + rdi*4]
shl rsi, 4
mov r14, rsi
mov rcx, r14
call fcn.005ab718
mov rdi, qword [rbp]
mov r13, rax
lea rax, [rax + r14]
mov qword [rsp + 0x20], rax
cmp r15, rdi
je 0x697460
lea r9, [rdi + 0x150]
mov r10, r15
mov rsi, r13
movabs r11, 0xf3cf3cf3cf3cf3d
sub r10, r9
movabs rcx, 0xfffffffffffffff
shr r10, 4
imul r10, r11
and r10, rcx
add r10, 1
lea rdx, [r10 + r10*4]
lea r8, [r10 + rdx*4]
shl r8, 4
lea r14, [r13 + r8]
sub r8, 0x150
shr r8, 4
imul r8, r11
and r8, rcx
add r8, 1
and r8d, 7
je 0x69660d
cmp r8, 1
je 0x6965eb
cmp r8, 2
je 0x6965d2
cmp r8, 3
je 0x6965b9
cmp r8, 4
je 0x6965a0
cmp r8, 5
je 0x696587
cmp r8, 6
jne 0x697420
mov rdx, rdi
mov rcx, rsi
add rdi, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rdi
mov rcx, rsi
add rdi, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rdi
mov rcx, rsi
add rdi, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rdi
mov rcx, rsi
add rdi, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rdi
mov rcx, rsi
add rdi, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rdi
mov rcx, rsi
add rsi, 0x150
call fcn.005c1a80
add rdi, 0x150
cmp rsi, r14
je 0x6966b4
mov rdx, rdi
mov rcx, rsi
call fcn.005c1a80
lea rcx, [rsi + 0x150]
lea rdx, [rdi + 0x150]
call fcn.005c1a80
lea rcx, [rsi + 0x2a0]
lea rdx, [rdi + 0x2a0]
call fcn.005c1a80
lea rcx, [rsi + 0x3f0]
lea rdx, [rdi + 0x3f0]
call fcn.005c1a80
lea rcx, [rsi + 0x540]
lea rdx, [rdi + 0x540]
call fcn.005c1a80
lea rcx, [rsi + 0x690]
lea rdx, [rdi + 0x690]
call fcn.005c1a80
lea rcx, [rsi + 0x7e0]
lea rdx, [rdi + 0x7e0]
call fcn.005c1a80
lea rcx, [rsi + 0x930]
add rsi, 0xa80
lea rdx, [rdi + 0x930]
add rdi, 0xa80
call fcn.005c1a80
cmp rsi, r14
jne 0x69660d
lea r14, [rbx + 0x150]
movabs r9, 0xf3cf3cf3cf3cf3d
movabs r10, 0xfffffffffffffff
sub r12, r14
shr r12, 4
imul r12, r9
and r12, r10
add r12, 1
lea rax, [r12 + r12*4]
lea r11, [r12 + rax*4]
shl r11, 4
lea rdi, [rsi + r11]
sub r11, 0x150
shr r11, 4
imul r11, r9
and r11, r10
add r11, 1
and r11d, 7
je 0x6967e0
cmp r11, 1
je 0x6967be
cmp r11, 2
je 0x6967a5
cmp r11, 3
je 0x69678c
cmp r11, 4
je 0x696773
cmp r11, 5
je 0x69675a
cmp r11, 6
jne 0x697310
mov rdx, rbx
mov rcx, rsi
add rbx, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rbx
mov rcx, rsi
add rbx, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rbx
mov rcx, rsi
add rbx, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rbx
mov rcx, rsi
add rbx, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rbx
mov rcx, rsi
add rbx, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, rbx
mov rcx, rsi
add rsi, 0x150
call fcn.005c1a80
add rbx, 0x150
cmp rsi, rdi
je 0x696887
mov rdx, rbx
mov rcx, rsi
call fcn.005c1a80
lea rcx, [rsi + 0x150]
lea rdx, [rbx + 0x150]
call fcn.005c1a80
lea rcx, [rsi + 0x2a0]
lea rdx, [rbx + 0x2a0]
call fcn.005c1a80
lea rcx, [rsi + 0x3f0]
lea rdx, [rbx + 0x3f0]
call fcn.005c1a80
lea rcx, [rsi + 0x540]
lea rdx, [rbx + 0x540]
call fcn.005c1a80
lea rcx, [rsi + 0x690]
lea rdx, [rbx + 0x690]
call fcn.005c1a80
lea rcx, [rsi + 0x7e0]
lea rdx, [rbx + 0x7e0]
call fcn.005c1a80
lea rcx, [rsi + 0x930]
add rsi, 0xa80
lea rdx, [rbx + 0x930]
add rbx, 0xa80
call fcn.005c1a80
cmp rsi, rdi
jne 0x6967e0
mov rcx, qword [rbp + 8]
cmp r15, rcx
je 0x696a6a
lea r14, [r15 + 0x150]
movabs r8, 0xf3cf3cf3cf3cf3d
movabs r12, 0xfffffffffffffff
sub rcx, r14
mov rdx, rcx
shr rdx, 4
imul rdx, r8
and rdx, r12
add rdx, 1
lea r9, [rdx + rdx*4]
lea r10, [rdx + r9*4]
shl r10, 4
lea rdi, [rsi + r10]
sub r10, 0x150
shr r10, 4
imul r10, r8
and r10, r12
add r10, 1
and r10d, 7
je 0x6969c3
cmp r10, 1
je 0x6969a1
cmp r10, 2
je 0x696988
cmp r10, 3
je 0x69696f
cmp r10, 4
je 0x696956
cmp r10, 5
je 0x69693d
cmp r10, 6
jne 0x697405
mov rdx, r15
mov rcx, rsi
add r15, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, r15
mov rcx, rsi
add r15, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, r15
mov rcx, rsi
add r15, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, r15
mov rcx, rsi
add r15, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, r15
mov rcx, rsi
add r15, 0x150
call fcn.005c1a80
add rsi, 0x150
mov rdx, r15
mov rcx, rsi
add rsi, 0x150
call fcn.005c1a80
add r15, 0x150
cmp rdi, rsi
je 0x696a6a
mov rdx, r15
mov rcx, rsi
call fcn.005c1a80
lea rcx, [rsi + 0x150]
lea rdx, [r15 + 0x150]
call fcn.005c1a80
lea rcx, [rsi + 0x2a0]
lea rdx, [r15 + 0x2a0]
call fcn.005c1a80
lea rcx, [rsi + 0x3f0]
lea rdx, [r15 + 0x3f0]
call fcn.005c1a80
lea rcx, [rsi + 0x540]
lea rdx, [r15 + 0x540]
call fcn.005c1a80
lea rcx, [rsi + 0x690]
lea rdx, [r15 + 0x690]
call fcn.005c1a80
lea rcx, [rsi + 0x7e0]
lea rdx, [r15 + 0x7e0]
call fcn.005c1a80
lea rcx, [rsi + 0x930]
add rsi, 0xa80
lea rdx, [r15 + 0x930]
add r15, 0xa80
call fcn.005c1a80
cmp rdi, rsi
jne 0x6969c3
mov rcx, qword [rbp]
test rcx, rcx
je 0x696a78
call fcn.005ab730
mov qword [rbp], r13
mov r13, qword [rsp + 0x20]
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], r13
jmp 0x696446
mov r11, qword [rsp + 0x38]
lea r9, [r8 + r11]
cmp r12, r9
je 0x697450
lea r10, [r9 + 0x150]
mov r13, r9
movabs r11, 0xf3cf3cf3cf3cf3d
movabs r8, 0xfffffffffffffff
sub r12, r10
shr r12, 4
imul r12, r11
and r12, r8
add r12, 1
lea rcx, [r12 + r12*4]
lea rdx, [r12 + rcx*4]
mov r12, rax
shl rdx, 4
lea r10, [rax + rdx]
sub rdx, 0x150
shr rdx, 4
mov qword [rsp + 0x20], r10
imul rdx, r11
and rdx, r8
add rdx, 1
and edx, 7
je 0x696c16
cmp rdx, 1
je 0x696be8
cmp rdx, 2
je 0x696bc5
cmp rdx, 3
je 0x696ba2
cmp rdx, 4
je 0x696b7f
cmp rdx, 5
je 0x696b5c
cmp rdx, 6
jne 0x6973b0
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
add r13, 0x150
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
add r13, 0x150
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
add r13, 0x150
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
add r13, 0x150
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
add r13, 0x150
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x30], rax
add r12, 0x150
call fcn.005c1a80
add r13, 0x150
cmp r12, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
je 0x696cdc
mov qword [rsp + 0xb0], rbx
mov rbx, rax
mov rdx, r13
mov rcx, r12
call fcn.005c1a80
lea rcx, [r12 + 0x150]
lea rdx, [r13 + 0x150]
call fcn.005c1a80
lea rcx, [r12 + 0x2a0]
lea rdx, [r13 + 0x2a0]
call fcn.005c1a80
lea rcx, [r12 + 0x3f0]
lea rdx, [r13 + 0x3f0]
call fcn.005c1a80
lea rcx, [r12 + 0x540]
lea rdx, [r13 + 0x540]
call fcn.005c1a80
lea rcx, [r12 + 0x690]
lea rdx, [r13 + 0x690]
call fcn.005c1a80
lea rcx, [r12 + 0x7e0]
lea rdx, [r13 + 0x7e0]
call fcn.005c1a80
lea rcx, [r12 + 0x930]
add r12, 0xa80
lea rdx, [r13 + 0x930]
add r13, 0xa80
call fcn.005c1a80
cmp r12, qword [rsp + 0x20]
jne 0x696c21
mov rax, rbx
mov rbx, qword [rsp + 0xb0]
mov r8, qword [rbp + 8]
sub r14, qword [rsp + 0x40]
lea r9, [r14 + r14*4]
lea r14, [r14 + r9*4]
shl r14, 4
add r14, r8
cmp rax, r15
mov qword [rbp + 8], r14
je 0x696ee3
lea r11, [r15 + 0x150]
mov r12, r15
movabs r8, 0xf3cf3cf3cf3cf3d
movabs rcx, 0xfffffffffffffff
sub rax, r11
mov rdx, rax
shr rdx, 4
imul rdx, r8
and rdx, rcx
add rdx, 1
lea r10, [rdx + rdx*4]
lea rax, [rdx + r10*4]
shl rax, 4
lea r13, [r14 + rax]
sub rax, 0x150
shr rax, 4
imul rax, r8
and rax, rcx
add rax, 1
and eax, 7
je 0x696e31
cmp rax, 1
je 0x696e0f
cmp rax, 2
je 0x696df6
cmp rax, 3
je 0x696ddd
cmp rax, 4
je 0x696dc4
cmp rax, 5
je 0x696dab
cmp rax, 6
jne 0x697353
mov rdx, r12
mov rcx, r14
add r12, 0x150
call fcn.005c1a80
add r14, 0x150
mov rdx, r12
mov rcx, r14
add r12, 0x150
call fcn.005c1a80
add r14, 0x150
mov rdx, r12
mov rcx, r14
add r12, 0x150
call fcn.005c1a80
add r14, 0x150
mov rdx, r12
mov rcx, r14
add r12, 0x150
call fcn.005c1a80
add r14, 0x150
mov rdx, r12
mov rcx, r14
add r12, 0x150
call fcn.005c1a80
add r14, 0x150
mov rdx, r12
mov rcx, r14
add r14, 0x150
call fcn.005c1a80
add r12, 0x150
cmp r14, r13
je 0x696edf
mov rdx, r12
mov rcx, r14
call fcn.005c1a80
lea rcx, [r14 + 0x150]
lea rdx, [r12 + 0x150]
call fcn.005c1a80
lea rcx, [r14 + 0x2a0]
lea rdx, [r12 + 0x2a0]
call fcn.005c1a80
lea rcx, [r14 + 0x3f0]
lea rdx, [r12 + 0x3f0]
call fcn.005c1a80
lea rcx, [r14 + 0x540]
lea rdx, [r12 + 0x540]
call fcn.005c1a80
lea rcx, [r14 + 0x690]
lea rdx, [r12 + 0x690]
call fcn.005c1a80
lea rcx, [r14 + 0x7e0]
lea rdx, [r12 + 0x7e0]
call fcn.005c1a80
lea rcx, [r14 + 0x930]
add r14, 0xa80
lea rdx, [r12 + 0x930]
add r12, 0xa80
call fcn.005c1a80
cmp r14, r13
jne 0x696e31
mov r14, qword [rbp + 8]
mov r9, qword [rsp + 0x38]
add r14, r9
test r9, r9
mov qword [rbp + 8], r14
jle 0x696446
mov r11, qword [rsp + 0x40]
lea rbp, [r11 - 1]
and r11d, 7
je 0x696ffb
cmp r11, 1
je 0x696fd6
cmp r11, 2
je 0x696fb7
cmp r11, 3
je 0x696f98
cmp r11, 4
je 0x696f79
cmp r11, 5
je 0x696f5a
cmp r11, 6
jne 0x697330
mov rdx, rsi
mov rcx, rdi
add rsi, 0x150
call fcn.005c22c0
add rdi, 0x150
sub qword [rsp + 0x28], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x28], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x28], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x28], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x28], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
add rsi, 0x150
add rdi, 0x150
sub qword [rsp + 0x28], 1
je 0x696446
mov r15, qword [rsp + 0x28]
mov rdx, rsi
mov rcx, rdi
call fcn.005c22c0
lea rdx, [rsi + 0x150]
lea rcx, [rdi + 0x150]
call fcn.005c22c0
lea rdx, [rsi + 0x2a0]
lea rcx, [rdi + 0x2a0]
call fcn.005c22c0
lea rdx, [rsi + 0x3f0]
lea rcx, [rdi + 0x3f0]
call fcn.005c22c0
lea rdx, [rsi + 0x540]
lea rcx, [rdi + 0x540]
call fcn.005c22c0
lea rdx, [rsi + 0x690]
lea rcx, [rdi + 0x690]
call fcn.005c22c0
lea rdx, [rsi + 0x7e0]
lea rcx, [rdi + 0x7e0]
call fcn.005c22c0
lea rdx, [rsi + 0x930]
add rsi, 0xa80
lea rcx, [rdi + 0x930]
add rdi, 0xa80
call fcn.005c22c0
sub r15, 8
jne 0x697000
jmp 0x696446
mov r14, 0xfffffffffffffff0
jmp 0x6964b9
mov byte [rax + 0x3c], 0
jmp 0x6955bf
mov byte [rax + 0x34], 0
jmp 0x6955a2
mov byte [rax + 0x4c], 0
jmp 0x6955fc
mov byte [rax + 0x44], 0
jmp 0x6955dc
mov byte [rax + 0x5c], 0
jmp 0x69563c
mov byte [rax + 0x54], 0
jmp 0x69561c
mov byte [rax + 0x6c], 0
jmp 0x69567c
mov byte [rax + 0x64], 0
jmp 0x69565c
mov byte [rax + 0xfc], 0
jmp 0x69597c
mov byte [rax + 0xf4], 0
jmp 0x695950
mov byte [rax + 0x10c], 0
jmp 0x6959d4
mov byte [rax + 0x104], 0
jmp 0x6959a8
mov byte [rax + 0x11c], 0
jmp 0x695a2c
mov byte [rax + 0x114], 0
jmp 0x695a00
mov byte [rax + 0x12c], 0
jmp 0x695a84
mov byte [rax + 0x124], 0
jmp 0x695a58
mov byte [rax + 0x13c], 0
jmp 0x695adc
mov byte [rax + 0x134], 0
jmp 0x695ab0
mov byte [rax + 0x144], 0
jmp 0x695b08
mov byte [rax + 0x7c], 0
jmp 0x6956bc
mov byte [rax + 0x74], 0
jmp 0x69569c
mov byte [rax + 0x8c], 0
jmp 0x695714
mov byte [rax + 0x84], 0
jmp 0x6956e8
mov byte [rax + 0x9c], 0
jmp 0x69576c
mov byte [rax + 0x94], 0
jmp 0x695740
mov byte [rax + 0xac], 0
jmp 0x6957c4
mov byte [rax + 0xa4], 0
jmp 0x695798
mov byte [rax + 0xbc], 0
jmp 0x69581c
mov byte [rax + 0xb4], 0
jmp 0x6957f0
mov byte [rax + 0xcc], 0
jmp 0x695874
mov byte [rax + 0xc4], 0
jmp 0x695848
mov byte [rax + 0xdc], 0
jmp 0x6958cc
mov byte [rax + 0xd4], 0
jmp 0x6958a0
mov byte [rax + 0xec], 0
jmp 0x695924
mov byte [rax + 0xe4], 0
jmp 0x6958f8
movss xmm1, dword [r8 + 0x148]
movss dword [rax + 0x148], xmm1
jmp 0x695b2a
mov rdx, rbx
mov rcx, rsi
mov rbx, r14
call fcn.005c1a80
add rsi, 0x150
jmp 0x696741
lea rsi, [rbx + 0x150]
mov rdx, rbx
mov rcx, r15
call fcn.005c22c0
lea rdi, [r15 + 0x150]
mov qword [rsp + 0x28], rbp
jmp 0x696f3b
mov rcx, r14
mov rdx, r15
mov qword [rsp + 0x20], r11
add r14, 0x150
call fcn.005c1a80
mov r12, qword [rsp + 0x20]
jmp 0x696d92
mov rdx, r8
mov rcx, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
call fcn.005c1a80
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea r12, [rax + 0x150]
lea r13, [r8 + 0x150]
jmp 0x69536f
mov rcx, rax
mov rdx, r9
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r9
call fcn.005c1a80
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
lea r12, [rax + 0x150]
lea r13, [r13 + 0x150]
jmp 0x696b39
lea rsi, [rbx + 0x150]
mov rdx, rbx
mov rcx, r15
call fcn.005c22c0
lea rdi, [r15 + 0x150]
mov qword [rsp + 0x20], r12
jmp 0x6962d9
mov rdx, r15
mov rcx, rsi
mov r15, r14
call fcn.005c1a80
add rsi, 0x150
jmp 0x696924
mov rdx, rdi
mov rcx, r13
mov qword [rsp + 0x28], r9
call fcn.005c1a80
lea rsi, [r13 + 0x150]
mov rdi, qword [rsp + 0x28]
jmp 0x69656e
mov rdx, rax
jmp 0x69555c
mov r8, rax
jmp 0x696ce0
mov rsi, r13
jmp 0x6966b4
mov qword [rsp + 0x20], 0
xor r13d, r13d
jmp 0x6964d1
lea rcx, [0x006e19be]
call fcn.005ab780
nop
nop
nop