Function at 0x180088650
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x110
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r13d, r13d
movabs r14, 0x2aaaaaaaaaaaaaab
cmp byte [0x1803f2170], r13b
jne 0x180088718
mov byte [0x1803f2170], 1
lea rcx, [0x1803f24d0]
lea rax, [0x1803f2300]
cmp rcx, rax
je 0x1800886e3
mov r8, qword [0x1803f2308]
sub r8, qword [0x1803f2300]
mov rax, r14
imul r8
sar rdx, 3
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [0x1803f2300]
call fcn.180092870
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
mov rax, r14
imul rcx
sar rdx, 3
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [0x1803f2300]
lea rcx, [0x1803f2620]
call fcn.180092870
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f2155], r13b
je 0x180088795
mov byte [0x1803f2155], r13b
lea rax, [r8 + 0x7118a90]
test rax, rax
je 0x180088795
mov rax, qword [rax]
test rax, rax
je 0x180088795
lea rcx, [rax - 0x30]
test rcx, rcx
je 0x180088751
movzx edx, byte [rcx]
jmp 0x180088753
xor dl, dl
movzx r9d, dl
mov dword [0x1803f216c], r9d
lea rcx, [rax + 0x50]
xorps xmm0, xmm0
test rcx, rcx
je 0x180088770
movsd xmm1, qword [rcx]
jmp 0x180088773
xorps xmm1, xmm1
cvttsd2si r10d, xmm1
mov dword [0x1803f2148], r10d
add rax, 0x20
je 0x180088789
movsd xmm0, qword [rax]
cvttsd2si edx, xmm0
mov dword [0x1803f2140], edx
jmp 0x1800887a9
mov r9d, dword [0x1803f216c]
mov r10d, dword [0x1803f2148]
mov edx, dword [0x1803f2140]
movabs r12, 0x7ffffffffffe
cmp byte [0x1803f2152], r13b
je 0x180088811
mov byte [0x1803f2152], r13b
lea rcx, [r8 + 0x7118a90]
test rcx, rcx
je 0x180088811
mov rcx, qword [rcx]
test rcx, rcx
je 0x180088811
lea rax, [rcx - 0x31]
cmp rax, r12
ja 0x1800887e4
mov byte [rcx - 0x30], r9b
movd xmm0, r10d
cvtdq2pd xmm0, xmm0
lea rax, [rcx + 0x4f]
cmp rax, r12
ja 0x1800887fb
movsd qword [rcx + 0x50], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
lea rax, [rcx + 0x1f]
cmp rax, r12
ja 0x180088811
movsd qword [rcx + 0x20], xmm0
cmp byte [0x1803f216a], r13b
je 0x180088842
mov byte [0x1803f216a], r13b
lea rcx, [r8 + 0x7118a90]
test rcx, rcx
je 0x180088842
mov rcx, qword [rcx]
test rcx, rcx
je 0x180088842
lea rax, [rcx + 0x1f]
cmp rax, r12
ja 0x180088842
mov qword [rcx + 0x20], r13
cmp byte [0x1803f215b], r13b
je 0x18008888d
mov byte [0x1803f215b], r13b
lea rcx, [r8 + 0x7118a90]
test rcx, rcx
je 0x18008888d
mov rcx, qword [rcx]
test rcx, rcx
je 0x18008888d
lea rax, [rcx - 0x31]
cmp rax, r12
ja 0x180088873
mov byte [rcx - 0x30], 4
lea rax, [rcx + 0x4f]
cmp rax, r12
ja 0x180088880
mov qword [rcx + 0x50], r13
lea rax, [rcx + 0x1f]
cmp rax, r12
ja 0x18008888d
mov qword [rcx + 0x20], r13
movsd xmm1, qword [0x18013bc58]
cmp byte [0x1803f214d], r13b
je 0x1800888d4
mov byte [0x1803f214d], r13b
lea rax, [r8 + 0x7118a90]
test rax, rax
je 0x1800888d4
mov rcx, qword [rax]
test rcx, rcx
je 0x1800888d4
add rcx, 0x20
je 0x1800888d4
movsd xmm0, qword [rcx]
lea rax, [rcx - 1]
cmp rax, r12
ja 0x1800888d4
addsd xmm0, xmm1
movsd qword [rcx], xmm0
cmp byte [0x1803f215c], r13b
je 0x180088913
mov byte [0x1803f215c], r13b
lea rax, [r8 + 0x7118a90]
test rax, rax
je 0x180088913
mov rcx, qword [rax]
test rcx, rcx
je 0x180088913
add rcx, 0x20
je 0x180088913
movsd xmm0, qword [rcx]
subsd xmm0, xmm1
lea rax, [rcx - 1]
cmp rax, r12
ja 0x180088913
movsd qword [rcx], xmm0
cmp byte [0x1803f2172], r13b
je 0x18008897a
mov byte [0x1803f2172], r13b
lea rdx, [0x1803f09a0]
lea rcx, [0x1803f24e8]
call fcn.1800678b0
lea rdx, [0x1803f099c]
lea rcx, [0x1803f2580]
call fcn.1800678b0
lea r8, [0x1803f25f0]
lea rdx, [0x1803f0998]
xor ecx, ecx
call fcn.180067d60
lea r8, [0x1803f2518]
lea rdx, [0x1803f09a4]
xor ecx, ecx
call fcn.180067d60
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f2145], r13b
je 0x1800889aa
mov byte [0x1803f2145], r13b
lea r8, [0x1803f25f0]
lea rdx, [0x1803f0998]
mov ecx, dword [0x1803f09a0]
call fcn.180067d60
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f213f], r13b
je 0x1800889da
mov byte [0x1803f213f], r13b
lea r8, [0x1803f2518]
lea rdx, [0x1803f09a4]
mov ecx, dword [0x1803f099c]
call fcn.180067d60
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f2147], r13b
je 0x180088b1c
mov byte [0x1803f2147], r13b
mov r9, qword [0x180137608]
add r9, r8
je 0x180088b1c
mov r9, qword [r9]
test r9, r9
je 0x180088b1c
movsxd rax, dword [0x1803f09a0]
imul rcx, rax, 0x2c4
movsxd rax, dword [0x1803f0998]
add rcx, rax
lea rdx, [r9 + rcx*8]
test rdx, rdx
je 0x180088a30
mov r10, qword [rdx]
jmp 0x180088a33
mov r10, r13
movsxd rax, dword [0x1803f099c]
imul rcx, rax, 0x2c4
movsxd rax, dword [0x1803f09a4]
add rcx, rax
lea r8, [r9 + rcx*8]
test r8, r8
je 0x180088a59
mov rcx, qword [r8]
jmp 0x180088a5c
mov rcx, r13
lea rax, [rdx - 1]
cmp rax, r12
ja 0x180088a68
mov qword [rdx], rcx
lea rax, [r8 - 1]
cmp rax, r12
ja 0x180088a74
mov qword [r8], r10
lea rdx, [r10 + 0x60]
test rdx, rdx
je 0x180088a82
mov r9, qword [rdx]
jmp 0x180088a85
mov r9, r13
add rcx, 0x60
je 0x180088a90
mov r8, qword [rcx]
jmp 0x180088a93
mov r8, r13
lea rax, [rdx - 1]
cmp rax, r12
ja 0x180088a9f
mov qword [rdx], r8
lea rax, [rcx - 1]
cmp rax, r12
ja 0x180088aab
mov qword [rcx], r9
lea rax, [rdx + 0x77]
cmp rax, r12
ja 0x180088ab8
mov qword [rdx + 0x78], r8
lea rax, [rcx + 0x77]
cmp rax, r12
ja 0x180088ac5
mov qword [rcx + 0x78], r9
lea rdx, [0x1803f09a0]
lea rcx, [0x1803f24e8]
call fcn.1800678b0
lea rdx, [0x1803f099c]
lea rcx, [0x1803f2580]
call fcn.1800678b0
lea r8, [0x1803f25f0]
lea rdx, [0x1803f0998]
xor ecx, ecx
call fcn.180067d60
lea r8, [0x1803f2518]
lea rdx, [0x1803f09a4]
xor ecx, ecx
call fcn.180067d60
mov r8, qword [0x1803f73d8]
movzx eax, byte [0x1803f2146]
movzx ecx, byte [0x1803f214f]
test cl, cl
jne 0x180088b36
test al, al
je 0x180088c29
lea rsi, [r8 + 0x7e48ff8]
test rsi, rsi
je 0x180088c29
mov rsi, qword [rsi]
test rsi, rsi
je 0x180088c29
test cl, cl
je 0x180088bc1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov rdx, qword [0x1803f2468]
sub rdx, qword [0x1803f2460]
je 0x180088ba3
lea rcx, [rbp - 0x68]
call fcn.18005e400
mov rdi, qword [rbp - 0x68]
mov rbx, qword [0x1803f2468]
mov rdx, qword [0x1803f2460]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rbp - 0x60], rax
lea rcx, [rsi + 0x343f8]
lea rdx, [rbp - 0x68]
call fcn.180063ff0
mov r8, qword [0x1803f73d8]
movzx eax, byte [0x1803f2146]
test al, al
je 0x180088c29
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov rdx, qword [0x1803f2390]
sub rdx, qword [0x1803f2388]
je 0x180088c12
lea rcx, [rbp - 0x68]
call fcn.18005e400
mov rdi, qword [rbp - 0x68]
mov rbx, qword [0x1803f2390]
mov rdx, qword [0x1803f2388]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rbp - 0x60], rax
lea rcx, [rsi + 0x34538]
lea rdx, [rbp - 0x68]
call fcn.180063ff0
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f216b], r13b
je 0x180088ca4
lea rax, [r8 + 0x7c39590]
test rax, rax
je 0x180088ca4
mov rax, qword [rax]
test rax, rax
je 0x180088ca4
add rax, 0x38
je 0x180088ca4
mov rcx, qword [rax]
test rcx, rcx
je 0x180088ca4
add rcx, 0x18
je 0x180088ca4
mov rcx, qword [rcx]
test rcx, rcx
je 0x180088ca4
lea rax, [rcx + 0x3d7]
cmp rax, r12
ja 0x180088c78
mov dword [rcx + 0x3d8], 3
lea rax, [rcx + 0x4e3]
cmp rax, r12
ja 0x180088c8e
mov dword [rcx + 0x4e4], 0x3f99999a
lea rax, [rcx + 0x4e7]
cmp rax, r12
ja 0x180088ca4
mov dword [rcx + 0x4e8], 0x3f800000
movss xmm6, dword [0x18013bd0c]
mov r9, qword [0x1803f2300]
cmp byte [0x1803f2158], r13b
je 0x180088fa9
mov byte [0x1803f2158], r13b
mov esi, r13d
mov rcx, qword [0x1803f2308]
sub rcx, r9
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180088fa9
mov rdi, r13
mov rbx, r13
mov eax, dword [rbx + r9 + 0x24]
shl eax, 3
movsxd rcx, eax
mov rdx, qword [0x180137600]
add rcx, rdx
lea rax, [r8 + 0xb8]
add rax, rcx
je 0x180088d1b
movss xmm0, dword [rax]
jmp 0x180088d1e
xorps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si ecx, xmm0
mov rax, qword [0x1803f24d0]
mov dword [rax + rbx + 0x20], ecx
mov rax, qword [0x1803f2300]
mov ecx, dword [rbx + rax + 0x24]
shl ecx, 3
movsxd rcx, ecx
add rcx, 0xbc
add rcx, rdx
add rcx, r8
je 0x180088d57
movss xmm0, dword [rcx]
jmp 0x180088d5a
xorps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si ecx, xmm0
mov rax, qword [0x1803f2620]
mov dword [rax + rbx + 0x20], ecx
mov rax, qword [0x1803f24d0]
mov r8d, dword [rax + rbx + 0x20]
lea r9, [rbp - 0x53]
test r8d, r8d
jns 0x180088dd0
neg r8d
nop word [rax + rax]
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 0x180088d90
dec r9
mov byte [r9], 0x2d
jmp 0x180088dfa
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 0x180088dd0
lea r8, [rbp - 0x53]
mov rdx, r9
lea rcx, [rbp - 0x50]
call fcn.180093c20
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r8, qword [rbp - 0x50]
lea rdi, [rdi + rdi*2]
shl rdi, 4
mov rcx, qword [0x1803f24d0]
add rcx, 0x28
add rcx, rdi
mov edx, 3
call fcn.180057660
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180088e73
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180088e6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180089193
call fcn.1800fed90
mov rax, qword [0x1803f2620]
mov r8d, dword [rax + rbx + 0x20]
lea r9, [rbp - 0x53]
test r8d, r8d
jns 0x180088ed0
neg r8d
nop dword [rax + rax]
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 0x180088e90
dec r9
mov byte [r9], 0x2d
jmp 0x180088efa
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 0x180088ed0
lea r8, [rbp - 0x53]
mov rdx, r9
lea rcx, [rbp - 0x50]
call fcn.180093c20
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r8, qword [rbp - 0x50]
mov rcx, qword [0x1803f2620]
add rcx, 0x28
add rcx, rdi
mov edx, 3
call fcn.180057660
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180088f6b
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180088f66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008919a
call fcn.1800fed90
inc esi
add rbx, 0x30
movsxd rdi, esi
mov rcx, qword [0x1803f2308]
mov r9, qword [0x1803f2300]
sub rcx, r9
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov r8, qword [0x1803f73d8]
cmp rdi, rdx
jb 0x180088cf4
cmp byte [0x1803f215e], r13b
je 0x1800890a7
mov byte [0x1803f215e], r13b
mov r11d, r13d
mov rcx, qword [0x1803f2308]
sub rcx, r9
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1800890a7
mov r10, r13
mov rbx, qword [0x180137600]
nop
mov rax, qword [0x1803f24d0]
movd xmm0, dword [rax + r10 + 0x20]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
mov eax, dword [r10 + r9 + 0x24]
shl eax, 3
movsxd rcx, eax
add rcx, rbx
lea rax, [rcx + 0xb7]
add rax, r8
cmp rax, r12
ja 0x180089033
movss dword [rcx + r8 + 0xb8], xmm0
mov r9, qword [0x1803f2300]
mov rax, qword [0x1803f2620]
movd xmm0, dword [rax + r10 + 0x20]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
mov eax, dword [r10 + r9 + 0x24]
shl eax, 3
movsxd rcx, eax
add rcx, rbx
lea rax, [rcx + 0xbb]
add rax, r8
cmp rax, r12
ja 0x180089076
movss dword [rcx + r8 + 0xbc], xmm0
mov r9, qword [0x1803f2300]
inc r11d
add r10, 0x30
mov rcx, qword [0x1803f2308]
sub rcx, r9
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r11d
cmp rax, rdx
jb 0x180088ff0
mov esi, dword [0x180152098]
cmp byte [0x1803f2173], r13b
je 0x1800897eb
mov byte [0x1803f2173], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
xor r8d, r8d
lea rdx, [0x1801376a1]
lea rcx, [rbp - 0x50]
call fcn.180006f30
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
xor r8d, r8d
lea rdx, [0x1801376a1]
lea rcx, [rbp - 0x30]
call fcn.180006f30
nop
mov edi, r13d
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180089471
mov rbx, r13
nop word [rax + rax]
mov rax, qword [0x1803f24d0]
mov r8d, dword [rax + rbx + 0x20]
lea r9, [rbp - 0x53]
test r8d, r8d
jns 0x1800891a1
neg r8d
nop dword [rax + rax]
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 0x180089160
dec r9
mov byte [r9], 0x2d
jmp 0x1800891cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
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 0x1800891a1
lea r8, [rbp - 0x53]
mov rdx, r9
lea rcx, [rsp + 0x68]
call fcn.180093c20
nop
mov r8d, 1
lea rdx, [0x18013a888]
lea rcx, [rsp + 0x68]
call fcn.180014b80
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x38], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x28]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x50]
call fcn.180014b80
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x180089281
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008927b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180089567
call fcn.1800fed90
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x1800892bd
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800892b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008956e
call fcn.1800fed90
mov rax, qword [0x1803f2620]
mov r8d, dword [rax + rbx + 0x20]
lea r9, [rbp - 0x53]
test r8d, r8d
jns 0x180089320
neg r8d
nop word [rax + rax]
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 0x1800892e0
dec r9
mov byte [r9], 0x2d
jmp 0x18008934a
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 0x180089320
lea r8, [rbp - 0x53]
mov rdx, r9
lea rcx, [rsp + 0x48]
call fcn.180093c20
nop
mov r8d, 1
lea rdx, [0x18013a888]
lea rcx, [rsp + 0x48]
call fcn.180014b80
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x38], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x28]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x30]
call fcn.180014b80
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x180089400
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800893fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180089575
call fcn.1800fed90
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x18008943d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089438
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008957c
call fcn.1800fed90
inc edi
add rbx, 0x30
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jb 0x180089140
mov rax, qword [rbp - 0x40]
lea r8, [rax - 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rcx, [rsp + 0x28]
call fcn.180006f30
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1800894e4
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800894df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180089560
call fcn.1800fed90
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rbp - 0x40], xmm1
mov rax, qword [rbp - 0x20]
lea r8, [rax - 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
lea rcx, [rsp + 0x28]
call fcn.180006f30
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x180089588
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089583
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180089583
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
call fcn.1800fed90
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rbp - 0x20], xmm1
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x48]
call fcn.180014650
mov r11, rax
lea r10, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r10, qword [rbp - 0x50]
mov ecx, dword [str.AG6]
mov dword [rsp + 0x24], ecx
cmp byte [0x18013afcb], 0
je 0x180089689
mov r8d, r13d
cmp esi, 2
jl 0x180089652
movdqa xmm3, xmmword [0x18013d110]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x18013d300]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x18013d300]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [str.::::]
psubd xmm3, xmm0
andps xmm3, xmmword [0x18013d190]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x18013d1e0]
movd xmm0, ecx
xorps xmm3, xmm0
movd dword [rsp + 0x24], xmm3
jmp 0x180089689
lea r9, [rsp + 0x24]
nop word [rax + rax]
mov eax, 0x8d3dcb09
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x180089660
movzx eax, word [0x18013aa68]
mov word [rsp + 0x20], ax
movzx eax, byte [0x18013aa6a]
mov byte [rsp + 0x20], 0x67
xor byte [rsp + 0x21], 0x34
xor al, 0x35
mov byte [rsp + 0x22], al
mov r9, r11
mov r8, r10
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x20]
call fcn.18007eea0
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x48]
call fcn.180014650
mov r9, rax
lea r8, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
jbe 0x1800896fa
mov r8, qword [rbp - 0x30]
mov ecx, dword [0x18013a90c]
mov dword [rbp - 0x78], ecx
movzx ecx, word [0x18013a910]
mov word [rbp - 0x74], cx
jmp 0x18008970e
mov eax, dword [0x18013a90c]
mov dword [rbp - 0x78], eax
movzx eax, word [0x18013a910]
mov word [rbp - 0x74], ax
mov byte [rbp - 0x78], 0x65
xor byte [rbp - 0x77], 0x34
xor byte [rbp - 0x76], 0x35
xor byte [rbp - 0x75], 0x36
xor byte [rbp - 0x74], 0x37
xor byte [rbp - 0x73], 0x38
movzx eax, word [0x18013aa68]
mov word [rsp + 0x20], ax
movzx eax, byte [0x18013aa6a]
mov byte [rsp + 0x20], 0x67
xor byte [rsp + 0x21], 0x34
xor al, 0x35
mov byte [rsp + 0x22], al
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x20]
call fcn.18007eea0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x180089796
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089791
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180089791
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fed90
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1800897e4
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800897df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800897df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fed90
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f2151], 0
je 0x180089c83
mov byte [0x1803f2151], 0
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x48]
call fcn.180014650
mov r10, rax
mov ecx, dword [str.AG6]
mov dword [rbp - 0x78], ecx
cmp byte [0x18013afcb], 0
je 0x1800898d9
mov r8d, r13d
cmp esi, 2
jl 0x1800898a7
movdqa xmm3, xmmword [0x18013d110]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x18013d300]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x18013d300]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [str.::::]
psubd xmm3, xmm0
andps xmm3, xmmword [0x18013d190]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x18013d1e0]
movd xmm0, ecx
xorps xmm3, xmm0
movd dword [rbp - 0x78], xmm3
jmp 0x1800898d9
lea r9, [rbp - 0x78]
nop dword [rax + rax]
mov eax, 0x8d3dcb09
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1800898b0
movzx eax, word [0x18013aa68]
mov word [rsp + 0x20], ax
movzx eax, byte [0x18013aa6a]
mov byte [rsp + 0x20], 0x67
xor byte [rsp + 0x21], 0x34
xor al, 0x35
mov byte [rsp + 0x22], al
mov r9, r10
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x20]
call fcn.18007f120
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180089926
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180006f30
nop
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x68]
call fcn.180014650
mov r9, rax
mov ecx, dword [0x18013a90c]
mov dword [rbp - 0x70], ecx
movzx ecx, word [0x18013a910]
mov word [rbp - 0x6c], cx
mov byte [rbp - 0x70], 0x65
xor byte [rbp - 0x6f], 0x34
xor byte [rbp - 0x6e], 0x35
xor byte [rbp - 0x6d], 0x36
xor cl, 0x37
mov byte [rbp - 0x6c], cl
xor byte [rbp - 0x6b], 0x38
movzx eax, word [0x18013aa68]
mov word [rsp + 0x24], ax
movzx eax, byte [0x18013aa6a]
mov byte [rsp + 0x24], 0x67
xor byte [rsp + 0x25], 0x34
xor al, 0x35
mov byte [rsp + 0x26], al
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x24]
call fcn.18007f120
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800899c0
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.180006f30
nop
cmp qword [rbp - 0x20], 0
je 0x180089ad3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
mov r8b, 0x2c
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x68]
call fcn.180065840
nop
mov r15d, r13d
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180089aca
mov r14, r13
mov rsi, r13
mov rbx, qword [rbp - 0x68]
add rbx, rsi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
cmp qword [rbx + 0x18], 0xf
jbe 0x180089a4d
mov rbx, qword [rbx]
mov dword [rax], r13d
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
cmp rbx, qword [rbp - 0x78]
je 0x180089c0e
cmp dword [rdi], 0x22
je 0x180089c00
cvttss2si ecx, xmm0
mov rax, qword [0x1803f24d0]
mov dword [r14 + rax + 0x20], ecx
inc r15d
add rsi, 0x20
add r14, 0x30
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r15d
cmp rax, rdx
jb 0x180089a33
movabs r14, 0x2aaaaaaaaaaaaaab
lea rcx, [rbp - 0x68]
call fcn.180014b10
cmp qword [rbp - 0x40], 0
je 0x180089bc7
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
mov r8b, 0x2c
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x68]
call fcn.180065840
nop
mov r15d, r13d
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
mov rax, r14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180089bbd
mov r14, r13
mov rsi, r13
nop dword [rax]
mov rbx, qword [rbp - 0x68]
add rbx, rsi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
cmp qword [rbx + 0x18], 0xf
jbe 0x180089b4a
mov rbx, qword [rbx]
mov dword [rax], r13d
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
cmp rbx, qword [rbp - 0x70]
je 0x180089c2a
cmp dword [rdi], 0x22
je 0x180089c1c
cvttss2si ecx, xmm0
mov rax, qword [0x1803f2620]
mov dword [r14 + rax + 0x20], ecx
inc r15d
add rsi, 0x20
add r14, 0x30
mov rcx, qword [0x1803f2308]
sub rcx, qword [0x1803f2300]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r15d
cmp rax, rdx
jb 0x180089b30
lea rcx, [rbp - 0x68]
call fcn.180014b10
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180089c3e
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089c38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180089c38
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, str.stof_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stof_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
lea rcx, str.stof_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stof_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call fcn.1800fed90
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x180089c7c
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180089c77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180089c77
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fed90
mov r8, qword [0x1803f73d8]
cmp byte [0x1803f2157], 0
je 0x180089cbf
mov byte [0x1803f2157], 0
lea rax, [r8 + 0x6b72a91]
cmp byte [0x1803f215f], 0
je 0x180089cb2
cmp rax, r12
ja 0x180089cbf
mov byte [r8 + 0x6b72a92], 0
jmp 0x180089cbf
cmp rax, r12
ja 0x180089cbf
mov byte [r8 + 0x6b72a92], 1
cmp byte [0x1803f2153], 0
je 0x180089cfb
mov byte [0x1803f2153], 0
lea rax, [r8 + 0x6b72a9b]
cmp byte [0x1803f213e], 0
je 0x180089cee
cmp rax, r12
ja 0x180089cfb
mov byte [r8 + 0x6b72a9c], 0
jmp 0x180089cfb
cmp rax, r12
ja 0x180089cfb
mov byte [r8 + 0x6b72a9c], 1
cmp byte [0x1803f2171], 0
je 0x180089d37
mov byte [0x1803f2171], 0
lea rax, [r8 + 0x6b72a9d]
cmp byte [0x1803f2175], 0
je 0x180089d2a
cmp rax, r12
ja 0x180089d37
mov byte [r8 + 0x6b72a9e], 0
jmp 0x180089d37
cmp rax, r12
ja 0x180089d37
mov byte [r8 + 0x6b72a9e], 1
cmp byte [0x1803f2159], 0
je 0x180089d73
mov byte [0x1803f2159], 0
lea rax, [r8 + 0x6b72b77]
cmp byte [0x1803f214e], 0
je 0x180089d66
cmp rax, r12
ja 0x180089d73
mov byte [r8 + 0x6b72b78], 0
jmp 0x180089d73
cmp rax, r12
ja 0x180089d73
mov byte [r8 + 0x6b72b78], 1
cmp byte [0x1803f215d], 0
je 0x180089daf
mov byte [0x1803f215d], 0
lea rax, [r8 + 0x6b72b7b]
cmp byte [0x1803f2150], 0
je 0x180089da2
cmp rax, r12
ja 0x180089daf
mov byte [r8 + 0x6b72b7c], 0
jmp 0x180089daf
cmp rax, r12
ja 0x180089daf
mov byte [r8 + 0x6b72b7c], 1
cmp byte [0x1803f2154], 0
je 0x180089deb
mov byte [0x1803f2154], 0
lea rax, [r8 + 0x6b72aac]
cmp byte [0x1803f2156], 0
je 0x180089dde
cmp rax, r12
ja 0x180089deb
mov byte [r8 + 0x6b72aad], 0
jmp 0x180089deb
cmp rax, r12
ja 0x180089deb
mov byte [r8 + 0x6b72aad], 1
cmp byte [0x1803f215a], 0
je 0x180089e27
mov byte [0x1803f215a], 0
lea rax, [r8 + 0x6b72aae]
cmp byte [0x1803f2176], 0
je 0x180089e1a
cmp rax, r12
ja 0x180089e27
mov byte [r8 + 0x6b72aaf], 0
jmp 0x180089e27
cmp rax, r12
ja 0x180089e27
mov byte [r8 + 0x6b72aaf], 1
cmp byte [0x1803f2144], 0
je 0x180089e63
mov byte [0x1803f2144], 0
lea rax, [r8 + 0x6b72aad]
cmp byte [0x1803f2168], 0
je 0x180089e56
cmp rax, r12
ja 0x180089e63
mov byte [r8 + 0x6b72aae], 0
jmp 0x180089e63
cmp rax, r12
ja 0x180089e63
mov byte [r8 + 0x6b72aae], 1
cmp byte [0x1803f2174], 0
je 0x180089e9f
mov byte [0x1803f2174], 0
lea rax, [r8 + 0x6b72aa8]
cmp byte [0x1803f2169], 0
je 0x180089e92
cmp rax, r12
ja 0x180089e9f
mov byte [r8 + 0x6b72aa9], 0
jmp 0x180089e9f
cmp rax, r12
ja 0x180089e9f
mov byte [r8 + 0x6b72aa9], 1
cmp byte [0x1803f214c], 0
je 0x180089edb
mov byte [0x1803f214c], 0
lea rax, [r8 + 0x6b72a9c]
cmp byte [0x1803f2177], 0
je 0x180089ece
cmp rax, r12
ja 0x180089edb
mov byte [r8 + 0x6b72a9d], 0
jmp 0x180089edb
cmp rax, r12
ja 0x180089edb
mov byte [r8 + 0x6b72a9d], 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800fed70
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret