Function at 0x18004bd40
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3c8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x18006c9a8]
mov rax, qword [rax + 0x48a8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180021000
mov r13, rax
mov qword [rbp + 0x308], rax
movabs rax, 0x1419b5838
movabs rdx, 0x14020e2d0
movabs rsi, 0x140f51520
movabs r12, 0x141995708
movss xmm11, dword [0x1800628cc]
movss xmm12, dword [0x1800628a8]
movss xmm13, dword [0x180062944]
movss xmm14, dword [0x1800628ac]
mov rcx, qword [0x18006c068]
cmp byte [rcx + 0xa], 0
je 0x18004bfa3
mov rcx, qword [rax]
movsd xmm7, qword [rcx + 0x24c]
mov eax, dword [rcx + 0x254]
mov dword [rbp - 0x48], eax
movss xmm6, dword [rcx + 0x17e4]
call rdx
movaps xmm8, xmm0
addss xmm8, xmm6
xor edi, edi
movaps xmm1, xmm7
shufps xmm1, xmm1, 0x55
movsd qword [rbp - 0x50], xmm7
movss dword [rbp - 0x5c], xmm1
movss xmm9, dword [rbp - 0x48]
movss xmm10, dword [rbp - 0x50]
movd xmm7, edi
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm11
mulss xmm7, xmm12
divss xmm7, xmm13
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
mulss xmm6, xmm8
addss xmm6, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm0, xmm10
movss dword [rbp - 0x58], xmm6
movsd xmm1, qword [rbp - 0x60]
movss xmm1, xmm0
movsd qword [rbp - 0x60], xmm1
movsd qword [rbp - 0x50], xmm1
mov eax, dword [rbp - 0x58]
mov dword [rbp - 0x48], eax
mov rcx, qword [r12]
add rcx, 0x270
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x50]
call rsi
movss xmm0, dword [rbp - 0x30]
movss dword [rbp + 0x300], xmm0
movss xmm1, dword [rbp - 0x2c]
movss dword [rbp + 0x304], xmm1
mov r8d, dword [r13 + 0x7c]
mov eax, dword [r13 + 0x78]
cmp eax, r8d
jne 0x18004bf37
lea ecx, [rax + 1]
test r8d, r8d
je 0x18004bf1e
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18004bf23
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [r13 + 0x78]
call fcn.180033500
mov eax, dword [r13 + 0x78]
movsxd rdx, eax
mov rcx, qword [r13 + 0x80]
mov rax, qword [rbp + 0x300]
mov qword [rcx + rdx*8], rax
mov r8d, dword [r13 + 0x78]
inc r8d
mov dword [r13 + 0x78], r8d
inc edi
cmp edi, 0x63
jle 0x18004be72
mov rax, qword [0x18006c068]
movups xmm0, xmmword [rax + 0x54]
movups xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call fcn.18001f090
movss dword [rsp + 0x28], xmm14
mov dword [rsp + 0x20], 1
mov r9d, eax
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.18003bb70
mov dword [r13 + 0x78], 0
movss xmm7, dword [0x18006289c]
xorps xmm12, xmm12
mov rax, qword [0x18006c068]
cmp byte [rax + 0x12], 0
je 0x18004c63d
xor esi, esi
mov rbx, qword [0x18006caf8]
mov r15, qword [0x18006caf0]
mov rcx, rbx
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18004c119
mov r8, rbx
mov r13, rbx
mov r12, rbx
lea rdi, [r15 + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r14, qword [rdi - 0x10]
movss xmm6, dword [r14 + 0x1078]
ucomiss xmm6, xmm12
jp 0x18004c029
je 0x18004c0c8
lea rdx, str.JammerDevice
mov rcx, qword [rdi - 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18004c05f
ucomiss xmm6, xmm12
jp 0x18004c084
jne 0x18004c084
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [r15 + rcx*8]
lea rdx, [rcx + 0x18]
sub r13, rdx
mov r8, r13
jmp 0x18004c0f1
movabs rax, 0x14199f6d8
movss xmm0, dword [rax]
movss xmm1, dword [r14 + 0x360]
subss xmm0, dword [rdi]
subss xmm1, xmm0
comiss xmm12, xmm1
jae 0x18004c0dc
inc esi
add rdi, 0x18
mov r8, rbx
mov r15, qword [0x18006caf0]
mov rcx, rbx
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov r13, rbx
mov r12, rbx
movsxd rax, esi
cmp rax, rdx
jae 0x18004c108
jmp 0x18004c010
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [r15 + rcx*8]
lea rdx, [rcx + 0x18]
sub r8, rdx
jmp 0x18004c0f1
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [r15 + rcx*8]
lea rdx, [rcx + 0x18]
sub r12, rdx
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
mov rbx, qword [0x18006caf8]
sub rbx, 0x18
mov qword [0x18006caf8], rbx
movabs r12, 0x141995708
mov r13, qword [rbp + 0x308]
sub rbx, qword [0x18006caf0]
movabs r15, 0x2aaaaaaaaaaaaaab
mov rax, r15
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18004c63d
xor r14d, r14d
xor esi, esi
nop dword [rax]
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x18006caf0]
mov rcx, qword [rsi + rax]
movsd xmm0, qword [rcx + 0x24c]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [rcx + 0x254]
mov dword [rbp - 0x58], eax
mov rcx, qword [r12]
add rcx, 0x270
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
movabs rax, 0x140f51520
call rax
mov rdi, qword [0x18006caf0]
mov rbx, qword [rsi + rdi + 8]
lea rdx, str.SightWard
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18004c3d7
mov rax, qword [rsi + rdi]
movss xmm0, dword [rax + 0x10a0]
ucomiss xmm0, xmm7
jp 0x18004c1da
je 0x18004c1f2
movss xmm6, dword [rax + 0x360]
ucomiss xmm6, xmm12
jp 0x18004c2d1
jne 0x18004c2d1
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
lea r8d, [rbx + 8]
lea rdx, [0x180062710]
lea rcx, [rbp - 0x80]
call fcn.180008470
nop
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.18004a340
cmp qword [rax + 0x18], 0x10
jb 0x18004c233
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.18004f8e0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18004c27d
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c278
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c755
call fcn.180054b4c
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18004c54c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c2c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c75c
call fcn.180054b4c
jmp 0x18004c54c
movabs rcx, 0x14199f6d8
movss xmm0, dword [rcx]
subss xmm0, dword [rsi + rdi + 0x10]
subss xmm6, xmm0
mov byte [rax + 0x2f8], 1
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
lea r8d, [rbx + 0xd]
lea rdx, [0x180062740]
lea rcx, [rbp - 0x80]
call fcn.180008470
nop
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.18004a340
cmp qword [rax + 0x18], 0x10
jb 0x18004c331
mov rax, qword [rax]
cvtps2pd xmm2, xmm6
movq r8, xmm2
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.18004f8e0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18004c383
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c37e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c763
call fcn.180054b4c
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18004c54c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c3cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c76a
call fcn.180054b4c
jmp 0x18004c54c
lea rdx, str.JammerDevice
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18004c4d5
mov rax, qword [rsi + rdi]
mov byte [rax + 0x2f8], 1
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
lea r8d, [rbx + 8]
lea rdx, [0x180062730]
lea rcx, [rbp - 0x80]
call fcn.180008470
nop
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.18004a340
cmp qword [rax + 0x18], 0x10
jb 0x18004c43a
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.18004f8e0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18004c484
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c47f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c771
call fcn.180054b4c
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18004c54c
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c4ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c778
call fcn.180054b4c
jmp 0x18004c54c
lea rdx, str.Jack_In_The_Box
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x18004c4fb
lea rdx, str.Noxious_Trap
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18004c54c
mov rax, qword [rsi + rdi]
mov byte [rax + 0x2f8], 1
movabs rax, 0x14199f6d8
movss xmm1, dword [rax]
mov rcx, qword [0x18006caf0]
mov rax, qword [rsi + rcx]
movss xmm0, dword [rax + 0x360]
subss xmm1, dword [rsi + rcx + 0x10]
subss xmm0, xmm1
cvtps2pd xmm2, xmm0
movq r8, xmm2
lea rdx, str._.0f
lea rcx, [rbp + 0xe0]
call fcn.18004f8e0
movaps xmm0, xmmword [0x180062d10]
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call fcn.18001f090
mov r8d, eax
movss xmm0, dword [rbp - 0x50]
movss dword [rbp + 0x300], xmm0
movss xmm1, dword [rbp - 0x4c]
movss dword [rbp + 0x304], xmm1
test eax, 0xff000000
je 0x18004c608
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004c596
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004c608
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x30], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x300]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
inc r14d
add rsi, 0x18
mov rcx, qword [0x18006caf8]
sub rcx, qword [0x18006caf0]
mov rax, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r14d
cmp rax, rdx
jb 0x18004c150
movabs r8, 0x140246df0
movss xmm14, dword [0x180062868]
movss xmm13, dword [0x18006291c]
movss xmm15, dword [0x1800628f4]
mov rax, qword [0x18006c068]
cmp byte [rax + 0xb], 0
jne 0x18004c679
cmp byte [rax + 9], 0
je 0x18004d54f
mov rax, qword [0x18006c068]
cmp dword [rax + 0x20], 1
jne 0x18004d54f
mov r14, qword [0x18006cbb0]
mov rsi, qword [0x18006cba8]
cmp rsi, r14
je 0x18004d54f
lea r15, [0x18006113d]
lea r12, [0x18006113c]
lea rbx, [0x180061155]
movss xmm6, dword [0x180062904]
movss xmm7, dword [0x1800628fc]
movss xmm9, dword [0x180062924]
movss xmm8, dword [0x18006293c]
movss xmm10, dword [0x180062908]
movss xmm11, dword [0x180062940]
nop word [rax + rax]
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x1b0], xmm0
movups xmm0, xmmword [rsi + 0x20]
movaps xmmword [rbp + 0x1d0], xmm0
movups xmm1, xmmword [rsi + 0x30]
movaps xmmword [rbp + 0x1e0], xmm1
mov rax, qword [0x18006c068]
movzx edx, byte [rax + 0xb]
movzx ecx, byte [rax + 9]
mov rdi, qword [rbp + 0x1b0]
cmp cl, dl
je 0x18004c7bb
movabs r9, 0x1419b5838
test cl, cl
je 0x18004c791
mov rax, qword [r9]
mov ecx, dword [rax + 0x3c]
cmp ecx, 0x64
jne 0x18004c77f
cmp dword [rdi + 0x3c], 0xc8
jne 0x18004c791
jmp 0x18004d542
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp ecx, 0xc8
jne 0x18004c791
cmp dword [rdi + 0x3c], 0x64
je 0x18004d542
test dl, dl
je 0x18004c7bb
mov rax, qword [r9]
mov ecx, dword [rax + 0x3c]
cmp ecx, 0x64
jne 0x18004c7aa
cmp dword [rdi + 0x3c], ecx
jne 0x18004c7bb
jmp 0x18004d542
cmp ecx, 0xc8
jne 0x18004c7bb
cmp dword [rdi + 0x3c], ecx
je 0x18004d542
mov rcx, rdi
call r8
test al, al
je 0x18004d538
movss xmm0, dword [rdi + 0x1078]
comiss xmm0, xmm12
jbe 0x18004d538
cmp byte [rdi + 0x2f8], 0
je 0x18004d538
lea rcx, [rdi + 0x4508]
call fcn.180054570
mov rcx, rax
movabs rax, qword [0x141995708]
lea r8, [rax + 0x270]
lea rdx, [rbp + 0x300]
movabs rax, 0x14094d030
call rax
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [rbp + 0x304]
addss xmm0, xmm14
movss dword [rbp + 0x304], xmm0
mov rcx, qword [rdi + 0x3c38]
cmp dword [rcx + 0x28], 0
je 0x18004c9ad
xor r8d, r8d
mov rdx, rdi
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
comiss xmm0, xmm12
jbe 0x18004cb0f
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rdi + 0x3c38]
call fcn.18004f490
mov rbx, qword [rdi + 0x3c38]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18004f210
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18004f490
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rdi + 0x3c38]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
subss xmm0, dword [0x180062928]
movss dword [rbp + 0x310], xmm0
movss dword [rbp + 0x314], xmm1
test eax, 0xff000000
je 0x18004c9a6
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004c936
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004c9a6
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x310]
movaps xmm2, xmm6
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
lea rbx, [0x180061155]
mov rcx, qword [rdi + 0x3c40]
cmp dword [rcx + 0x28], 0
je 0x18004cc3a
mov r8d, 1
mov rdx, rdi
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
comiss xmm0, xmm12
jbe 0x18004cbac
mov r8d, 1
mov rdx, rdi
mov rcx, qword [rdi + 0x3c40]
call fcn.18004f490
mov rbx, qword [rdi + 0x3c40]
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.18004f210
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.18004f490
mov r8d, 1
mov rdx, rdi
mov rcx, qword [rdi + 0x3c40]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
subss xmm0, xmm7
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm1
test eax, 0xff000000
je 0x18004cc3a
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004cab0
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004cc3a
mov rax, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x60]
mov rcx, qword [rax + 8]
jmp 0x18004cc23
movaps xmm0, xmmword [0x180062c30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
subss xmm0, dword [0x180062928]
movss dword [rbp + 0x318], xmm0
movss dword [rbp + 0x31c], xmm1
test eax, 0xff000000
je 0x18004c9ad
mov rcx, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r12
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x318]
movaps xmm2, xmm6
mov rdx, r13
mov rcx, qword [rcx + 8]
call fcn.180041d70
jmp 0x18004c9ad
movaps xmm0, xmmword [0x180062c30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
subss xmm0, xmm7
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
test eax, 0xff000000
je 0x18004cc3a
mov rcx, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rbx
lea rdx, [0x180061154]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x68]
mov rcx, qword [rcx + 8]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
movaps xmm2, xmm6
mov rdx, r13
call fcn.180041d70
mov rcx, qword [rdi + 0x3c48]
cmp dword [rcx + 0x28], 0
je 0x18004ce38
mov r8d, 2
mov rdx, rdi
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
comiss xmm0, xmm12
jbe 0x18004cd9f
mov r8d, 2
mov rdx, rdi
mov rcx, qword [rdi + 0x3c48]
call fcn.18004f490
mov rbx, qword [rdi + 0x3c48]
mov r8d, 2
mov rdx, rdi
mov rcx, rbx
call fcn.18004f210
mov r8d, 2
mov rdx, rdi
mov rcx, rbx
call fcn.18004f490
mov r8d, 2
mov rdx, rdi
mov rcx, qword [rdi + 0x3c48]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
addss xmm0, dword [0x1800628f0]
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm1
test eax, 0xff000000
je 0x18004ce38
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004cd40
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004ce38
mov rax, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x70]
mov rcx, qword [rax + 8]
jmp 0x18004ce21
movaps xmm0, xmmword [0x180062c30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
addss xmm0, dword [0x1800628f0]
movss dword [rbp + 0x78], xmm0
movss dword [rbp + 0x7c], xmm1
test eax, 0xff000000
je 0x18004ce38
mov rcx, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
lea rdx, [0x18006110d]
mov qword [rsp + 0x38], rdx
lea rdx, [0x18006110c]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x78]
mov rcx, qword [rcx + 8]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
movaps xmm2, xmm6
mov rdx, r13
call fcn.180041d70
mov rcx, qword [rdi + 0x3c50]
cmp dword [rcx + 0x28], 0
je 0x18004d041
mov r8d, 3
mov rdx, rdi
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
comiss xmm0, xmm12
jbe 0x18004cfa2
mov r8d, 3
mov rdx, rdi
mov rcx, qword [rdi + 0x3c50]
call fcn.18004f490
mov rbx, qword [rdi + 0x3c50]
mov r8d, 3
mov rdx, rdi
mov rcx, rbx
call fcn.18004f210
mov r8d, 3
mov rdx, rdi
mov rcx, rbx
call fcn.18004f490
mov r8d, 3
mov rdx, rdi
mov rcx, qword [rdi + 0x3c50]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
addss xmm0, xmm13
movss dword [rbp + 0x80], xmm0
movss dword [rbp + 0x84], xmm1
test eax, 0xff000000
je 0x18004d041
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004cf40
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004d041
mov rax, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x80]
mov rcx, qword [rax + 8]
jmp 0x18004d02a
movaps xmm0, xmmword [0x180062c30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm1, dword [rbp + 0x304]
addss xmm1, dword [0x1800628ac]
movss xmm0, dword [rbp + 0x300]
addss xmm0, xmm13
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm1
test eax, 0xff000000
je 0x18004d041
mov rcx, qword [r13 + 0x38]
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
lea rdx, [0x180061141]
mov qword [rsp + 0x38], rdx
lea rdx, [0x180061140]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x88]
mov rcx, qword [rcx + 8]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
movaps xmm2, xmm6
mov rdx, r13
call fcn.180041d70
mov dword [rbp + 0x90], 0x3f800000
mov dword [rbp + 0x94], 0x3f800000
mov qword [rbp + 0x98], 0
movss xmm3, dword [rbp + 0x304]
subss xmm3, xmm9
movaps xmm2, xmm3
addss xmm2, xmm6
movss xmm1, dword [rbp + 0x300]
addss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, xmm6
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm2
movss dword [rbp + 0xa8], xmm1
movss dword [rbp + 0xac], xmm3
mov rdx, qword [rbp + 0x1d8]
cmp rdx, qword [r13 + 0x98]
setne bl
je 0x18004d0c3
mov rcx, r13
call fcn.18003b880
mov edx, 6
lea r8d, [rdx - 2]
mov rcx, r13
call fcn.18003b900
mov dword [rsp + 0x28], 0xffffffff
lea rax, [rbp + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x98]
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0xa8]
mov rcx, r13
call fcn.18003ba20
test bl, bl
je 0x18004d134
movsxd rcx, dword [r13 + 0x68]
lea eax, [rcx - 1]
mov dword [r13 + 0x68], eax
test eax, eax
jne 0x18004d11c
xor eax, eax
jmp 0x18004d125
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [r13 + 0x98], rax
mov rcx, r13
call fcn.18003b630
mov r8d, 4
mov rdx, rdi
mov rcx, qword [rdi + 0x3c58]
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
ucomiss xmm0, xmm12
jp 0x18004d15a
je 0x18004d2cf
movaps xmm0, xmmword [0x180062b60]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm3, dword [rbp + 0x304]
subss xmm3, xmm9
movaps xmm2, xmm3
addss xmm2, xmm10
movss xmm1, dword [rbp + 0x300]
addss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, xmm10
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm2
movss dword [rbp + 0x40], xmm1
movss dword [rbp + 0x44], xmm3
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.18003e110
mov r8d, 4
mov rdx, rdi
mov rcx, qword [rdi + 0x3c58]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
subss xmm1, xmm13
movss xmm0, dword [rbp + 0x300]
addss xmm0, xmm11
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm1
test eax, 0xff000000
je 0x18004d2cf
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004d260
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004d2cf
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x50]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
mov dword [rbp - 0x10], 0x3f800000
mov dword [rbp - 0xc], 0x3f800000
mov qword [rbp], 0
movss xmm3, dword [rbp + 0x304]
subss xmm3, xmm7
movaps xmm2, xmm3
addss xmm2, xmm6
movss xmm1, dword [rbp + 0x300]
addss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, xmm6
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm2
movss dword [rbp + 0x20], xmm1
movss dword [rbp + 0x24], xmm3
mov rdx, qword [rbp + 0x1e0]
cmp rdx, qword [r13 + 0x98]
setne bl
je 0x18004d33b
mov rcx, r13
call fcn.18003b880
mov edx, 6
lea r8d, [rdx - 2]
mov rcx, r13
call fcn.18003b900
mov dword [rsp + 0x28], 0xffffffff
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp]
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x20]
mov rcx, r13
call fcn.18003ba20
test bl, bl
je 0x18004d3a0
movsxd rcx, dword [r13 + 0x68]
lea eax, [rcx - 1]
mov dword [r13 + 0x68], eax
test eax, eax
jne 0x18004d388
xor eax, eax
jmp 0x18004d391
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [r13 + 0x98], rax
mov rcx, r13
call fcn.18003b630
mov r8d, 5
mov rdx, rdi
mov rcx, qword [rdi + 0x3c60]
call fcn.18004f490
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
ucomiss xmm0, xmm12
jp 0x18004d3c6
je 0x18004d531
movaps xmm0, xmmword [0x180062b60]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm3, dword [rbp + 0x304]
subss xmm3, xmm7
movaps xmm2, xmm3
addss xmm2, xmm10
movss xmm1, dword [rbp + 0x300]
addss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, xmm10
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm2
movss dword [rbp - 0x50], xmm1
movss dword [rbp - 0x4c], xmm3
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x50]
mov rcx, r13
call fcn.18003e110
mov r8d, 5
mov rdx, rdi
mov rcx, qword [rdi + 0x3c60]
call fcn.18004f490
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movq r9, xmm3
lea r8, str._.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
subss xmm1, xmm15
movss xmm0, dword [rbp + 0x300]
addss xmm0, xmm11
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
test eax, 0xff000000
je 0x18004d531
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004d4c2
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004d531
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm12
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
lea rbx, [0x180061155]
movabs r8, 0x140246df0
add rsi, 0x58
cmp rsi, r14
jne 0x18004c6f0
mov ecx, dword [0x18006c358]
mov rax, qword gs:[0x58]
mov r12d, 4
mov r15, qword [rax + rcx*8]
mov qword [rbp - 0x30], r15
mov eax, dword [r15 + r12]
cmp dword [0x18006ccbc], eax
jle 0x18004d5a5
lea rcx, [0x18006ccbc]
call fcn.180054cd8
cmp dword [0x18006ccbc], 0xffffffff
jne 0x18004d5a5
lea rcx, [0x1800579c0]
call fcn.180054b2c
lea rcx, [0x18006ccbc]
call fcn.180054c78
mov rdx, qword [0x18006cbf8]
mov qword [0x18006cc00], rdx
movabs rax, 0x1419927f8
mov rax, qword [rax]
mov rsi, qword [rax + 8]
mov edi, dword [rax + 0x10]
xor ebx, ebx
test edi, edi
je 0x18004d622
nop dword [rax]
lea eax, [rbx*8]
mov rax, qword [rax + rsi]
mov qword [rbp + 0x300], rax
cmp rdx, qword [0x18006cc08]
je 0x18004d602
mov qword [rdx], rax
mov rdx, qword [0x18006cc00]
add rdx, 8
mov qword [0x18006cc00], rdx
jmp 0x18004d61c
lea r8, [rbp + 0x300]
lea rcx, [0x18006cbf8]
call fcn.180013150
mov rdx, qword [0x18006cc00]
inc ebx
cmp ebx, edi
jb 0x18004d5d0
xor r14d, r14d
sub rdx, qword [0x18006cbf8]
sar rdx, 3
test rdx, rdx
je 0x18004dc1a
xor esi, esi
movss xmm11, dword [0x18006294c]
movss xmm12, dword [0x180062930]
movabs r12, 0x141995708
movabs r15, 0x14020e2d0
mov rax, qword [0x18006cbf8]
mov rbx, qword [rsi + rax]
mov rcx, rbx
movabs rax, 0x140246df0
call rax
test al, al
je 0x18004dbeb
movss xmm0, dword [rbx + 0x1078]
xorps xmm8, xmm8
comiss xmm0, xmm8
jbe 0x18004dbeb
mov rax, qword [0x18006cbf8]
mov rcx, qword [rsi + rax]
cmp byte [rcx + 0x2f8], 0
je 0x18004dbeb
movabs rax, 0x1419b5838
mov rax, qword [rax]
mov edx, dword [rax + 0x3c]
cmp edx, 0x64
jne 0x18004d6cf
cmp dword [rcx + 0x3c], 0xc8
jmp 0x18004d6df
cmp edx, 0xc8
jne 0x18004d8a4
cmp dword [rcx + 0x3c], 0x64
jne 0x18004d8a4
mov rax, qword [0x18006c068]
cmp byte [rax + 0x10], 0
je 0x18004d8a4
movsd xmm7, qword [rcx + 0x24c]
mov eax, dword [rcx + 0x254]
mov dword [rbp + 0x18], eax
movss xmm6, dword [rcx + 0x17e4]
call r15
movaps xmm8, xmm0
addss xmm8, xmm6
xor edi, edi
movaps xmm1, xmm7
shufps xmm1, xmm1, 0x55
movsd qword [rbp + 0x10], xmm7
movss dword [rbp + 0x24], xmm1
movss xmm9, dword [rbp + 0x18]
movss xmm10, dword [rbp + 0x10]
movabs r15, 0x140f51520
nop dword [rax]
nop dword [rax + rax]
movd xmm7, edi
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [0x1800628cc]
mulss xmm7, dword [0x1800628a8]
divss xmm7, dword [0x180062944]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
mulss xmm6, xmm8
addss xmm6, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm0, xmm10
movss dword [rbp + 0x28], xmm6
movsd xmm1, qword [rbp + 0x20]
movss xmm1, xmm0
movsd qword [rbp + 0x20], xmm1
movsd qword [rbp], xmm1
mov eax, dword [rbp + 0x28]
mov dword [rbp + 8], eax
mov rcx, qword [r12]
add rcx, 0x270
lea r8, [rbp - 0x10]
lea rdx, [rbp]
call r15
movss xmm0, dword [rbp - 0x10]
movss dword [rbp + 0x310], xmm0
movss xmm1, dword [rbp - 0xc]
movss dword [rbp + 0x314], xmm1
mov r8d, dword [r13 + 0x7c]
mov eax, dword [r13 + 0x78]
cmp eax, r8d
jne 0x18004d81f
lea ecx, [rax + 1]
test r8d, r8d
je 0x18004d806
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18004d80b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [r13 + 0x78]
call fcn.180033500
mov eax, dword [r13 + 0x78]
movsxd rdx, eax
mov rcx, qword [r13 + 0x80]
mov rax, qword [rbp + 0x310]
mov qword [rcx + rdx*8], rax
mov r8d, dword [r13 + 0x78]
inc r8d
mov dword [r13 + 0x78], r8d
inc edi
cmp edi, 0x63
jle 0x18004d750
mov rax, qword [0x18006c068]
movups xmm0, xmmword [rax + 0x64]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
movss xmm9, dword [0x1800628ac]
movss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 1
mov r9d, eax
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.18003bb70
mov dword [r13 + 0x78], 0
xorps xmm8, xmm8
movabs r15, 0x14020e2d0
jmp 0x18004d8ad
movss xmm9, dword [0x1800628ac]
mov rax, qword [0x18006c068]
cmp byte [rax + 0xc], 0
je 0x18004dbeb
mov rax, qword [0x18006cbf8]
mov rcx, qword [rsi + rax]
add rcx, 0x4508
call fcn.180054570
mov rcx, rax
movabs rax, qword [0x141995708]
lea r8, [rax + 0x270]
lea rdx, [rbp + 0x300]
movabs rax, 0x14094d030
call rax
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [rbp + 0x304]
addss xmm0, xmm14
movss dword [rbp + 0x304], xmm0
mov rax, qword [0x18006cbf8]
mov rbx, qword [rsi + rax]
movss xmm3, dword [rbx + 0x1078]
cvtps2pd xmm3, xmm3
movq r9, xmm3
lea r8, str.H:_.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm1, dword [rbp + 0x304]
subss xmm1, xmm13
movss xmm0, dword [rbp + 0x300]
subss xmm0, xmm11
movss dword [rbp + 0x318], xmm0
movss dword [rbp + 0x31c], xmm1
test eax, 0xff000000
je 0x18004da24
lea rax, [rbp + 0xe0]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18004d9b2
lea rdx, [rbp + 0xe0]
add rdx, rcx
lea rax, [rbp + 0xe0]
cmp rax, rdx
je 0x18004da24
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rdx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x318]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
movss xmm3, dword [rbx + 0x338]
cvtps2pd xmm3, xmm3
movq r9, xmm3
lea r8, str.M:_.0f
mov edx, 0xc8
lea rcx, [rbp + 0xe0]
call fcn.18004a2e0
movaps xmm0, xmmword [0x180062d10]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm7, dword [rbp + 0x304]
movaps xmm1, xmm7
subss xmm1, xmm15
movss xmm6, dword [rbp + 0x300]
movaps xmm0, xmm6
subss xmm0, xmm11
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
test eax, 0xff000000
je 0x18004db25
lea rcx, [rbp + 0xe0]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18004daa6
lea rcx, [rbp + 0xe0]
add rcx, rax
lea rax, [rbp + 0xe0]
cmp rax, rcx
je 0x18004db25
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
movss xmm7, dword [rbp + 0x304]
movss xmm6, dword [rbp + 0x300]
mov rax, qword [0x18006c068]
cmp byte [rax + 9], 1
je 0x18004dbeb
cmp byte [rax + 0xb], 1
je 0x18004dbeb
lea r8, [rbx + 0x43a0]
cmp dword [r8 + 0x18], 0x10
jbe 0x18004db51
mov r8, qword [r8]
movaps xmm0, xmmword [0x180062c30]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r9d, eax
addss xmm7, xmm9
subss xmm6, xmm12
movss dword [rbp - 0x50], xmm6
movss dword [rbp - 0x4c], xmm7
test eax, 0xff000000
je 0x18004dbeb
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x18004db90
add rcx, r8
cmp r8, rcx
je 0x18004dbeb
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x50]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
inc r14d
add rsi, 8
mov rcx, qword [0x18006cc00]
sub rcx, qword [0x18006cbf8]
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x18004d661
mov r15, qword [rbp - 0x30]
mov r12d, 4
mov eax, dword [r15 + r12]
cmp dword [0x18006ccc0], eax
jle 0x18004dc53
lea rcx, [0x18006ccc0]
call fcn.180054cd8
cmp dword [0x18006ccc0], 0xffffffff
jne 0x18004dc53
lea rcx, [0x180057950]
call fcn.180054b2c
lea rcx, [0x18006ccc0]
call fcn.180054c78
mov r14, qword [0x18006cbe0]
mov rbx, r14
mov qword [0x18006cbe8], rbx
movabs rax, 0x141999518
mov rax, qword [rax]
mov r15, qword [rax + 8]
mov esi, dword [rax + 0x10]
xor edi, edi
test esi, esi
je 0x18004dcdc
nop
lea eax, [rdi*8]
mov rax, qword [rax + r15]
mov qword [rbp + 0x300], rax
cmp rbx, qword [0x18006cbf0]
je 0x18004dcb2
mov qword [rbx], rax
mov rbx, qword [0x18006cbe8]
add rbx, 8
mov qword [0x18006cbe8], rbx
jmp 0x18004dccf
lea r8, [rbp + 0x300]
mov rdx, rbx
lea rcx, [0x18006cbe0]
call fcn.180013150
mov rbx, qword [0x18006cbe8]
inc edi
cmp edi, esi
jb 0x18004dc80
mov r14, qword [0x18006cbe0]
xor r12d, r12d
mov dword [rbp + 0x300], r12d
mov rax, rbx
sub rax, r14
sar rax, 3
xorps xmm14, xmm14
test rax, rax
je 0x18004e064
xor r15d, r15d
movsd xmm11, qword [0x1800628b0]
movss xmm13, dword [0x180062988]
movss xmm12, dword [0x18006297c]
movss xmm10, dword [0x180062978]
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r15 + r14]
movabs rax, 0x1419b5838
mov rsi, qword [rax]
mov eax, dword [rsi + 0x3c]
cmp eax, 0x64
jne 0x18004dd52
cmp dword [rdi + 0x3c], 0xc8
jmp 0x18004dd61
cmp eax, 0xc8
jne 0x18004e040
cmp dword [rdi + 0x3c], 0x64
jne 0x18004e040
mov rax, qword [0x18006c068]
cmp byte [rax + 0x11], 0
je 0x18004e040
movss xmm0, dword [rdi + 0x1078]
comiss xmm0, xmm14
jbe 0x18004e040
movsd xmm1, qword [rdi + 0x24c]
mov eax, dword [rdi + 0x254]
mov dword [rbp + 0x18], eax
movsd xmm0, qword [rsi + 0x24c]
mov eax, dword [rsi + 0x254]
mov dword [rbp + 0x28], eax
movsd qword [rbp + 0x20], xmm0
subss xmm0, xmm1
cvtss2sd xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rbp + 0x28]
subss xmm1, dword [rbp + 0x18]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x18004ddee
sqrtsd xmm0, xmm0
jmp 0x18004ddf3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm13, xmm0
jb 0x18004e040
movsd xmm1, qword [rdi + 0x24c]
mov eax, dword [rdi + 0x254]
mov dword [rbp - 8], eax
movsd xmm0, qword [rsi + 0x24c]
mov eax, dword [rsi + 0x254]
mov dword [rbp + 8], eax
movsd qword [rbp], xmm0
movsd qword [rbp - 0x10], xmm1
subss xmm0, xmm1
cvtss2sd xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rbp + 8]
subss xmm1, dword [rbp - 8]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x18004de6a
sqrtsd xmm0, xmm0
jmp 0x18004de6f
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
comiss xmm12, xmm0
jb 0x18004de8a
movaps xmm0, xmmword [0x180062bf0]
movups xmmword [rbp - 0x80], xmm0
lea rsi, [rbp - 0x80]
jmp 0x18004de9f
movaps xmm0, xmmword [0x180062c20]
movups xmmword [rbp + 0xb8], xmm0
lea rsi, [rbp + 0xb8]
movsd xmm1, qword [rdi + 0x24c]
mov eax, dword [rdi + 0x254]
mov dword [rbp - 0x48], eax
xor edi, edi
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp - 0x50], xmm1
movss dword [rbp - 0x5c], xmm0
lea rbx, [r13 + 0x78]
movss xmm8, dword [rbp - 0x48]
movss xmm9, dword [rbp - 0x50]
movabs r13, 0x141995708
movabs r12, 0x140f51520
nop word [rax + rax]
movd xmm7, edi
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [0x1800628cc]
mulss xmm7, dword [0x1800628a8]
divss xmm7, dword [0x180062944]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
mulss xmm6, xmm10
addss xmm6, xmm8
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm10
addss xmm0, xmm9
movss dword [rbp - 0x58], xmm6
movsd xmm1, qword [rbp - 0x60]
movss xmm1, xmm0
movsd qword [rbp - 0x60], xmm1
movsd qword [rbp + 0x50], xmm1
mov eax, dword [rbp - 0x58]
mov dword [rbp + 0x58], eax
mov rcx, qword [r13]
add rcx, 0x270
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x50]
call r12
movss xmm0, dword [rbp + 0x40]
movss dword [rbp + 0x310], xmm0
movss xmm1, dword [rbp + 0x44]
movss dword [rbp + 0x314], xmm1
mov r8d, dword [rbx + 4]
mov eax, dword [rbx]
cmp eax, r8d
jne 0x18004dfba
lea ecx, [rax + 1]
test r8d, r8d
je 0x18004dfa4
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18004dfa9
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180033500
mov eax, dword [rbx]
movsxd rdx, eax
mov rcx, qword [rbx + 8]
mov rax, qword [rbp + 0x310]
mov qword [rcx + rdx*8], rax
mov r8d, dword [rbx]
inc r8d
mov dword [rbx], r8d
inc edi
cmp edi, 0x63
jle 0x18004def0
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0xa8], xmm0
lea rcx, [rbp + 0xa8]
call fcn.18001f090
movss xmm0, dword [0x1800628ac]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, eax
mov r13, qword [rbp + 0x308]
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.18003bb70
mov dword [rbx], 0
mov rbx, qword [0x18006cbe8]
mov r14, qword [0x18006cbe0]
mov r12d, dword [rbp + 0x300]
inc r12d
mov dword [rbp + 0x300], r12d
add r15, 8
mov rcx, rbx
sub rcx, r14
sar rcx, 3
movsxd rax, r12d
cmp rax, rcx
jb 0x18004dd30
mov rax, qword [rbp - 0x30]
mov ecx, 4
mov eax, dword [rax + rcx]
cmp dword [0x18006ccb8], eax
jle 0x18004e0a5
lea rcx, [0x18006ccb8]
call fcn.180054cd8
cmp dword [0x18006ccb8], 0xffffffff
jne 0x18004e0a5
lea rcx, [0x1800578e0]
call fcn.180054b2c
lea rcx, [0x18006ccb8]
call fcn.180054c78
mov rax, qword [0x18006cbc8]
mov qword [0x18006cbd0], rax
movabs rax, 0x141995748
mov rax, qword [rax]
mov rsi, qword [rax + 8]
mov edi, dword [rax + 0x10]
xor ebx, ebx
test edi, edi
je 0x18004e11f
nop dword [rax]
lea eax, [rbx*8]
mov rax, qword [rax + rsi]
mov qword [rbp + 0x300], rax
mov rcx, qword [0x18006cbd0]
cmp rcx, qword [0x18006cbd8]
je 0x18004e0ff
mov qword [rcx], rax
add qword [0x18006cbd0], 8
jmp 0x18004e119
lea r8, [rbp + 0x300]
mov rdx, qword [0x18006cbd0]
lea rcx, [0x18006cbc8]
call fcn.180013150
inc ebx
cmp ebx, edi
jb 0x18004e0d0
xor r12d, r12d
mov rax, qword [0x18006cbd0]
sub rax, qword [0x18006cbc8]
sar rax, 3
test rax, rax
je 0x18004ea59
xor r15d, r15d
movabs rsi, 0x100000001b3
movss xmm7, dword [0x180062910]
movss xmm8, dword [0x180062918]
movss xmm9, dword [0x180062920]
mov rax, qword [0x18006cbc8]
mov rbx, qword [rax + r15*8]
movabs rdi, 0x1419b5838
mov rcx, qword [rdi]
mov eax, dword [rcx + 0x3c]
cmp eax, 0x64
jne 0x18004e18d
cmp dword [rbx + 0x3c], 0xc8
jmp 0x18004e19c
cmp eax, 0xc8
jne 0x18004e348
cmp dword [rbx + 0x3c], 0x64
jne 0x18004e348
mov rax, qword [0x18006c068]
cmp byte [rax + 0xd], 0
je 0x18004e348
movss xmm6, dword [rcx + 0x16f8]
addss xmm6, dword [rcx + 0x179c]
mov rcx, rbx
movabs rax, 0x140246df0
call rax
test al, al
je 0x18004e348
movss xmm0, dword [rbx + 0x1078]
comiss xmm0, xmm14
jbe 0x18004e348
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
comiss xmm6, dword [rcx + 0x1078]
jb 0x18004e348
movss xmm0, dword [rcx + 0x179c]
comiss xmm0, dword [0x1800628f0]
jbe 0x18004e348
add rcx, 0x4508
call fcn.180054570
mov rcx, rax
movabs rax, qword [0x141995708]
lea r8, [rax + 0x270]
lea rdx, [rbp + 0x308]
movabs rax, 0x14094d030
call rax
mov rbx, qword [0x18006c9d0]
test rbx, rbx
je 0x18004e348
mov dword [rbp + 0x310], 0x3f800000
mov dword [rbp + 0x314], 0x3f800000
mov qword [rbp + 0x318], 0
movss xmm3, dword [rbp + 0x30c]
subss xmm3, dword [0x180062928]
movaps xmm2, xmm3
addss xmm2, xmm7
movss xmm1, dword [rbp + 0x308]
subss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, xmm9
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm2
movss dword [rbp - 0x50], xmm1
movss dword [rbp - 0x4c], xmm3
mov rdi, qword [r13 + 0x98]
cmp rbx, rdi
je 0x18004e2d2
mov rdx, rbx
mov rcx, r13
call fcn.18003b880
mov edx, 6
lea r8d, [rdx - 2]
mov rcx, r13
call fcn.18003b900
mov dword [rsp + 0x28], 0xffffffff
lea rax, [rbp + 0x310]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x318]
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
mov rcx, r13
call fcn.18003ba20
cmp rbx, rdi
je 0x18004e33e
movsxd rcx, dword [r13 + 0x68]
lea eax, [rcx - 1]
mov dword [r13 + 0x68], eax
test eax, eax
jne 0x18004e326
xor eax, eax
jmp 0x18004e32f
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [r13 + 0x98], rax
mov rcx, r13
call fcn.18003b630
movabs rdi, 0x1419b5838
mov rax, qword [0x18006c068]
movabs rbx, 0xcbf29ce484222325
cmp byte [rax + 0x1c], 0
je 0x18004e47a
mov rax, qword [0x18006cbc8]
mov r9, qword [rax + r15*8]
mov r8, qword [r9 + 0x4150]
mov rdx, rbx
nop dword [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, rsi
test cl, cl
jne 0x18004e380
mov rcx, qword [0x18006cb60]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004e3bc
cmp qword [rax + 0x20], rdx
jge 0x18004e3b0
mov rax, qword [rax + 0x10]
jmp 0x18004e3b6
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18004e3a4
cmp byte [rcx + 0x19], 0
jne 0x18004e47a
cmp rdx, qword [rcx + 0x20]
jl 0x18004e47a
cmp rcx, qword [0x18006cb60]
je 0x18004e47a
mov rcx, qword [0x18006cb30]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004e408
nop
cmp qword [rax + 0x20], r9
jae 0x18004e3fc
mov rax, qword [rax + 0x10]
jmp 0x18004e402
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18004e3f0
cmp byte [rcx + 0x19], 0
jne 0x18004e418
cmp r9, qword [rcx + 0x20]
jb 0x18004e418
mov al, 1
jmp 0x18004e41a
xor al, al
test al, al
jne 0x18004e47a
mov qword [rbp - 0x80], rdx
movsd xmm1, qword [r9 + 0x24c]
mov eax, dword [r9 + 0x254]
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x6c], 0
mov qword [rbp + 0xb8], r9
movups xmm0, xmmword [rbp - 0x80]
unpcklpd xmm0, xmm1
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp + 0xc0], xmm0
movsd xmm0, qword [rbp - 0x70]
movsd qword [rbp + 0xd0], xmm0
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x50]
lea rcx, [0x18006cb30]
call fcn.18004f940
mov rax, qword [0x18006c068]
cmp byte [rax + 0x1b], 0
je 0x18004ea35
mov r14, qword [rdi]
test r14, r14
je 0x18004e4b5
mov rdx, qword [r14 + 0x4150]
mov rdi, rbx
nop dword [rax]
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rdi, rcx
imul rdi, rsi
test cl, cl
jne 0x18004e4a0
jmp 0x18004e4b7
xor edi, edi
xor r9d, r9d
lea r8, [rbp + 0x300]
xor edx, edx
lea rcx, [0x18006cc10]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x18004ead1
cmp dword [rbp + 0x300], 0
je 0x18004e56a
test r14, r14
je 0x18004e550
mov rax, qword [0x18006c068]
cmp dword [rax + 0x30], 0
jbe 0x18004e550
mov r9, qword [r14 + 0x4150]
mov r8, rbx
movsx rdx, byte [r9]
lea r9, [r9 + 1]
xor r8, rdx
imul r8, rsi
test dl, dl
jne 0x18004e501
mov qword [rbp + 0x20], r8
lea rdx, [rbp + 0x20]
mov rcx, qword [0x18006c070]
call fcn.1800163e0
mov rcx, qword [0x18006c068]
mov edx, dword [rcx + 0x30]
dec edx
lea r9, [rdx + rdx*2]
add r9, r9
mov rdx, qword [rax]
mov r8d, dword [rdx + r9*8 + 0x28]
mov rdx, qword [rdx + r9*8]
mov rcx, r14
call fcn.180054340
nop
xor r8d, r8d
xor edx, edx
lea rcx, [0x18006cc10]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x18004ead1
mov rcx, qword [r14 + 0x4140]
sub rcx, qword [r14 + 0x4138]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18004e605
mov r8, qword [r14 + 0x4150]
mov rdx, rbx
nop
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, rsi
test cl, cl
jne 0x18004e5a0
movabs rax, 0xf984545cfa78101f
cmp rdx, rax
je 0x18004ea35
movabs rax, 0x2d0a42b1a4f18a79
cmp rdx, rax
je 0x18004ea35
mov rax, qword [r14 + 0x4138]
mov edx, dword [r14 + 0x4170]
cmp dword [rax + 0x20], edx
je 0x18004e605
mov dword [rax + 0x20], edx
mov dl, 1
lea rcx, [r14 + 0x4138]
movabs rax, 0x1401a75a0
call rax
nop
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
mov r8, qword [rcx + 0x4150]
nop word [rax + rax]
movsx rdx, byte [r8]
lea r8, [r8 + 1]
xor rbx, rdx
imul rbx, rsi
test dl, dl
jne 0x18004e620
movabs rax, 0x140211370
call rax
mov rsi, rax
test rax, rax
je 0x18004e998
mov rcx, qword [0x18006c068]
cmp byte [rcx + 0x1d], 0
je 0x18004e77a
movabs rax, 0xdccb83f12e64ce0
cmp rbx, rax
je 0x18004e67e
movabs rax, 0x80dccc539a84ddb5
cmp rbx, rax
jne 0x18004e77a
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
movsd xmm0, qword [rcx + 0x24c]
movsd qword [rbp], xmm0
mov eax, dword [rcx + 0x254]
mov dword [rbp + 8], eax
movabs rax, qword [0x141995708]
lea rcx, [rax + 0x270]
lea r8, [rbp - 0x10]
lea rdx, [rbp]
movabs rax, 0x140f51520
call rax
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r8d, eax
movss xmm0, dword [rbp - 0x10]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [rbp - 0xc]
movss dword [rbp - 0x2c], xmm1
lea rdx, str.Timo
movabs rax, 0xdccb83f12e64ce0
cmp rbx, rax
lea rax, str.Clown
cmove rdx, rax
test r8d, 0xff000000
je 0x18004e77a
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18004e720
add rcx, rdx
cmp rdx, rcx
je 0x18004e77a
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm14
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x30]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
movabs rax, 0x37d1bfa7d195ebf9
cmp rbx, rax
je 0x18004e84b
movabs rax, 0x92fe97d6caa88c20
cmp rbx, rax
je 0x18004e84b
movabs rax, 0xa854d43ddb55ddcc
cmp rbx, rax
je 0x18004e84b
movabs rax, 0xb8f3ad4931029355
cmp rbx, rax
je 0x18004e84b
movabs rax, 0xaedcd71796ade290
cmp rbx, rax
movabs rax, 0xdb76082138fdee7f
je 0x18004e855
cmp rbx, rax
je 0x18004e855
movabs rax, 0xf17870527758213f
cmp rbx, rax
je 0x18004ea2b
movabs rax, 0x8499db0ed7bb81cf
cmp rbx, rax
je 0x18004ea2b
mov edx, dword [rsi + 0x4170]
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
cmp edx, 0xffffffff
je 0x18004ea2b
add rcx, 0x4138
cmp dword [rcx + 0x38], edx
je 0x18004ea2b
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rax, 0x1401a75a0
call rax
nop
jmp 0x18004ea2b
movabs rax, 0xdb76082138fdee7f
test r14, r14
je 0x18004e863
cmp rsi, r14
jne 0x18004ea2b
cmp rbx, rax
jne 0x18004e953
movabs rax, 0x222b948fbf568318
cmp rdi, rax
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
jne 0x18004e927
mov r8d, dword [rsi + 0x4170]
cmp r8d, 0xffffffff
je 0x18004ea2b
add rcx, 0x4138
cmp dword [rcx + 0x38], r8d
je 0x18004ea2b
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
mov qword [rcx + 8], rax
mov dword [rsp + 0x80], 1
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x70], 0
lea rdi, [0x1800623f8]
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x50], 0xff
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea rdx, str.Yone
movabs rax, 0x1401bd980
call rax
nop
jmp 0x18004ea2b
add rcx, 0x4138
cmp dword [rcx + 0x38], 0
je 0x18004ea2b
mov dword [rcx + 0x38], 0
mov dl, 1
movabs rax, 0x1401a75a0
call rax
nop
jmp 0x18004ea2b
mov rax, qword [0x18006c068]
mov edx, dword [rax + 0x38]
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
cmp edx, 0xffffffff
je 0x18004ea2b
add rcx, 0x4138
cmp dword [rcx + 0x38], edx
je 0x18004ea2b
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rax, 0x1401a75a0
call rax
nop
jmp 0x18004ea2b
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x18004e9b8
movabs rax, 0xfca7b000ade2abcb
cmp rdi, rax
je 0x18004e9f6
jmp 0x18004ea2b
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x18004e9d8
movabs rax, 0x6972baf895e90386
cmp rdi, rax
je 0x18004e9f6
jmp 0x18004ea2b
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x18004ea2b
movabs rax, 0xf01bf70c1ff22b66
cmp rdi, rax
jne 0x18004ea2b
mov edx, dword [r14 + 0x4170]
mov rax, qword [0x18006cbc8]
mov rcx, qword [rax + r15*8]
cmp edx, 0xffffffff
je 0x18004ea2b
add rcx, 0x4138
cmp dword [rcx + 0x38], edx
je 0x18004ea2b
mov dword [rcx + 0x38], edx
mov dl, 1
movabs rax, 0x1401a75a0
call rax
nop
movabs rsi, 0x100000001b3
inc r12d
inc r15
mov rcx, qword [0x18006cbd0]
sub rcx, qword [0x18006cbc8]
sar rcx, 3
movsxd rax, r12d
cmp rax, rcx
jb 0x18004e164
mov rax, qword [0x18006c068]
cmp byte [rax + 0x1c], 0
je 0x18004f1ad
mov rbx, qword [0x18006cb40]
mov rbx, qword [rbx]
movss xmm10, dword [0x180062990]
cmp byte [rbx + 0x19], 0
jne 0x18004ed59
movabs r15, 0x555555555555555
lea r14, [0x18006cb60]
movss xmm8, dword [0x1800628e4]
movss xmm9, dword [0x1800628d4]
nop word [rax + rax]
mov rcx, qword [0x18006cb30]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004eae4
mov rdx, qword [rbx + 0x20]
cmp qword [rax + 0x20], rdx
jae 0x18004ead8
mov rax, qword [rax + 0x10]
jmp 0x18004eade
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18004eac5
cmp byte [rcx + 0x19], 0
jne 0x18004eaf8
mov rax, qword [rcx + 0x20]
cmp qword [rbx + 0x20], rax
jb 0x18004eaf8
mov al, 1
jmp 0x18004eafa
xor al, al
test al, al
jne 0x18004ec2a
mov rax, qword [rbx + 0x20]
mov qword [rbp + 0x20], rax
movsd xmm0, qword [rbx + 0x30]
movsd qword [rbp + 0x28], xmm0
mov eax, dword [rbx + 0x38]
mov dword [rbp + 0x30], eax
mov rsi, qword [rbx + 0x28]
movabs rax, 0x14199f6d8
movss xmm6, dword [rax]
mov rcx, qword [0x18006cb60]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x80], rax
xor r12d, r12d
mov dword [rbp - 0x78], r12d
cmp byte [rax + 0x19], r12b
jne 0x18004eb77
nop dword [rax + rax]
mov qword [rbp - 0x80], rax
cmp qword [rax + 0x20], rsi
jge 0x18004eb64
mov dword [rbp - 0x78], r12d
mov rax, qword [rax + 0x10]
jmp 0x18004eb71
mov dword [rbp - 0x78], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r12b
je 0x18004eb50
cmp byte [rcx + 0x19], r12b
jne 0x18004eb83
cmp rsi, qword [rcx + 0x20]
jge 0x18004ebe1
cmp qword [0x18006cb68], r15
je 0x18004f200
mov rdi, qword [0x18006cb60]
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r12
mov ecx, 0x30
call fcn.180054788
nop
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], r12d
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp - 0x48], r12
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp - 0x80], xmm0
mov r8, rax
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.1800134b0
mov rcx, rax
addss xmm6, dword [rcx + 0x28]
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x80], rax
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rbp - 0x78], xmm0
movsd xmm1, qword [rbp + 0x30]
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm6
shufps xmm1, xmm1, 0xe1
movsd qword [rbp + 0x30], xmm1
movsd qword [rbp - 0x68], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x30]
lea rcx, [0x18006cb50]
call fcn.18004f940
jmp 0x18004ecfc
movsd xmm7, qword [rbx + 0x30]
mov eax, dword [rbx + 0x38]
mov dword [rbp - 0x58], eax
movabs rax, qword [0x14199f728]
mov rcx, qword [rax + 0x240]
movss xmm6, dword [rcx + 0x6c]
movss xmm1, dword [rcx + 0x74]
movss xmm0, dword [rbp - 0x58]
divss xmm0, xmm10
divss xmm7, xmm10
mulss xmm7, dword [rcx + 0x70]
addss xmm7, dword [rcx + 0x68]
addss xmm6, xmm1
mulss xmm1, xmm0
subss xmm6, xmm1
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov edi, eax
movss dword [rbp + 0x300], xmm7
movss dword [rbp + 0x304], xmm6
test eax, 0xff000000
je 0x18004ecfc
mov dword [rsp + 0x28], 0x63
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm14
movaps xmm2, xmm9
lea rdx, [rbp + 0x300]
mov rcx, r13
call fcn.18003d520
movss xmm0, dword [0x1800628ac]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [r13 + 0x78]
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.18003bb70
mov dword [r13 + 0x78], 0
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x18004ed28
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004ed23
cmp rbx, qword [rax + 0x10]
jne 0x18004ed23
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18004ed10
mov rbx, rax
jmp 0x18004ed4f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18004ed4f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18004ed40
cmp byte [rbx + 0x19], 0
je 0x18004eab0
lea rcx, [0x18006cb40]
call fcn.18004f560
movzx r9d, byte [rbp + 0x300]
mov r8, qword [0x18006cb40]
mov rdx, qword [0x18006cb30]
mov rdx, qword [rdx + 8]
lea rcx, [0x18006cb40]
call fcn.180051a10
mov rcx, qword [0x18006cb40]
mov qword [rcx + 8], rax
mov rax, qword [0x18006cb38]
mov qword [0x18006cb48], rax
mov r8, qword [0x18006cb40]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x18004ee03
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
jne 0x18004edcf
nop
mov rdx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18004edc0
mov qword [r8], rdx
mov rdx, qword [0x18006cb40]
mov rcx, qword [rdx + 8]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x18004edfd
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x18004edf0
mov qword [rdx + 0x10], rcx
jmp 0x18004ee11
mov qword [r8], r8
mov rax, qword [0x18006cb40]
mov qword [rax + 0x10], rax
mov rdi, qword [0x18006cb30]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x18004ee4f
mov r8, qword [rbx + 0x10]
lea rdx, [0x18006cb30]
lea rcx, [0x18006cb30]
call fcn.18001b110
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x40
call fcn.180054b4c
cmp byte [rbx + 0x19], 0
je 0x18004ee22
mov qword [rdi + 8], rdi
mov qword [rdi], rdi
mov qword [rdi + 0x10], rdi
xor r10d, r10d
mov qword [0x18006cb38], r10
mov rax, qword [0x18006cb50]
mov rbx, qword [rax]
cmp rbx, rax
je 0x18004f1ad
movabs rdi, 0x14199f728
movss xmm8, dword [0x1800628d8]
nop word [rax + rax]
movsd xmm6, qword [rbx + 0x30]
mov eax, dword [rbx + 0x38]
mov dword [rbp - 0x58], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x240]
movss xmm7, dword [rcx + 0x6c]
movss xmm1, dword [rbp - 0x58]
divss xmm1, xmm10
divss xmm6, xmm10
mulss xmm6, dword [rcx + 0x70]
addss xmm6, dword [rcx + 0x68]
addss xmm7, dword [rcx + 0x74]
mulss xmm1, dword [rcx + 0x74]
subss xmm7, xmm1
movss xmm0, dword [rbx + 0x3c]
movabs rax, 0x14199f6d8
subss xmm0, dword [rax]
comiss xmm0, xmm14
jbe 0x18004f0e4
cvttss2si r8d, xmm0
lea r9, [rbp - 0x3b]
test r8d, r8d
jns 0x18004ef40
neg r8d
nop
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18004ef00
dec r9
mov byte [r9], 0x2d
jmp 0x18004ef6a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18004ef40
mov qword [rbp - 0x30], r10
mov qword [rbp - 0x20], r10
mov r10d, 0xf
mov qword [rbp - 0x18], r10
mov byte [rbp - 0x30], 0
lea rax, [rbp - 0x3b]
cmp r9, rax
je 0x18004efa0
lea r8, [rbp - 0x3b]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x30]
call fcn.180008470
mov r10, qword [rbp - 0x18]
lea r8, [rbp - 0x30]
mov r9, qword [rbp - 0x30]
cmp r10, 0x10
cmovae r8, r9
movaps xmm0, xmmword [0x180062d50]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.18001f090
mov r11d, eax
subss xmm7, xmm8
subss xmm6, dword [0x1800628f0]
movss dword [rbp + 0x300], xmm6
movss dword [rbp + 0x304], xmm7
test eax, 0xff000000
je 0x18004f058
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x18004eff2
add rcx, r8
cmp r8, rcx
je 0x18004f058
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm14
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r11d
lea r9, [rbp + 0x300]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.180041d70
mov r10, qword [rbp - 0x18]
mov r9, qword [rbp - 0x30]
cmp r10, 0x10
jb 0x18004f08f
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x18004f087
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004f1a6
mov rcx, r9
call fcn.180054b4c
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x18004f0be
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004f0b6
cmp rbx, qword [rax + 0x10]
jne 0x18004f0b6
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18004f0a3
mov rbx, rax
jmp 0x18004f195
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18004f195
nop
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18004f0d0
jmp 0x18004f195
mov rdx, rbx
lea r8, [rbx + 0x10]
mov rax, qword [r8]
cmp byte [rax + 0x19], 0
je 0x18004f138
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004f113
nop
cmp rbx, qword [rax + 0x10]
jne 0x18004f113
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18004f100
mov rbx, rax
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], 0
jne 0x18004f17c
mov rax, rdx
cmp rax, qword [rcx + 0x10]
jne 0x18004f17c
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x18004f123
jmp 0x18004f17c
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18004f15f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18004f150
mov rax, qword [r8]
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18004f17c
nop dword [rax + rax]
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x18004f170
lea rcx, [0x18006cb50]
call fcn.180014550
mov edx, 0x40
mov rcx, rax
call fcn.180054b4c
cmp rbx, qword [0x18006cb50]
je 0x18004f1ad
xor r10d, r10d
jmp 0x18004ee90
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea r11, [rsp + 0x3c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180003c90
int3