Function at 0x180183d70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2c8]
sub rsp, 0x390
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x180672700]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r12, r9
mov r15, rcx
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x28], rcx
mov r14, qword [rbp + 0x2f8]
mov ecx, dword [0x180677d3c]
mov rax, qword gs:[0x58]
mov edi, 0x10
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + rdi]
cmp dword [0x18067cf88], eax
jg 0x1801846d5
xor r13d, r13d
mov eax, dword [rbx + rdi]
cmp dword [0x18067cfa8], eax
jg 0x1801848a7
mov rax, qword [0x18067b998]
mov rcx, qword [rax + 0x3c28]
mov rax, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x180183e4d
mov rax, qword [r15]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
xorps xmm14, xmm14
movss dword [rsp + 0x20], xmm14
movss xmm15, dword [0x18028f3b8]
movaps xmm3, xmm15
movss xmm10, dword [0x18028f240]
movaps xmm2, xmm10
lea rdx, [rsp + 0x60]
call fcn.1801c9c50
mov rcx, qword [r15 + 0x10]
xorps xmm1, xmm1
test rcx, rcx
js 0x180183e99
cvtsi2ss xmm1, rcx
jmp 0x180183eae
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm0, dword [rsp + 0x60]
movaps xmm9, xmm0
divss xmm9, xmm1
addss xmm9, dword [0x18028f100]
movss xmm2, dword [rsp + 0x64]
movss xmm11, dword [rsp + 0x6c]
addss xmm2, xmm11
movss xmm13, dword [rsp + 0x68]
movaps xmm1, xmm13
addss xmm1, xmm0
addss xmm1, dword [0x18028f1e4]
mov rdi, qword [0x18067b988]
movups xmm0, xmmword [rdi + 0x88]
movaps xmm5, xmm13
movss dword [rsp + 0x40], xmm5
comiss xmm13, xmm0
jae 0x180183f16
movaps xmm5, xmm0
movss dword [rsp + 0x40], xmm0
movaps xmm3, xmm11
movss dword [rsp + 0x44], xmm3
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
comiss xmm11, xmm4
jae 0x180183f36
movaps xmm3, xmm4
movss dword [rsp + 0x44], xmm4
movss dword [rsp + 0x48], xmm1
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xaa
comiss xmm1, xmm4
jbe 0x180183f51
movaps xmm1, xmm4
movss dword [rsp + 0x48], xmm4
movss dword [rsp + 0x4c], xmm2
shufps xmm0, xmm0, 0xff
comiss xmm2, xmm0
jbe 0x180183f69
movaps xmm2, xmm0
movss dword [rsp + 0x4c], xmm0
comiss xmm5, xmm1
jb 0x180183f74
movss dword [rsp + 0x48], xmm5
comiss xmm3, xmm2
jb 0x180183f7f
movss dword [rsp + 0x4c], xmm3
mov r8d, dword [rdi + 0x58]
mov ecx, dword [rdi + 0x5c]
cmp r8d, ecx
jne 0x180183fb5
inc r8d
test ecx, ecx
je 0x180183f9d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180183fa2
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
lea rcx, [rdi + 0x58]
call fcn.1801b56a0
movsxd rcx, dword [rdi + 0x58]
add rcx, rcx
mov rax, qword [rdi + 0x60]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + rcx*8], xmm0
inc dword [rdi + 0x58]
movups xmmword [rdi + 0x88], xmm0
mov rcx, rdi
call fcn.1801bd810
mov dword [rsp + 0x60], r13d
cmp qword [r15 + 0x10], 0
jbe 0x1801845f8
mov ecx, r13d
mov r8d, r13d
movss xmm12, dword [0x18028f218]
movabs r9, 0x101010101010101
mov rdx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x180184011
mov rdx, qword [r15]
cmovbe r8d, ecx
movsxd rax, r8d
movsx ecx, byte [rax + rdx]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 1
mov qword [rbp + 0x18], 0xf
movzx eax, cl
mul r9
mov byte [rbp], al
mov byte [rbp + 1], 0
call fcn.180212420
mov rdi, rax
lea rbx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rbx, qword [rbp]
mov dword [rax], r13d
mov r8d, 0xa
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.180214ff8
mov esi, eax
cmp rbx, qword [rsp + 0x78]
je 0x1801846c8
cmp dword [rdi], 0x22
je 0x180184964
mov rcx, qword [0x18067b998]
mov r8, qword [rcx + 0x3c28]
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rcx, qword [rbp]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm14
movaps xmm3, xmm15
movaps xmm2, xmm10
lea rdx, [rsp + 0x70]
mov rcx, r8
call fcn.1801c9c50
movss dword [rsp + 0x70], xmm9
movd xmm8, esi
cvtdq2ps xmm8, xmm8
mulss xmm8, dword [rsp + 0x74]
mov rbx, qword [r14]
mov rax, qword [rbx + 8]
mov r8, rbx
movzx r9d, byte [rax + 0x19]
mov edx, dword [rsp + 0x60]
test r9b, r9b
jne 0x18018410d
mov rcx, rax
cmp dword [rcx + 0x1c], edx
jge 0x180184101
mov rcx, qword [rcx + 0x10]
jmp 0x180184107
mov r8, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1801840f6
cmp byte [r8 + 0x19], 0
jne 0x18018411a
cmp edx, dword [r8 + 0x1c]
jge 0x18018411d
mov r8, rbx
cmp r8, rbx
jne 0x1801841fa
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r13d
mov rcx, rbx
test r9b, r9b
jne 0x180184169
nop dword [rax + rax]
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x1c], edx
jge 0x180184155
mov dword [rsp + 0x48], r13d
mov rax, qword [rax + 0x10]
jmp 0x180184163
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180184140
cmp byte [rcx + 0x19], 0
jne 0x18018418a
cmp edx, dword [rcx + 0x1c]
jl 0x18018418a
movabs rdi, 0x666666666666666
movss dword [rcx + 0x20], xmm8
mov edx, dword [rsp + 0x60]
jmp 0x180184204
movabs rdi, 0x666666666666666
cmp qword [r14 + 8], rdi
je 0x18018495e
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r13
mov ecx, 0x28
call fcn.1801fbc90
nop
mov ecx, dword [rsp + 0x60]
mov dword [rax + 0x1c], ecx
mov dword [rax + 0x20], r13d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x40], r13
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.180041380
mov rcx, rax
movss dword [rax + 0x20], xmm8
mov edx, dword [rsp + 0x60]
jmp 0x180184204
movabs rdi, 0x666666666666666
mov rbx, qword [r14]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r13d
mov rcx, rbx
cmp byte [rax + 0x19], 0
jne 0x180184249
nop
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x1c], edx
jge 0x180184235
mov dword [rsp + 0x48], r13d
mov rax, qword [rax + 0x10]
jmp 0x180184243
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180184220
cmp byte [rcx + 0x19], 0
jne 0x180184254
cmp edx, dword [rcx + 0x1c]
jge 0x1801842b2
cmp qword [r14 + 8], rdi
je 0x18018495e
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r13
mov ecx, 0x28
call fcn.1801fbc90
nop
mov ecx, dword [rsp + 0x60]
mov dword [rax + 0x1c], ecx
mov dword [rax + 0x20], r13d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x30], r13
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.180041380
mov rcx, rax
mov edx, dword [rsp + 0x60]
movaps xmm7, xmm11
subss xmm7, dword [rcx + 0x20]
movd xmm6, edx
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm9
addss xmm6, xmm13
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
mov rdi, qword [0x18067cfc0]
lea rsi, [0x18067cfb0]
cmp qword [0x18067cfc8], 0xf
cmova rsi, qword [0x18067cfb0]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x180184958
mov qword [rbp - 0x68], 0xf
cmp rdi, 0xf
ja 0x18018432a
mov qword [rbp - 0x70], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x1801843bc
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x180184349
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180184370
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180184392
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18018494c
mov rcx, rax
call fcn.1801fbc90
mov rcx, rax
test rax, rax
je 0x180184946
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1801843a1
test rcx, rcx
je 0x18018439e
call fcn.1801fbc90
jmp 0x1801843a1
mov rax, r13
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.18023b0c0
movaps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x28], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
unpcklps xmm6, xmm7
movq r8, xmm6
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x160]
call fcn.180184d00
lea rcx, [rbp + 0x1c0]
call fcn.1800e91e0
lea rcx, [rbp + 0x160]
call fcn.18003f680
call fcn.18019c800
movss xmm6, dword [rax + 0x10]
mulss xmm6, xmm12
mov rbx, qword [r14]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r13d
mov rcx, rbx
mov edx, dword [rsp + 0x60]
cmp byte [rax + 0x19], 0
jne 0x18018445f
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x1c], edx
jge 0x18018444b
mov dword [rsp + 0x48], r13d
mov rax, qword [rax + 0x10]
jmp 0x180184459
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180184436
cmp byte [rcx + 0x19], 0
jne 0x180184476
cmp edx, dword [rcx + 0x1c]
jl 0x180184476
movabs rdi, 0x666666666666666
jmp 0x1801844da
movabs rdi, 0x666666666666666
cmp qword [r14 + 8], rdi
je 0x18018495e
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r13
mov ecx, 0x28
call fcn.1801fbc90
nop
mov ecx, dword [rsp + 0x60]
mov dword [rax + 0x1c], ecx
mov dword [rax + 0x20], r13d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x18], r13
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.180041380
mov rcx, rax
movaps xmm2, xmm6
movaps xmm1, xmm8
movss xmm0, dword [rcx + 0x20]
call fcn.180166d70
movaps xmm6, xmm0
mov rbx, qword [r14]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r13d
mov rcx, rbx
mov edx, dword [rsp + 0x60]
cmp byte [rax + 0x19], 0
jne 0x180184539
nop dword [rax]
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x1c], edx
jge 0x180184525
mov dword [rsp + 0x48], r13d
mov rax, qword [rax + 0x10]
jmp 0x180184533
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180184510
cmp byte [rcx + 0x19], 0
jne 0x180184544
cmp edx, dword [rcx + 0x1c]
jge 0x18018459e
cmp qword [r14 + 8], rdi
je 0x18018495e
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r13
mov ecx, 0x28
call fcn.1801fbc90
nop
mov ecx, dword [rsp + 0x60]
mov dword [rax + 0x1c], ecx
mov dword [rax + 0x20], r13d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
mov qword [rbp - 0x58], r13
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.180041380
mov rcx, rax
movss dword [rcx + 0x20], xmm6
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x1801845de
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801845d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180184952
call fcn.1801fc044
mov ecx, dword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x60], ecx
mov r8d, ecx
movsxd rax, ecx
cmp rax, qword [r15 + 0x10]
jb 0x180183ffa
mov rbx, qword [0x18067b988]
cmp dword [rbx + 0x58], 0
jg 0x18018462a
mov r9d, 0x12
lea r8, str.Assertion_failed
lea rdx, str.Size___0
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
add eax, 0xfffffffd
cmp eax, 1
ja 0x18018462a
int3
mov eax, dword [rbx + 0x58]
sub eax, 1
mov dword [rbx + 0x58], eax
jne 0x18018463f
mov rax, qword [rbx + 0x38]
add rax, 0x1c
jmp 0x18018464b
dec eax
cdqe
shl rax, 4
add rax, qword [rbx + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x88], xmm0
mov rcx, rbx
call fcn.1801bd810
nop
mov rcx, r15
call fcn.18003f680
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1801fbc70
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.invalid_stoi_argument
call fcn.1801f817c
nop
lea rcx, [0x18067cf88]
call fcn.1801fc1f0
cmp dword [0x18067cf88], 0xffffffff
jne 0x180183e20
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 1
mov qword [rbp + 0x38], 0xf
mov word [rbp + 0x20], 0x30
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], 1
mov qword [rbp + 0x58], 0xf
mov word [rbp + 0x40], 0x31
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], 1
mov qword [rbp + 0x78], 0xf
mov word [rbp + 0x60], 0x32
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], 1
mov qword [rbp + 0x98], 0xf
mov word [rbp + 0x80], 0x33
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], 1
mov qword [rbp + 0xb8], 0xf
mov word [rbp + 0xa0], 0x34
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], 1
mov qword [rbp + 0xd8], 0xf
mov word [rbp + 0xc0], 0x35
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], 1
mov qword [rbp + 0xf8], 0xf
mov word [rbp + 0xe0], 0x36
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], 1
mov qword [rbp + 0x118], 0xf
mov word [rbp + 0x100], 0x37
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 1
mov qword [rbp + 0x138], 0xf
mov word [rbp + 0x120], 0x38
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], 1
mov qword [rbp + 0x158], 0xf
mov word [rbp + 0x140], 0x39
lea rax, [rbp + 0x20]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [0x18067cf90]
call fcn.18004a680
nop
lea r9, [fcn.18003f540]
mov edx, 0x20
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0x20]
call fcn.1801fc078
lea rcx, [0x180253560]
call fcn.1801fc024
nop
lea rcx, [0x18067cf88]
call fcn.1801fc184
jmp 0x180183e20
lea rcx, [0x18067cfa8]
call fcn.1801fc1f0
cmp dword [0x18067cfa8], 0xffffffff
jne 0x180183e32
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 1
mov qword [rbp - 8], 0xf
mov word [rbp - 0x20], 0xa
lea rdx, [0x18067cf90]
lea rcx, [rbp - 0x60]
call fcn.18004a5c0
lea r8, [rbp - 0x20]
mov rdx, rax
lea rcx, [0x18067cfb0]
call fcn.180189eb0
nop
mov r8, qword [rbp - 8]
cmp r8, 0xf
jbe 0x180184918
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x20]
call fcn.18003f720
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
lea rcx, [0x1802534f0]
call fcn.1801fc024
nop
lea rcx, [0x18067cfa8]
call fcn.1801fc184
jmp 0x180183e32
call fcn.18020b15c
int3
call fcn.18003f400
nop
call fcn.18020b15c
nop
call fcn.18003f4a0
int3
call fcn.180041e30
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.1801f81c4
int3