Function at 0x49bd00
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, 0x668
movaps xmmword [rsp + 0x620], xmm6
movaps xmmword [rsp + 0x630], xmm7
movaps xmmword [rsp + 0x640], xmm8
movaps xmmword [rsp + 0x650], xmm9
mov r9, qword [rdx + 8]
mov r10, qword [rdx]
mov qword [rsp + 0x6b0], rcx
mov rcx, r9
sub rcx, r10
mov qword [rsp + 0x6b8], rdx
movabs rdx, 0xaaaaaaaaaaaaaaab
sar rcx, 3
mov qword [rsp + 0x6c0], r8
imul rcx, rdx
cmp rcx, 1
mov qword [rsp + 0x28], rcx
je 0x49e6fa
test rcx, rcx
je 0x49e8f7
movss xmm6, dword [0x006e1b38]
mov dword [rsp + 0x34], 0
mov qword [rsp + 0x28], 0
nop dword [rax]
movabs rdi, 0xcf3cf3cf3cf3cf3d
mov rbx, qword [rsp + 0x28]
lea rsi, [rbx + rbx*2]
lea rbp, [r10 + rsi*8]
mov r12, qword [rbp + 8]
sub r12, qword [rbp]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov rax, r12
sar rax, 4
imul rax, rdi
test rax, rax
je 0x49be14
movabs r8, 0xc30c30c30c30c3
cmp rax, r8
ja 0x49e8ff
mov rcx, r12
call fcn.005ab718
mov r9, qword [rsp + 0x6b8]
mov r10, qword [r9]
mov r9, qword [r9 + 8]
add r12, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r12
mov r11, qword [rbp + 8]
mov qword [rsp + 0x40], rax
mov r13, qword [rbp]
cmp r11, r13
je 0x49c680
lea r14, [r13 + 0x150]
movabs r15, 0xf3cf3cf3cf3cf3d
movabs rcx, 0xfffffffffffffff
sub r11, r14
shr r11, 4
imul r11, r15
and r11, rcx
add r11, 1
lea rdx, [r11 + r11*4]
lea rbx, [r11 + rdx*4]
shl rbx, 4
add rbx, rax
jmp 0x49c354
mov ecx, dword [r13 + 0x30]
mov byte [rax + 0x34], 1
cmp byte [r13 + 0x3c], 0
mov dword [rax + 0x30], ecx
je 0x49c3c3
mov edx, dword [r13 + 0x38]
mov byte [rax + 0x3c], 1
cmp byte [r13 + 0x44], 0
mov dword [rax + 0x38], edx
je 0x49c3d2
mov esi, dword [r13 + 0x40]
mov byte [rax + 0x44], 1
cmp byte [r13 + 0x4c], 0
mov dword [rax + 0x40], esi
je 0x49c3e1
movss xmm2, dword [r13 + 0x48]
mov byte [rax + 0x4c], 1
cmp byte [r13 + 0x54], 0
movss dword [rax + 0x48], xmm2
je 0x49c3f0
movss xmm3, dword [r13 + 0x50]
mov byte [rax + 0x54], 1
cmp byte [r13 + 0x5c], 0
movss dword [rax + 0x50], xmm3
je 0x49c3ff
movss xmm4, dword [r13 + 0x58]
mov byte [rax + 0x5c], 1
cmp byte [r13 + 0x64], 0
movss dword [rax + 0x58], xmm4
je 0x49c40e
movss xmm5, dword [r13 + 0x60]
mov byte [rax + 0x64], 1
cmp byte [r13 + 0x6c], 0
movss dword [rax + 0x60], xmm5
je 0x49c41d
movss xmm7, dword [r13 + 0x68]
mov byte [rax + 0x6c], 1
cmp byte [r13 + 0x74], 0
movss dword [rax + 0x68], xmm7
je 0x49c42c
movss xmm8, dword [r13 + 0x70]
mov byte [rax + 0x74], 1
cmp byte [r13 + 0x7c], 0
movss dword [rax + 0x70], xmm8
je 0x49c43b
movss xmm9, dword [r13 + 0x78]
mov byte [rax + 0x7c], 1
cmp byte [r13 + 0x84], 0
movss dword [rax + 0x78], xmm9
je 0x49c44d
movss xmm0, dword [r13 + 0x80]
mov byte [rax + 0x84], 1
cmp byte [r13 + 0x8c], 0
movss dword [rax + 0x80], xmm0
je 0x49c462
movss xmm1, dword [r13 + 0x88]
mov byte [rax + 0x8c], 1
cmp byte [r13 + 0x94], 0
movss dword [rax + 0x88], xmm1
je 0x49c477
movss xmm2, dword [r13 + 0x90]
mov byte [rax + 0x94], 1
cmp byte [r13 + 0x9c], 0
movss dword [rax + 0x90], xmm2
je 0x49c48c
movss xmm3, dword [r13 + 0x98]
mov byte [rax + 0x9c], 1
cmp byte [r13 + 0xa4], 0
movss dword [rax + 0x98], xmm3
je 0x49c4a1
movss xmm4, dword [r13 + 0xa0]
mov byte [rax + 0xa4], 1
cmp byte [r13 + 0xac], 0
movss dword [rax + 0xa0], xmm4
je 0x49c4b6
movss xmm5, dword [r13 + 0xa8]
mov byte [rax + 0xac], 1
cmp byte [r13 + 0xb4], 0
movss dword [rax + 0xa8], xmm5
je 0x49c4cb
movss xmm7, dword [r13 + 0xb0]
mov byte [rax + 0xb4], 1
cmp byte [r13 + 0xbc], 0
movss dword [rax + 0xb0], xmm7
je 0x49c4e0
movss xmm8, dword [r13 + 0xb8]
mov byte [rax + 0xbc], 1
cmp byte [r13 + 0xc4], 0
movss dword [rax + 0xb8], xmm8
je 0x49c4f5
movss xmm9, dword [r13 + 0xc0]
mov byte [rax + 0xc4], 1
cmp byte [r13 + 0xcc], 0
movss dword [rax + 0xc0], xmm9
je 0x49c50a
movss xmm0, dword [r13 + 0xc8]
mov byte [rax + 0xcc], 1
cmp byte [r13 + 0xd4], 0
movss dword [rax + 0xc8], xmm0
je 0x49c51f
movss xmm1, dword [r13 + 0xd0]
mov byte [rax + 0xd4], 1
cmp byte [r13 + 0xdc], 0
movss dword [rax + 0xd0], xmm1
je 0x49c534
movss xmm2, dword [r13 + 0xd8]
mov byte [rax + 0xdc], 1
cmp byte [r13 + 0xe4], 0
movss dword [rax + 0xd8], xmm2
je 0x49c549
movss xmm3, dword [r13 + 0xe0]
mov byte [rax + 0xe4], 1
cmp byte [r13 + 0xec], 0
movss dword [rax + 0xe0], xmm3
je 0x49c55e
movss xmm4, dword [r13 + 0xe8]
mov byte [rax + 0xec], 1
cmp byte [r13 + 0xf4], 0
movss dword [rax + 0xe8], xmm4
je 0x49c573
movss xmm5, dword [r13 + 0xf0]
mov byte [rax + 0xf4], 1
cmp byte [r13 + 0xfc], 0
movss dword [rax + 0xf0], xmm5
je 0x49c588
movss xmm7, dword [r13 + 0xf8]
mov byte [rax + 0xfc], 1
cmp byte [r13 + 0x104], 0
movss dword [rax + 0xf8], xmm7
je 0x49c59d
movss xmm8, dword [r13 + 0x100]
mov byte [rax + 0x104], 1
cmp byte [r13 + 0x10c], 0
movss dword [rax + 0x100], xmm8
je 0x49c5b2
movss xmm9, dword [r13 + 0x108]
mov byte [rax + 0x10c], 1
cmp byte [r13 + 0x114], 0
movss dword [rax + 0x108], xmm9
je 0x49c5c7
movss xmm0, dword [r13 + 0x110]
mov byte [rax + 0x114], 1
cmp byte [r13 + 0x11c], 0
movss dword [rax + 0x110], xmm0
je 0x49c5dc
movss xmm1, dword [r13 + 0x118]
mov byte [rax + 0x11c], 1
cmp byte [r13 + 0x124], 0
movss dword [rax + 0x118], xmm1
je 0x49c5f1
movss xmm2, dword [r13 + 0x120]
mov byte [rax + 0x124], 1
cmp byte [r13 + 0x12c], 0
movss dword [rax + 0x120], xmm2
je 0x49c606
movss xmm3, dword [r13 + 0x128]
mov byte [rax + 0x12c], 1
cmp byte [r13 + 0x134], 0
movss dword [rax + 0x128], xmm3
je 0x49c61b
movss xmm4, dword [r13 + 0x130]
mov byte [rax + 0x134], 1
cmp byte [r13 + 0x13c], 0
movss dword [rax + 0x130], xmm4
je 0x49c630
movss xmm5, dword [r13 + 0x138]
mov byte [rax + 0x13c], 1
cmp byte [r13 + 0x144], 0
movss dword [rax + 0x138], xmm5
je 0x49c645
movss xmm7, dword [r13 + 0x140]
mov byte [rax + 0x144], 1
cmp byte [r13 + 0x14c], 0
movss dword [rax + 0x140], xmm7
jne 0x49c65a
mov byte [rax + 0x14c], 0
add rax, 0x150
add r13, 0x150
cmp rax, rbx
je 0x49c680
mov rsi, qword [r13]
mov r8d, dword [r13 + 0x18]
movzx r14d, byte [r13 + 0x20]
mov qword [rax], rsi
mov ebp, dword [r13 + 8]
mov dword [rax + 8], ebp
mov r12, qword [r13 + 0xc]
mov qword [rax + 0xc], r12
mov edi, dword [r13 + 0x14]
mov dword [rax + 0x18], r8d
mov r11d, dword [r13 + 0x1c]
mov byte [rax + 0x20], r14b
movzx r15d, byte [r13 + 0x28]
mov dword [rax + 0x14], edi
movss xmm0, dword [r13 + 0x24]
mov dword [rax + 0x1c], r11d
mov byte [rax + 0x28], r15b
cmp byte [r13 + 0x34], 0
movss dword [rax + 0x24], xmm0
movss xmm1, dword [r13 + 0x2c]
movss dword [rax + 0x2c], xmm1
jne 0x49be80
mov byte [rax + 0x34], 0
cmp byte [r13 + 0x3c], 0
jne 0x49be96
mov byte [rax + 0x3c], 0
cmp byte [r13 + 0x44], 0
jne 0x49beac
mov byte [rax + 0x44], 0
cmp byte [r13 + 0x4c], 0
jne 0x49bec2
mov byte [rax + 0x4c], 0
cmp byte [r13 + 0x54], 0
jne 0x49bedc
mov byte [rax + 0x54], 0
cmp byte [r13 + 0x5c], 0
jne 0x49bef6
mov byte [rax + 0x5c], 0
cmp byte [r13 + 0x64], 0
jne 0x49bf10
mov byte [rax + 0x64], 0
cmp byte [r13 + 0x6c], 0
jne 0x49bf2a
mov byte [rax + 0x6c], 0
cmp byte [r13 + 0x74], 0
jne 0x49bf44
mov byte [rax + 0x74], 0
cmp byte [r13 + 0x7c], 0
jne 0x49bf5f
mov byte [rax + 0x7c], 0
cmp byte [r13 + 0x84], 0
jne 0x49bf7d
mov byte [rax + 0x84], 0
cmp byte [r13 + 0x8c], 0
jne 0x49bfa3
mov byte [rax + 0x8c], 0
cmp byte [r13 + 0x94], 0
jne 0x49bfc9
mov byte [rax + 0x94], 0
cmp byte [r13 + 0x9c], 0
jne 0x49bfef
mov byte [rax + 0x9c], 0
cmp byte [r13 + 0xa4], 0
jne 0x49c015
mov byte [rax + 0xa4], 0
cmp byte [r13 + 0xac], 0
jne 0x49c03b
mov byte [rax + 0xac], 0
cmp byte [r13 + 0xb4], 0
jne 0x49c061
mov byte [rax + 0xb4], 0
cmp byte [r13 + 0xbc], 0
jne 0x49c087
mov byte [rax + 0xbc], 0
cmp byte [r13 + 0xc4], 0
jne 0x49c0ae
mov byte [rax + 0xc4], 0
cmp byte [r13 + 0xcc], 0
jne 0x49c0d5
mov byte [rax + 0xcc], 0
cmp byte [r13 + 0xd4], 0
jne 0x49c0fb
mov byte [rax + 0xd4], 0
cmp byte [r13 + 0xdc], 0
jne 0x49c121
mov byte [rax + 0xdc], 0
cmp byte [r13 + 0xe4], 0
jne 0x49c147
mov byte [rax + 0xe4], 0
cmp byte [r13 + 0xec], 0
jne 0x49c16d
mov byte [rax + 0xec], 0
cmp byte [r13 + 0xf4], 0
jne 0x49c193
mov byte [rax + 0xf4], 0
cmp byte [r13 + 0xfc], 0
jne 0x49c1b9
mov byte [rax + 0xfc], 0
cmp byte [r13 + 0x104], 0
jne 0x49c1df
mov byte [rax + 0x104], 0
cmp byte [r13 + 0x10c], 0
jne 0x49c206
mov byte [rax + 0x10c], 0
cmp byte [r13 + 0x114], 0
jne 0x49c22d
mov byte [rax + 0x114], 0
cmp byte [r13 + 0x11c], 0
jne 0x49c253
mov byte [rax + 0x11c], 0
cmp byte [r13 + 0x124], 0
jne 0x49c279
mov byte [rax + 0x124], 0
cmp byte [r13 + 0x12c], 0
jne 0x49c29f
mov byte [rax + 0x12c], 0
cmp byte [r13 + 0x134], 0
jne 0x49c2c5
mov byte [rax + 0x134], 0
cmp byte [r13 + 0x13c], 0
jne 0x49c2eb
mov byte [rax + 0x13c], 0
cmp byte [r13 + 0x144], 0
jne 0x49c311
mov byte [rax + 0x144], 0
cmp byte [r13 + 0x14c], 0
je 0x49c337
movss xmm8, dword [r13 + 0x148]
mov byte [rax + 0x14c], 1
movss dword [rax + 0x148], xmm8
jmp 0x49c33e
add dword [rsp + 0x34], 1
sub r9, r10
mov qword [rsp + 0x48], rax
movabs r8, 0xaaaaaaaaaaaaaaab
sar r9, 3
mov eax, dword [rsp + 0x34]
imul r8, r9
mov qword [rsp + 0x28], rax
cmp rax, r8
jae 0x49e82c
mov r9, qword [rsp + 0x28]
lea r13, [r9 + r9*2]
lea rbp, [r10 + r13*8]
movabs r10, 0xcf3cf3cf3cf3cf3d
mov rbx, qword [rbp + 8]
sub rbx, qword [rbp]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov rax, rbx
sar rax, 4
imul rax, r10
test rax, rax
je 0x49c716
movabs r12, 0xc30c30c30c30c3
cmp rax, r12
ja 0x49e8d1
mov rcx, rbx
call fcn.005ab718
add rbx, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov rdi, qword [rbp + 8]
mov qword [rsp + 0x60], rax
mov r11, qword [rbp]
cmp rdi, r11
je 0x49cf80
lea r8, [r11 + 0x150]
movabs r14, 0xf3cf3cf3cf3cf3d
movabs r15, 0xfffffffffffffff
sub rdi, r8
shr rdi, 4
imul rdi, r14
and rdi, r15
add rdi, 1
lea rcx, [rdi + rdi*4]
lea rdx, [rdi + rcx*4]
shl rdx, 4
add rdx, rax
jmp 0x49cc57
mov r8d, dword [r11 + 0x30]
mov byte [rax + 0x34], 1
cmp byte [r11 + 0x3c], 0
mov dword [rax + 0x30], r8d
je 0x49ccc6
mov r14d, dword [r11 + 0x38]
mov byte [rax + 0x3c], 1
cmp byte [r11 + 0x44], 0
mov dword [rax + 0x38], r14d
je 0x49ccd5
mov r15d, dword [r11 + 0x40]
mov byte [rax + 0x44], 1
cmp byte [r11 + 0x4c], 0
mov dword [rax + 0x40], r15d
je 0x49cce4
movss xmm1, dword [r11 + 0x48]
mov byte [rax + 0x4c], 1
cmp byte [r11 + 0x54], 0
movss dword [rax + 0x48], xmm1
je 0x49ccf3
movss xmm2, dword [r11 + 0x50]
mov byte [rax + 0x54], 1
cmp byte [r11 + 0x5c], 0
movss dword [rax + 0x50], xmm2
je 0x49cd02
movss xmm3, dword [r11 + 0x58]
mov byte [rax + 0x5c], 1
cmp byte [r11 + 0x64], 0
movss dword [rax + 0x58], xmm3
je 0x49cd11
movss xmm4, dword [r11 + 0x60]
mov byte [rax + 0x64], 1
cmp byte [r11 + 0x6c], 0
movss dword [rax + 0x60], xmm4
je 0x49cd20
movss xmm5, dword [r11 + 0x68]
mov byte [rax + 0x6c], 1
cmp byte [r11 + 0x74], 0
movss dword [rax + 0x68], xmm5
je 0x49cd2f
movss xmm7, dword [r11 + 0x70]
mov byte [rax + 0x74], 1
cmp byte [r11 + 0x7c], 0
movss dword [rax + 0x70], xmm7
je 0x49cd3e
movss xmm8, dword [r11 + 0x78]
mov byte [rax + 0x7c], 1
cmp byte [r11 + 0x84], 0
movss dword [rax + 0x78], xmm8
je 0x49cd50
movss xmm9, dword [r11 + 0x80]
mov byte [rax + 0x84], 1
cmp byte [r11 + 0x8c], 0
movss dword [rax + 0x80], xmm9
je 0x49cd65
movss xmm0, dword [r11 + 0x88]
mov byte [rax + 0x8c], 1
cmp byte [r11 + 0x94], 0
movss dword [rax + 0x88], xmm0
je 0x49cd7a
movss xmm1, dword [r11 + 0x90]
mov byte [rax + 0x94], 1
cmp byte [r11 + 0x9c], 0
movss dword [rax + 0x90], xmm1
je 0x49cd8f
movss xmm2, dword [r11 + 0x98]
mov byte [rax + 0x9c], 1
cmp byte [r11 + 0xa4], 0
movss dword [rax + 0x98], xmm2
je 0x49cda4
movss xmm3, dword [r11 + 0xa0]
mov byte [rax + 0xa4], 1
cmp byte [r11 + 0xac], 0
movss dword [rax + 0xa0], xmm3
je 0x49cdb9
movss xmm4, dword [r11 + 0xa8]
mov byte [rax + 0xac], 1
cmp byte [r11 + 0xb4], 0
movss dword [rax + 0xa8], xmm4
je 0x49cdce
movss xmm5, dword [r11 + 0xb0]
mov byte [rax + 0xb4], 1
cmp byte [r11 + 0xbc], 0
movss dword [rax + 0xb0], xmm5
je 0x49cde3
movss xmm7, dword [r11 + 0xb8]
mov byte [rax + 0xbc], 1
cmp byte [r11 + 0xc4], 0
movss dword [rax + 0xb8], xmm7
je 0x49cdf8
movss xmm8, dword [r11 + 0xc0]
mov byte [rax + 0xc4], 1
cmp byte [r11 + 0xcc], 0
movss dword [rax + 0xc0], xmm8
je 0x49ce0d
movss xmm9, dword [r11 + 0xc8]
mov byte [rax + 0xcc], 1
cmp byte [r11 + 0xd4], 0
movss dword [rax + 0xc8], xmm9
je 0x49ce22
movss xmm0, dword [r11 + 0xd0]
mov byte [rax + 0xd4], 1
cmp byte [r11 + 0xdc], 0
movss dword [rax + 0xd0], xmm0
je 0x49ce37
movss xmm1, dword [r11 + 0xd8]
mov byte [rax + 0xdc], 1
cmp byte [r11 + 0xe4], 0
movss dword [rax + 0xd8], xmm1
je 0x49ce4c
movss xmm2, dword [r11 + 0xe0]
mov byte [rax + 0xe4], 1
cmp byte [r11 + 0xec], 0
movss dword [rax + 0xe0], xmm2
je 0x49ce61
movss xmm3, dword [r11 + 0xe8]
mov byte [rax + 0xec], 1
cmp byte [r11 + 0xf4], 0
movss dword [rax + 0xe8], xmm3
je 0x49ce76
movss xmm4, dword [r11 + 0xf0]
mov byte [rax + 0xf4], 1
cmp byte [r11 + 0xfc], 0
movss dword [rax + 0xf0], xmm4
je 0x49ce8b
movss xmm5, dword [r11 + 0xf8]
mov byte [rax + 0xfc], 1
cmp byte [r11 + 0x104], 0
movss dword [rax + 0xf8], xmm5
je 0x49cea0
movss xmm7, dword [r11 + 0x100]
mov byte [rax + 0x104], 1
cmp byte [r11 + 0x10c], 0
movss dword [rax + 0x100], xmm7
je 0x49ceb5
movss xmm8, dword [r11 + 0x108]
mov byte [rax + 0x10c], 1
cmp byte [r11 + 0x114], 0
movss dword [rax + 0x108], xmm8
je 0x49ceca
movss xmm9, dword [r11 + 0x110]
mov byte [rax + 0x114], 1
cmp byte [r11 + 0x11c], 0
movss dword [rax + 0x110], xmm9
je 0x49cedf
movss xmm0, dword [r11 + 0x118]
mov byte [rax + 0x11c], 1
cmp byte [r11 + 0x124], 0
movss dword [rax + 0x118], xmm0
je 0x49cef4
movss xmm1, dword [r11 + 0x120]
mov byte [rax + 0x124], 1
cmp byte [r11 + 0x12c], 0
movss dword [rax + 0x120], xmm1
je 0x49cf09
movss xmm2, dword [r11 + 0x128]
mov byte [rax + 0x12c], 1
cmp byte [r11 + 0x134], 0
movss dword [rax + 0x128], xmm2
je 0x49cf1e
movss xmm3, dword [r11 + 0x130]
mov byte [rax + 0x134], 1
cmp byte [r11 + 0x13c], 0
movss dword [rax + 0x130], xmm3
je 0x49cf33
movss xmm4, dword [r11 + 0x138]
mov byte [rax + 0x13c], 1
cmp byte [r11 + 0x144], 0
movss dword [rax + 0x138], xmm4
je 0x49cf48
movss xmm5, dword [r11 + 0x140]
mov byte [rax + 0x144], 1
cmp byte [r11 + 0x14c], 0
movss dword [rax + 0x140], xmm5
jne 0x49cf5d
mov byte [rax + 0x14c], 0
add rax, 0x150
add r11, 0x150
cmp rax, rdx
je 0x49cf80
mov rsi, qword [r11]
mov ebx, dword [r11 + 0x18]
movzx r12d, byte [r11 + 0x20]
mov qword [rax], rsi
mov r9d, dword [r11 + 8]
mov dword [rax + 8], r9d
mov r13, qword [r11 + 0xc]
mov qword [rax + 0xc], r13
mov ebp, dword [r11 + 0x14]
mov dword [rax + 0x18], ebx
mov r10d, dword [r11 + 0x1c]
mov byte [rax + 0x20], r12b
movzx edi, byte [r11 + 0x28]
mov dword [rax + 0x14], ebp
movss xmm9, dword [r11 + 0x24]
mov dword [rax + 0x1c], r10d
mov byte [rax + 0x28], dil
cmp byte [r11 + 0x34], 0
movss dword [rax + 0x24], xmm9
movss xmm0, dword [r11 + 0x2c]
movss dword [rax + 0x2c], xmm0
jne 0x49c780
mov byte [rax + 0x34], 0
cmp byte [r11 + 0x3c], 0
jne 0x49c797
mov byte [rax + 0x3c], 0
cmp byte [r11 + 0x44], 0
jne 0x49c7ae
mov byte [rax + 0x44], 0
cmp byte [r11 + 0x4c], 0
jne 0x49c7c5
mov byte [rax + 0x4c], 0
cmp byte [r11 + 0x54], 0
jne 0x49c7df
mov byte [rax + 0x54], 0
cmp byte [r11 + 0x5c], 0
jne 0x49c7f9
mov byte [rax + 0x5c], 0
cmp byte [r11 + 0x64], 0
jne 0x49c813
mov byte [rax + 0x64], 0
cmp byte [r11 + 0x6c], 0
jne 0x49c82d
mov byte [rax + 0x6c], 0
cmp byte [r11 + 0x74], 0
jne 0x49c847
mov byte [rax + 0x74], 0
cmp byte [r11 + 0x7c], 0
jne 0x49c861
mov byte [rax + 0x7c], 0
cmp byte [r11 + 0x84], 0
jne 0x49c87f
mov byte [rax + 0x84], 0
cmp byte [r11 + 0x8c], 0
jne 0x49c8a6
mov byte [rax + 0x8c], 0
cmp byte [r11 + 0x94], 0
jne 0x49c8cc
mov byte [rax + 0x94], 0
cmp byte [r11 + 0x9c], 0
jne 0x49c8f2
mov byte [rax + 0x9c], 0
cmp byte [r11 + 0xa4], 0
jne 0x49c918
mov byte [rax + 0xa4], 0
cmp byte [r11 + 0xac], 0
jne 0x49c93e
mov byte [rax + 0xac], 0
cmp byte [r11 + 0xb4], 0
jne 0x49c964
mov byte [rax + 0xb4], 0
cmp byte [r11 + 0xbc], 0
jne 0x49c98a
mov byte [rax + 0xbc], 0
cmp byte [r11 + 0xc4], 0
jne 0x49c9b0
mov byte [rax + 0xc4], 0
cmp byte [r11 + 0xcc], 0
jne 0x49c9d7
mov byte [rax + 0xcc], 0
cmp byte [r11 + 0xd4], 0
jne 0x49c9fe
mov byte [rax + 0xd4], 0
cmp byte [r11 + 0xdc], 0
jne 0x49ca24
mov byte [rax + 0xdc], 0
cmp byte [r11 + 0xe4], 0
jne 0x49ca4a
mov byte [rax + 0xe4], 0
cmp byte [r11 + 0xec], 0
jne 0x49ca70
mov byte [rax + 0xec], 0
cmp byte [r11 + 0xf4], 0
jne 0x49ca96
mov byte [rax + 0xf4], 0
cmp byte [r11 + 0xfc], 0
jne 0x49cabc
mov byte [rax + 0xfc], 0
cmp byte [r11 + 0x104], 0
jne 0x49cae2
mov byte [rax + 0x104], 0
cmp byte [r11 + 0x10c], 0
jne 0x49cb08
mov byte [rax + 0x10c], 0
cmp byte [r11 + 0x114], 0
jne 0x49cb2f
mov byte [rax + 0x114], 0
cmp byte [r11 + 0x11c], 0
jne 0x49cb56
mov byte [rax + 0x11c], 0
cmp byte [r11 + 0x124], 0
jne 0x49cb7c
mov byte [rax + 0x124], 0
cmp byte [r11 + 0x12c], 0
jne 0x49cba2
mov byte [rax + 0x12c], 0
cmp byte [r11 + 0x134], 0
jne 0x49cbc8
mov byte [rax + 0x134], 0
cmp byte [r11 + 0x13c], 0
jne 0x49cbee
mov byte [rax + 0x13c], 0
cmp byte [r11 + 0x144], 0
jne 0x49cc14
mov byte [rax + 0x144], 0
cmp byte [r11 + 0x14c], 0
je 0x49cc3a
movss xmm7, dword [r11 + 0x148]
mov byte [rax + 0x14c], 1
movss dword [rax + 0x148], xmm7
jmp 0x49cc41
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x6b0]
cmp byte [rax + 0x48], 0
jne 0x49dfe4
mov rdx, qword [rsp + 0x6b0]
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
lea r8, [rsp + 0x40]
call fcn.0049b7d0
movabs rdx, 0xcf3cf3cf3cf3cf3d
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
sub r12, qword [rsp + 0x60]
sub r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
mov rdi, r12
mov rsi, r15
sar rdi, 4
imul rdi, rdx
sar rsi, 4
imul rsi, rdx
test rbx, rbx
je 0x49d549
mov rax, r15
mov r11, r12
mov r14, qword [rsp + 0x88]
not rax
not r11
shr rax, 0x3f
shr r11, 0x3f
and al, r11b
je 0x49d530
cmp r14, rsi
js 0x49d032
test al, al
jne 0x49e3e3
lea rdx, [0x006e1758]
mov r8d, 0x93
lea rcx, [0x006e17c0]
call fcn.005ac990
mov qword [rsp + 0x380], 0
test r15, r15
mov qword [rsp + 0x388], 0
setne r13b
test r12, r12
mov qword [rsp + 0x390], 0
setne r9b
and r13b, r9b
je 0x49dfd0
movabs rax, 0x7fffffffffffffff
cqo
idiv rdi
cmp rsi, rax
jg 0x49e83b
test r12, r12
js 0x49df90
test r15, r15
js 0x49df90
mov r10, qword [rsp + 0x390]
imul r10, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x380]
mov r15, rsi
imul r15, rdi
cmp r15, r10
je 0x49d0f4
mov rcx, rbp
call fcn.005b9c88
test r15, r15
jne 0x49e563
mov qword [rsp + 0x380], 0
xor ebp, ebp
mov rcx, rsi
mov qword [rsp + 0x388], rsi
and ecx, 1
test r12, r12
mov qword [rsp + 0x390], rdi
mov qword [rsp + 0x20], rcx
jle 0x49d480
mov rax, rsi
shl r14, 3
mov rdx, rbx
lea r15, [rsi*8]
and rax, 0xfffffffffffffffe
mov rcx, rbp
lea r13, [rbx + r14]
xor r9d, r9d
xor ebx, ebx
lea r12, [rbp + r15]
nop
cmp rax, r9
jle 0x49d2f7
lea r11, [rax - 1]
mov r8, r9
lea rbp, [r9 + 2]
sub r11, r9
and r11, 0xfffffffffffffffe
add r11, rbp
mov r10, r11
sub r10, r9
sub r10, 2
shr r10, 1
add r10, 1
and r10d, 7
je 0x49d247
cmp r10, 1
je 0x49d228
cmp r10, 2
je 0x49d212
cmp r10, 3
je 0x49d1fc
cmp r10, 4
je 0x49d1e6
cmp r10, 5
je 0x49d1d0
cmp r10, 6
je 0x49d1ba
movq xmm5, qword [rdx + r9*8]
mov r8, rbp
movhpd xmm5, qword [rdx + r9*8 + 8]
movaps xmmword [rcx + r9*8], xmm5
movq xmm7, qword [rdx + r8*8]
movhpd xmm7, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm7
add r8, 2
movq xmm8, qword [rdx + r8*8]
movhpd xmm8, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm8
add r8, 2
movq xmm9, qword [rdx + r8*8]
movhpd xmm9, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm9
add r8, 2
movq xmm0, qword [rdx + r8*8]
movhpd xmm0, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm0
add r8, 2
movq xmm1, qword [rdx + r8*8]
movhpd xmm1, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm1
add r8, 2
movq xmm2, qword [rdx + r8*8]
movhpd xmm2, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm2
add r8, 2
cmp r8, r11
je 0x49d2f7
movq xmm3, qword [rdx + r8*8]
lea rbp, [r8 + 2]
lea r10, [r8 + 4]
movhpd xmm3, qword [rdx + r8*8 + 8]
movaps xmmword [rcx + r8*8], xmm3
movq xmm4, qword [rdx + rbp*8]
movhpd xmm4, qword [rdx + rbp*8 + 8]
movaps xmmword [rcx + rbp*8], xmm4
movq xmm5, qword [rdx + r10*8]
lea rbp, [r8 + 6]
movhpd xmm5, qword [rdx + r10*8 + 8]
movaps xmmword [rcx + r10*8], xmm5
movq xmm7, qword [rdx + rbp*8]
lea r10, [r8 + 8]
movhpd xmm7, qword [rdx + rbp*8 + 8]
movaps xmmword [rcx + rbp*8], xmm7
movq xmm8, qword [rdx + r10*8]
lea rbp, [r8 + 0xa]
movhpd xmm8, qword [rdx + r10*8 + 8]
movaps xmmword [rcx + r10*8], xmm8
movq xmm9, qword [rdx + rbp*8]
lea r10, [r8 + 0xc]
movhpd xmm9, qword [rdx + rbp*8 + 8]
movaps xmmword [rcx + rbp*8], xmm9
movq xmm0, qword [rdx + r10*8]
lea rbp, [r8 + 0xe]
add r8, 0x10
cmp r8, r11
movhpd xmm0, qword [rdx + r10*8 + 8]
movaps xmmword [rcx + r10*8], xmm0
movq xmm1, qword [rdx + rbp*8]
movhpd xmm1, qword [rdx + rbp*8 + 8]
movaps xmmword [rcx + rbp*8], xmm1
jne 0x49d247
cmp rsi, rax
jle 0x49d428
mov r11, rsi
sub r11, rax
and r11d, 7
je 0x49d3a3
cmp r11, 1
je 0x49d38a
cmp r11, 2
je 0x49d37a
cmp r11, 3
je 0x49d36c
cmp r11, 4
je 0x49d35e
cmp r11, 5
je 0x49d350
cmp r11, 6
je 0x49d342
movsd xmm2, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm2
add rax, 1
movsd xmm3, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm3
add rax, 1
movsd xmm4, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm4
add rax, 1
movsd xmm5, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm5
add rax, 1
movsd xmm7, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm7
add rax, 1
movsd xmm8, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm8
add rax, 1
movsd xmm9, qword [rdx + rax*8]
movsd qword [rcx + rax*8], xmm9
add rax, 1
cmp rsi, rax
je 0x49d428
movsd xmm0, qword [rdx + rax*8]
lea r8, [rax + 1]
lea r10, [rax + 2]
movsd qword [rcx + rax*8], xmm0
movsd xmm1, qword [rdx + r8*8]
lea rbp, [rax + 3]
lea r11, [rax + 4]
movsd qword [rcx + r8*8], xmm1
movsd xmm2, qword [rdx + r10*8]
lea r8, [rax + 5]
movsd qword [rcx + r10*8], xmm2
movsd xmm3, qword [rdx + rbp*8]
lea r10, [rax + 6]
movsd qword [rcx + rbp*8], xmm3
movsd xmm4, qword [rdx + r11*8]
lea rbp, [rax + 7]
add rax, 8
cmp rsi, rax
movsd qword [rcx + r11*8], xmm4
movsd xmm5, qword [rdx + r8*8]
movsd qword [rcx + r8*8], xmm5
movsd xmm7, qword [rdx + r10*8]
movsd qword [rcx + r10*8], xmm7
movsd xmm8, qword [rdx + rbp*8]
movsd qword [rcx + rbp*8], xmm8
jne 0x49d3a3
add r9, qword [rsp + 0x20]
mov rax, r9
shr rax, 0x3f
add r9, rax
and r9d, 1
sub r9, rax
cmp r9, rsi
cmovg r9, rsi
add rbx, 1
cmp rdi, rbx
je 0x49d480
mov rax, rsi
sub rax, r9
and rax, 0xfffffffffffffffe
add rax, r9
cmp r9, 1
jne 0x49d46d
movsd xmm9, qword [r13]
movsd qword [r12], xmm9
add r13, r14
add r12, r15
add rdx, r14
add rcx, r15
jmp 0x49d140
mov rcx, qword [rsp + 0x6b0]
lea r14, [rsp + 0x380]
mov rdx, r14
call fcn.004979d0
mov rcx, qword [rsp + 0x380]
mov edi, eax
call fcn.005b9c88
test dil, dil
je 0x49d570
mov rcx, qword [rsp + 0x80]
call fcn.005b9c88
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x49d4cc
call fcn.005ab730
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x49d4db
call fcn.005ab730
mov r14, qword [rsp + 0x6b8]
movabs r13, 0xaaaaaaaaaaaaaaab
mov r9, qword [r14 + 8]
mov r10, qword [r14]
mov r8, r9
sub r8, r10
sar r8, 3
imul r8, r13
lea r12, [r8 - 1]
cmp r12, qword [rsp + 0x28]
jbe 0x49e6fa
cmp qword [rsp + 0x28], r8
jb 0x49bda0
mov rdx, qword [rsp + 0x28]
lea rcx, [0x006e1530]
call fcn.005ab768
nop dword [rax]
lea rdx, [0x006e1590]
mov r8d, 0xb0
lea rcx, [0x006e1600]
call fcn.005ac990
test r15, r15
mov r14, qword [rsp + 0x88]
js 0x49d032
mov rax, r12
not rax
shr rax, 0x3f
jmp 0x49d025
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0xa0]
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0x6b0]
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
call fcn.00494ec0
mov r11, qword [rsp + 0x40]
cmp r11, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa0]
je 0x49df75
xor esi, esi
xor edx, edx
jmp 0x49d5f9
mov r8, qword [rsp + 0x48]
lea edx, [rsi + 1]
movabs r10, 0xcf3cf3cf3cf3cf3d
mov rsi, rdx
sub r8, r11
sar r8, 4
imul r8, r10
cmp rdx, r8
jae 0x49df75
movabs r15, 0xcf3cf3cf3cf3cf3d
mov r12, qword [rsp + 0x68]
sub r12, qword [rsp + 0x60]
mov r13d, dword [rcx + rdx*4]
sar r12, 4
imul r12, r15
cmp r13, r12
jae 0x49d5d0
lea rcx, [rdx + rdx*4]
lea rdx, [rdx + rcx*4]
lea rbx, [rsp + 0xe0]
shl rdx, 4
lea rdi, [rsp + 0x230]
add rdx, r11
mov rcx, rbx
call fcn.005c1a80
lea rdx, [r13 + r13*4]
mov rcx, rdi
lea rdx, [r13 + rdx*4]
shl rdx, 4
add rdx, qword [rsp + 0x60]
call fcn.005c1a80
mov r9, qword [rsp + 0x6c0]
mov rbp, qword [r9]
mov r11, qword [r9 + 8]
cmp r11, rbp
je 0x49d779
mov rax, r11
mov r10d, dword [rsp + 0x118]
movabs r13, 0xaaaaaaaaaaaaaab
movzx r8d, byte [rsp + 0x11c]
sub rax, rbp
movss xmm3, dword [rsp + 0xe8]
sub rax, 0x18
movss xmm4, dword [rsp + 0xe4]
shr rax, 3
movss xmm5, dword [rsp + 0xe0]
imul rax, r13
add rax, 1
and eax, 3
je 0x49d719
cmp rax, 1
je 0x49d6ff
cmp rax, 2
je 0x49d6ea
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e760
add rbp, 0x18
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e655
add rbp, 0x18
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e5b0
add rbp, 0x18
cmp r11, rbp
je 0x49d779
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e280
lea r12, [rbp + 0x18]
mov rcx, qword [r12 + 8]
mov rbp, r12
cmp r8b, byte [rcx - 0x114]
je 0x49e340
lea rbp, [r12 + 0x18]
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e400
lea rbp, [r12 + 0x30]
mov rcx, qword [rbp + 8]
cmp r8b, byte [rcx - 0x114]
je 0x49e4a3
lea rbp, [r12 + 0x48]
cmp r11, rbp
jne 0x49d719
mov rdx, rbx
mov rcx, r14
call fcn.005c1a80
lea rcx, [r14 + 0x150]
mov rdx, rdi
call fcn.005c1a80
mov ecx, 0x2a0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
call fcn.005ab718
lea r15, [rax + 0x2a0]
mov qword [rsp + 0xc0], rax
mov rbx, r14
mov qword [rsp + 0xd0], r15
jmp 0x49dc7a
mov r12d, dword [rbx + 0x30]
mov byte [rax + 0x34], 1
cmp byte [rbx + 0x3c], 0
mov dword [rax + 0x30], r12d
je 0x49dce4
mov ebp, dword [rbx + 0x38]
mov byte [rax + 0x3c], 1
cmp byte [rbx + 0x44], 0
mov dword [rax + 0x38], ebp
je 0x49dcf2
mov ecx, dword [rbx + 0x40]
mov byte [rax + 0x44], 1
cmp byte [rbx + 0x4c], 0
mov dword [rax + 0x40], ecx
je 0x49dd00
cmp byte [rbx + 0x54], 0
mov byte [rax + 0x4c], 1
movss xmm5, dword [rbx + 0x48]
movss dword [rax + 0x48], xmm5
je 0x49dd0e
cmp byte [rbx + 0x5c], 0
mov byte [rax + 0x54], 1
movss xmm0, dword [rbx + 0x50]
movss dword [rax + 0x50], xmm0
je 0x49dd1c
cmp byte [rbx + 0x64], 0
mov byte [rax + 0x5c], 1
movss xmm9, dword [rbx + 0x58]
movss dword [rax + 0x58], xmm9
je 0x49dd2a
cmp byte [rbx + 0x6c], 0
mov byte [rax + 0x64], 1
movss xmm8, dword [rbx + 0x60]
movss dword [rax + 0x60], xmm8
je 0x49dd38
cmp byte [rbx + 0x74], 0
mov byte [rax + 0x6c], 1
movss xmm7, dword [rbx + 0x68]
movss dword [rax + 0x68], xmm7
je 0x49dd46
cmp byte [rbx + 0x7c], 0
mov byte [rax + 0x74], 1
movss xmm2, dword [rbx + 0x70]
movss dword [rax + 0x70], xmm2
je 0x49dd54
cmp byte [rbx + 0x84], 0
mov byte [rax + 0x7c], 1
movss xmm1, dword [rbx + 0x78]
movss dword [rax + 0x78], xmm1
je 0x49dd65
cmp byte [rbx + 0x8c], 0
mov byte [rax + 0x84], 1
movss xmm3, dword [rbx + 0x80]
movss dword [rax + 0x80], xmm3
je 0x49dd79
cmp byte [rbx + 0x94], 0
mov byte [rax + 0x8c], 1
movss xmm4, dword [rbx + 0x88]
movss dword [rax + 0x88], xmm4
je 0x49dd8d
cmp byte [rbx + 0x9c], 0
mov byte [rax + 0x94], 1
movss xmm5, dword [rbx + 0x90]
movss dword [rax + 0x90], xmm5
je 0x49dda1
cmp byte [rbx + 0xa4], 0
mov byte [rax + 0x9c], 1
movss xmm0, dword [rbx + 0x98]
movss dword [rax + 0x98], xmm0
je 0x49ddb5
cmp byte [rbx + 0xac], 0
mov byte [rax + 0xa4], 1
movss xmm9, dword [rbx + 0xa0]
movss dword [rax + 0xa0], xmm9
je 0x49ddc9
cmp byte [rbx + 0xb4], 0
mov byte [rax + 0xac], 1
movss xmm8, dword [rbx + 0xa8]
movss dword [rax + 0xa8], xmm8
je 0x49dddd
cmp byte [rbx + 0xbc], 0
mov byte [rax + 0xb4], 1
movss xmm7, dword [rbx + 0xb0]
movss dword [rax + 0xb0], xmm7
je 0x49ddf1
cmp byte [rbx + 0xc4], 0
mov byte [rax + 0xbc], 1
movss xmm2, dword [rbx + 0xb8]
movss dword [rax + 0xb8], xmm2
je 0x49de05
cmp byte [rbx + 0xcc], 0
mov byte [rax + 0xc4], 1
movss xmm1, dword [rbx + 0xc0]
movss dword [rax + 0xc0], xmm1
je 0x49de19
cmp byte [rbx + 0xd4], 0
mov byte [rax + 0xcc], 1
movss xmm3, dword [rbx + 0xc8]
movss dword [rax + 0xc8], xmm3
je 0x49de2d
cmp byte [rbx + 0xdc], 0
mov byte [rax + 0xd4], 1
movss xmm4, dword [rbx + 0xd0]
movss dword [rax + 0xd0], xmm4
je 0x49de41
cmp byte [rbx + 0xe4], 0
mov byte [rax + 0xdc], 1
movss xmm5, dword [rbx + 0xd8]
movss dword [rax + 0xd8], xmm5
je 0x49de55
cmp byte [rbx + 0xec], 0
mov byte [rax + 0xe4], 1
movss xmm0, dword [rbx + 0xe0]
movss dword [rax + 0xe0], xmm0
je 0x49de69
cmp byte [rbx + 0xf4], 0
mov byte [rax + 0xec], 1
movss xmm9, dword [rbx + 0xe8]
movss dword [rax + 0xe8], xmm9
je 0x49de7d
cmp byte [rbx + 0xfc], 0
mov byte [rax + 0xf4], 1
movss xmm8, dword [rbx + 0xf0]
movss dword [rax + 0xf0], xmm8
je 0x49de91
cmp byte [rbx + 0x104], 0
mov byte [rax + 0xfc], 1
movss xmm7, dword [rbx + 0xf8]
movss dword [rax + 0xf8], xmm7
je 0x49dea5
cmp byte [rbx + 0x10c], 0
mov byte [rax + 0x104], 1
movss xmm2, dword [rbx + 0x100]
movss dword [rax + 0x100], xmm2
je 0x49deb9
cmp byte [rbx + 0x114], 0
mov byte [rax + 0x10c], 1
movss xmm1, dword [rbx + 0x108]
movss dword [rax + 0x108], xmm1
je 0x49decd
cmp byte [rbx + 0x11c], 0
mov byte [rax + 0x114], 1
movss xmm3, dword [rbx + 0x110]
movss dword [rax + 0x110], xmm3
je 0x49dee1
cmp byte [rbx + 0x124], 0
mov byte [rax + 0x11c], 1
movss xmm4, dword [rbx + 0x118]
movss dword [rax + 0x118], xmm4
je 0x49def5
cmp byte [rbx + 0x12c], 0
mov byte [rax + 0x124], 1
movss xmm5, dword [rbx + 0x120]
movss dword [rax + 0x120], xmm5
je 0x49df09
cmp byte [rbx + 0x134], 0
mov byte [rax + 0x12c], 1
movss xmm0, dword [rbx + 0x128]
movss dword [rax + 0x128], xmm0
je 0x49df1d
cmp byte [rbx + 0x13c], 0
mov byte [rax + 0x134], 1
movss xmm9, dword [rbx + 0x130]
movss dword [rax + 0x130], xmm9
je 0x49df31
cmp byte [rbx + 0x144], 0
mov byte [rax + 0x13c], 1
movss xmm8, dword [rbx + 0x138]
movss dword [rax + 0x138], xmm8
je 0x49df45
cmp byte [rbx + 0x14c], 0
mov byte [rax + 0x144], 1
movss xmm7, dword [rbx + 0x140]
movss dword [rax + 0x140], xmm7
jne 0x49df59
mov byte [rax + 0x14c], 0
add rax, 0x150
add rbx, 0x150
cmp r15, rax
je 0x49e203
mov rcx, qword [rbx]
mov edx, dword [rbx + 8]
mov rdi, qword [rbx + 0xc]
mov r9d, dword [rbx + 0x14]
mov r11d, dword [rbx + 0x18]
mov qword [rax], rcx
mov r8d, dword [rbx + 0x1c]
mov dword [rax + 8], edx
movzx r10d, byte [rbx + 0x20]
mov qword [rax + 0xc], rdi
movzx r13d, byte [rbx + 0x28]
mov dword [rax + 0x14], r9d
cmp byte [rbx + 0x34], 0
mov dword [rax + 0x18], r11d
movss xmm3, dword [rbx + 0x24]
mov dword [rax + 0x1c], r8d
movss xmm4, dword [rbx + 0x2c]
mov byte [rax + 0x20], r10b
movss dword [rax + 0x24], xmm3
mov byte [rax + 0x28], r13b
movss dword [rax + 0x2c], xmm4
jne 0x49d7e0
cmp byte [rbx + 0x3c], 0
mov byte [rax + 0x34], 0
jne 0x49d7f6
cmp byte [rbx + 0x44], 0
mov byte [rax + 0x3c], 0
jne 0x49d80a
cmp byte [rbx + 0x4c], 0
mov byte [rax + 0x44], 0
jne 0x49d81e
cmp byte [rbx + 0x54], 0
mov byte [rax + 0x4c], 0
jne 0x49d836
cmp byte [rbx + 0x5c], 0
mov byte [rax + 0x54], 0
jne 0x49d84e
cmp byte [rbx + 0x64], 0
mov byte [rax + 0x5c], 0
jne 0x49d868
cmp byte [rbx + 0x6c], 0
mov byte [rax + 0x64], 0
jne 0x49d882
cmp byte [rbx + 0x74], 0
mov byte [rax + 0x6c], 0
jne 0x49d89a
cmp byte [rbx + 0x7c], 0
mov byte [rax + 0x74], 0
jne 0x49d8b2
cmp byte [rbx + 0x84], 0
mov byte [rax + 0x7c], 0
jne 0x49d8cd
cmp byte [rbx + 0x8c], 0
mov byte [rax + 0x84], 0
jne 0x49d8f1
cmp byte [rbx + 0x94], 0
mov byte [rax + 0x8c], 0
jne 0x49d915
cmp byte [rbx + 0x9c], 0
mov byte [rax + 0x94], 0
jne 0x49d939
cmp byte [rbx + 0xa4], 0
mov byte [rax + 0x9c], 0
jne 0x49d95d
cmp byte [rbx + 0xac], 0
mov byte [rax + 0xa4], 0
jne 0x49d983
cmp byte [rbx + 0xb4], 0
mov byte [rax + 0xac], 0
jne 0x49d9a9
cmp byte [rbx + 0xbc], 0
mov byte [rax + 0xb4], 0
jne 0x49d9cd
cmp byte [rbx + 0xc4], 0
mov byte [rax + 0xbc], 0
jne 0x49d9f1
cmp byte [rbx + 0xcc], 0
mov byte [rax + 0xc4], 0
jne 0x49da15
cmp byte [rbx + 0xd4], 0
mov byte [rax + 0xcc], 0
jne 0x49da39
cmp byte [rbx + 0xdc], 0
mov byte [rax + 0xd4], 0
jne 0x49da5d
cmp byte [rbx + 0xe4], 0
mov byte [rax + 0xdc], 0
jne 0x49da81
cmp byte [rbx + 0xec], 0
mov byte [rax + 0xe4], 0
jne 0x49daa5
cmp byte [rbx + 0xf4], 0
mov byte [rax + 0xec], 0
jne 0x49dacb
cmp byte [rbx + 0xfc], 0
mov byte [rax + 0xf4], 0
jne 0x49daf1
cmp byte [rbx + 0x104], 0
mov byte [rax + 0xfc], 0
jne 0x49db15
cmp byte [rbx + 0x10c], 0
mov byte [rax + 0x104], 0
jne 0x49db39
cmp byte [rbx + 0x114], 0
mov byte [rax + 0x10c], 0
jne 0x49db5d
cmp byte [rbx + 0x11c], 0
mov byte [rax + 0x114], 0
jne 0x49db81
cmp byte [rbx + 0x124], 0
mov byte [rax + 0x11c], 0
jne 0x49dba5
cmp byte [rbx + 0x12c], 0
mov byte [rax + 0x124], 0
jne 0x49dbc9
cmp byte [rbx + 0x134], 0
mov byte [rax + 0x12c], 0
jne 0x49dbed
cmp byte [rbx + 0x13c], 0
mov byte [rax + 0x134], 0
jne 0x49dc13
cmp byte [rbx + 0x144], 0
mov byte [rax + 0x13c], 0
jne 0x49dc39
cmp byte [rbx + 0x14c], 0
mov byte [rax + 0x144], 0
je 0x49dc5d
movss xmm2, dword [rbx + 0x148]
mov byte [rax + 0x14c], 1
movss dword [rax + 0x148], xmm2
jmp 0x49dc64
test rcx, rcx
je 0x49d4b0
call fcn.005ab730
jmp 0x49d4b0
lea rdx, [0x006e0ef8]
mov r8d, 0x11d
lea rcx, [0x006e0f78]
call fcn.005ac990
test r13b, r13b
je 0x49e8b3
movabs rax, 0x7fffffffffffffff
cqo
idiv rdi
cmp rsi, rax
jle 0x49d0b0
call fcn.00628800
nop
test r15, r15
js 0x49df90
test r12, r12
js 0x49df90
xor ebp, ebp
xor r10d, r10d
jmp 0x49d0c9
mov rdx, qword [rsp + 0x6c0]
mov rcx, rax
call fcn.00494c60
mov r11, qword [rsp + 0x6c0]
mov r13, qword [r11]
mov r9, qword [r11 + 8]
cmp r9, r13
je 0x49cf97
lea rcx, [r13 + 0x18]
mov rdx, qword [rsp + 0x48]
movabs rbp, 0xaaaaaaaaaaaaaab
movabs r10, 0x1fffffffffffffff
lea rsi, [r13 + 8]
sub r9, rcx
shr r9, 3
imul r9, rbp
and r9, r10
lea rbx, [r9 + r9*2]
lea r12, [r13 + rbx*8 + 0x20]
mov rdi, r12
sub rdi, rsi
sub rdi, 0x18
shr rdi, 3
imul rdi, rbp
and rdi, r10
add rdi, 1
and edi, 3
je 0x49e121
cmp rdi, 1
je 0x49e0e2
cmp rdi, 2
je 0x49e0ab
mov r8, qword [r13 + 8]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [r8 - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e0a7
mov r14, qword [r13 + 8]
movss xmm8, dword [r14 - 0x12c]
movss dword [rax + 0x24], xmm8
add rsi, 0x18
mov r15, qword [rsi]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [r15 - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e0de
mov r11, qword [rsi]
movss xmm9, dword [r11 - 0x12c]
movss dword [rax + 0x24], xmm9
add rsi, 0x18
mov rax, qword [rsi]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [rax - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e114
mov r13, qword [rsi]
movss xmm0, dword [r13 - 0x12c]
movss dword [rax + 0x24], xmm0
add rsi, 0x18
cmp r12, rsi
je 0x49cf97
mov rcx, qword [rsi]
xor r9d, r9d
lea r8, [rcx - 0x150]
mov rcx, qword [rsp + 0x40]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e153
mov r9, qword [rsi]
movss xmm1, dword [r9 - 0x12c]
movss dword [rax + 0x24], xmm1
mov r10, qword [rsi + 0x18]
lea rbp, [rsi + 0x18]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [r10 - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e18a
mov rsi, qword [rsi + 0x18]
movss xmm2, dword [rsi - 0x12c]
movss dword [rax + 0x24], xmm2
mov rbx, qword [rbp + 0x18]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [rbx - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e1bd
mov rdi, qword [rbp + 0x18]
movss xmm3, dword [rdi - 0x12c]
movss dword [rax + 0x24], xmm3
mov r8, qword [rbp + 0x30]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
lea r8, [r8 - 0x150]
call fcn.006cbf80
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
je 0x49e1f1
mov r14, qword [rbp + 0x30]
movss xmm4, dword [r14 - 0x12c]
movss dword [rax + 0x24], xmm4
lea rsi, [rbp + 0x48]
cmp r12, rsi
jne 0x49e121
jmp 0x49cf97
mov rax, qword [rsp + 0x6c0]
mov qword [rsp + 0xc8], r15
mov rdx, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
je 0x49e730
mov qword [rdx], 0
mov r15, qword [rsp + 0xc0]
add rdx, 0x18
mov qword [rdx - 0x10], 0
mov r9, qword [rsp + 0x6c0]
mov qword [rdx - 8], 0
mov qword [rdx - 0x18], r15
mov rbx, qword [rsp + 0xc8]
mov qword [rdx - 0x10], rbx
mov rdi, qword [rsp + 0xd0]
mov qword [rdx - 8], rdi
mov qword [r9 + 8], rdx
mov rcx, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x40]
jmp 0x49d5d0
test r8b, r8b
je 0x49e292
cmp r10d, dword [rcx - 0x118]
jne 0x49d72a
movss xmm2, dword [rcx - 0x148]
movaps xmm7, xmm3
movaps xmm8, xmm4
movaps xmm9, xmm5
movss xmm1, dword [rcx - 0x14c]
subss xmm7, xmm2
mulss xmm2, xmm2
movss xmm0, dword [rcx - 0x150]
subss xmm8, xmm1
mulss xmm1, xmm1
subss xmm9, xmm0
mulss xmm0, xmm0
mulss xmm7, xmm7
mulss xmm8, xmm8
addss xmm1, xmm2
mulss xmm9, xmm9
movaps xmm2, xmm3
mulss xmm2, xmm3
addss xmm8, xmm7
movaps xmm7, xmm4
mulss xmm7, xmm4
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm8, xmm9
addss xmm2, xmm7
addss xmm1, xmm2
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm8
jb 0x49d72a
cmp rcx, qword [rbp + 0x10]
je 0x49e550
mov rdx, rdi
call fcn.005c1a80
add qword [rbp + 8], 0x150
jmp 0x49e26c
test r8b, r8b
je 0x49e352
cmp r10d, dword [rcx - 0x118]
jne 0x49d743
movss xmm2, dword [rcx - 0x148]
movaps xmm7, xmm3
movaps xmm8, xmm4
movaps xmm9, xmm5
movss xmm1, dword [rcx - 0x14c]
subss xmm7, xmm2
mulss xmm2, xmm2
movss xmm0, dword [rcx - 0x150]
subss xmm8, xmm1
mulss xmm1, xmm1
subss xmm9, xmm0
mulss xmm0, xmm0
mulss xmm7, xmm7
mulss xmm8, xmm8
addss xmm1, xmm2
mulss xmm9, xmm9
movaps xmm2, xmm3
mulss xmm2, xmm3
addss xmm8, xmm7
movaps xmm7, xmm4
mulss xmm7, xmm4
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm8, xmm9
addss xmm2, xmm7
addss xmm1, xmm2
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm8
jb 0x49d743
jmp 0x49e31e
cmp qword [rsp + 0x90], rdi
js 0x49d032
jmp 0x49d04b
test r8b, r8b
je 0x49e412
cmp r10d, dword [rcx - 0x118]
jne 0x49d759
movss xmm2, dword [rcx - 0x148]
movaps xmm8, xmm3
movaps xmm7, xmm4
movaps xmm9, xmm5
movss xmm1, dword [rcx - 0x14c]
subss xmm8, xmm2
mulss xmm2, xmm2
movss xmm0, dword [rcx - 0x150]
subss xmm7, xmm1
mulss xmm1, xmm1
subss xmm9, xmm0
mulss xmm0, xmm0
mulss xmm8, xmm8
mulss xmm7, xmm7
addss xmm1, xmm2
mulss xmm9, xmm9
movaps xmm2, xmm3
mulss xmm2, xmm3
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm8, xmm7
movaps xmm7, xmm5
mulss xmm7, xmm5
addss xmm8, xmm9
addss xmm2, xmm1
addss xmm7, xmm2
minss xmm0, xmm7
mulss xmm0, xmm6
ucomiss xmm0, xmm8
jb 0x49d759
jmp 0x49e31e
test r8b, r8b
je 0x49e4b5
cmp r10d, dword [rcx - 0x118]
jne 0x49d76f
movss xmm2, dword [rcx - 0x148]
movaps xmm7, xmm3
movaps xmm8, xmm4
movaps xmm9, xmm5
movss xmm1, dword [rcx - 0x14c]
subss xmm7, xmm2
mulss xmm2, xmm2
movss xmm0, dword [rcx - 0x150]
subss xmm8, xmm1
mulss xmm1, xmm1
subss xmm9, xmm0
mulss xmm0, xmm0
mulss xmm7, xmm7
mulss xmm8, xmm8
addss xmm1, xmm2
mulss xmm9, xmm9
movaps xmm2, xmm3
mulss xmm2, xmm3
addss xmm8, xmm7
movaps xmm7, xmm4
mulss xmm7, xmm4
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm8, xmm9
addss xmm2, xmm7
addss xmm1, xmm2
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm8
jb 0x49d76f
cmp rcx, qword [rbp + 0x10]
jne 0x49e328
nop dword [rax + rax]
mov rdx, rcx
mov r8, rdi
mov rcx, rbp
call fcn.00697490
jmp 0x49e26c
movabs r8, 0x1fffffffffffffff
cmp r15, r8
ja 0x49e8f2
shl r15, 3
mov rcx, r15
call fcn.005b9c20
cmp r15, 0xf
mov rbp, rax
jbe 0x49e593
test al, 0xf
jne 0x49e80e
test rbp, rbp
je 0x49e8eb
mov qword [rsp + 0x380], rbp
jmp 0x49d0f4
test r8b, r8b
je 0x49e5c2
cmp r10d, dword [rcx - 0x118]
jne 0x49d710
movss xmm0, dword [rcx - 0x148]
movaps xmm1, xmm3
movaps xmm2, xmm4
movaps xmm9, xmm5
movss xmm8, dword [rcx - 0x14c]
subss xmm1, xmm0
mulss xmm0, xmm0
movss xmm7, dword [rcx - 0x150]
subss xmm2, xmm8
mulss xmm8, xmm8
subss xmm9, xmm7
mulss xmm7, xmm7
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm9, xmm9
movaps xmm8, xmm4
mulss xmm8, xmm4
addss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm7
movaps xmm7, xmm5
mulss xmm7, xmm5
addss xmm2, xmm9
addss xmm1, xmm8
addss xmm1, xmm7
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm2
jb 0x49d710
jmp 0x49e31e
test r8b, r8b
je 0x49e667
cmp r10d, dword [rcx - 0x118]
jne 0x49d6fb
movss xmm0, dword [rcx - 0x148]
movaps xmm1, xmm3
movaps xmm2, xmm4
movaps xmm9, xmm5
movss xmm8, dword [rcx - 0x14c]
subss xmm1, xmm0
mulss xmm0, xmm0
movss xmm7, dword [rcx - 0x150]
subss xmm2, xmm8
mulss xmm8, xmm8
subss xmm9, xmm7
mulss xmm7, xmm7
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm9, xmm9
movaps xmm8, xmm4
mulss xmm8, xmm4
addss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm7
movaps xmm7, xmm5
mulss xmm7, xmm5
addss xmm2, xmm9
addss xmm1, xmm8
addss xmm1, xmm7
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm2
jb 0x49d6fb
jmp 0x49e31e
movaps xmm6, xmmword [rsp + 0x620]
movaps xmm7, xmmword [rsp + 0x630]
movaps xmm8, xmmword [rsp + 0x640]
movaps xmm9, xmmword [rsp + 0x650]
add rsp, 0x668
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x6c0]
lea r8, [rsp + 0xc0]
call fcn.006ae6b0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x49e26c
call fcn.005ab730
jmp 0x49e26c
test r8b, r8b
jne 0x49e7fc
movss xmm0, dword [rcx - 0x148]
movaps xmm1, xmm3
movaps xmm2, xmm4
movaps xmm9, xmm5
movss xmm8, dword [rcx - 0x14c]
subss xmm1, xmm0
mulss xmm0, xmm0
movss xmm7, dword [rcx - 0x150]
subss xmm2, xmm8
mulss xmm8, xmm8
subss xmm9, xmm7
mulss xmm7, xmm7
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm9, xmm9
movaps xmm8, xmm4
mulss xmm8, xmm4
addss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm7
movaps xmm7, xmm5
mulss xmm7, xmm5
addss xmm2, xmm9
addss xmm1, xmm8
addss xmm1, xmm7
minss xmm0, xmm1
mulss xmm0, xmm6
ucomiss xmm0, xmm2
jb 0x49d6e6
jmp 0x49e31e
cmp r10d, dword [rcx - 0x118]
jne 0x49d6e6
jmp 0x49e769
lea rdx, [0x006e0d08]
mov r8d, 0xa1
lea rcx, [0x006e0d80]
call fcn.005ac990
jmp 0x49e593
lea rcx, [0x006e1530]
mov rdx, rax
call fcn.005ab768
call fcn.00628800
mov rcx, qword [rsp + 0x380]
mov rbp, rax
call fcn.005b9c88
mov rcx, qword [rsp + 0x80]
call fcn.005b9c88
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x49e86c
call fcn.005ab730
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x49e87b
call fcn.005ab730
mov rcx, rbp
call fcn.005ab970
mov rbp, rax
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x49e850
call fcn.005ab730
jmp 0x49e850
mov rcx, qword [rsp + 0xc0]
mov rbp, rax
test rcx, rcx
je 0x49e886
call fcn.005ab730
jmp 0x49e886
mov r10, qword [rsp + 0x388]
mov rbp, qword [rsp + 0x380]
imul r10, qword [rsp + 0x390]
jmp 0x49d0c9
call fcn.005ab7a8
mov rbp, rax
jmp 0x49e86c
call fcn.00628800
jmp 0x49e89a
call fcn.00628800
xor r8d, r8d
jmp 0x49d51c
call fcn.005ab7a8
nop
nop
nop word cs:[rax + rax]