Function at 0x140117350
Capabilities:
Contain obfuscated stackstrings
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x348]
sub rsp, 0x420
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1402f2018]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov r13, rcx
mov rdi, qword [0x1402fb580]
cmp dword [rdi + 0x3e0], 0
jbe 0x1401173da
cmp dword [rdi + 0x3dc], 0
je 0x14011740a
movss xmm0, dword [0x1402fb3b0]
comiss xmm0, dword [rdi + 0x3e8]
jb 0x14011740a
mov eax, dword [rdi + 0x3d8]
test eax, eax
je 0x14011740a
dec eax
movss xmm0, dword [rdi + 0x30]
comiss xmm0, dword [rdi + rax*4 + 0x410]
jb 0x14011740a
mov al, 1
jmp 0x14011740c
xor al, al
test al, al
je 0x140118b22
movdqa xmm0, xmmword [0x1402c2dc0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0x72656c6c
mov dword [rsp + 0x34], 0x736f6379
mov word [rsp + 0x38], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x3a], 0
movd eax, xmm0
mov r15d, 0x811c9dc5
test al, al
jne 0x140117451
mov eax, r15d
jmp 0x140117467
movzx eax, al
xor eax, r15d
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.1400356d0
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x188]
movss xmm12, dword [0x1402c19a8]
cmp rcx, rdx
je 0x140117495
cmp dword [rcx + 0x30], eax
je 0x1401176ac
add rcx, 0x50
cmp rcx, rdx
jne 0x140117483
movss xmm0, dword [0x1402c18e0]
comiss xmm0, dword [rdi + 0x30]
ja 0x140118b22
mov eax, dword [rdi + 0x3d8]
dec eax
movss xmm13, dword [r13 + rax*4 + 0x68]
movss dword [rbp + 0x90], xmm13
movss xmm14, dword [0x1402c1444]
movss dword [rbp + 0x94], xmm14
movss dword [rbp + 0x98], xmm12
movss xmm15, dword [0x1402c1a90]
movss dword [rbp + 0x9c], xmm15
mov r14d, 1
mov qword [rbp + 0xa0], r14
mov byte [rbp + 0xa8], r14b
movsd xmm1, qword [0x1402fba30]
movaps xmm8, xmm1
movsd qword [rbp + 0xac], xmm1
mov r12d, dword [0x1402fba38]
mov dword [rbp + 0xb4], r12d
xor eax, eax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0xb8], eax
mov byte [rbp + 0xbc], al
mov dword [rbp + 0xc0], 0xffffffff
movsd qword [rbp + 0xc4], xmm1
mov dword [rbp + 0xcc], r12d
mov qword [rbp + 0xd0], rax
movsd qword [rbp + 0xd8], xmm1
mov dword [rbp + 0xe0], r12d
movsd qword [rbp + 0xe4], xmm1
mov dword [rbp + 0xec], r12d
xorps xmm11, xmm11
movss dword [rbp + 0xf0], xmm11
xorps xmm0, xmm0
movups xmmword [rbp + 0xf8], xmm0
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rax
movdqa xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
mov byte [rbp + 0x138], al
mov qword [rbp + 0x13c], rax
mov byte [rbp + 0x144], al
mov dword [rbp + 0x148], eax
mov byte [rbp + 0x14c], al
movss xmm9, dword [0x1402c1908]
mov dword [rbp + 0x150], 0x42820000
movaps xmm1, xmm13
call fcn.1401c2e00
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140118b16
cmp byte [rax + 0xa7], 0
je 0x140118b16
mov rcx, rax
call fcn.14006a560
test al, al
jne 0x140118b16
cmp byte [rbx + 0xa5], al
je 0x140118b16
cmp byte [rbx + 0xa4], al
je 0x140118b16
movss xmm0, dword [r13 + 0x1ac]
movss xmm1, dword [0x1402c19f4]
addss xmm0, xmm1
movss xmm2, dword [0x1402fb394]
comiss xmm2, xmm0
jbe 0x140118b16
movss xmm0, dword [r13 + 0x1a8]
addss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x140118b16
movss xmm0, dword [r13 + 0x1b0]
addss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x140118b16
mov rax, qword [r13 + 0x100]
mov rdi, qword [0x1402fb580]
cmp byte [rax + 0x2b0], 0
je 0x1401178c2
mov eax, dword [rdi + 0x2a0]
cmp eax, r14d
jae 0x14011778b
xorps xmm0, xmm0
jmp 0x1401177d2
mov rbx, qword [rdi + 0x180]
mov rsi, rdx
cmp rbx, rdx
je 0x14011770f
lea r14, [0x140000000]
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0x10
jb 0x1401176d0
mov rcx, qword [rcx]
cmp qword [rbx + 0x20], 0x19
jne case.default.0x140117704
mov r8d, Ordinal_27
lea rdx, str.kogmawlivingartillerycost
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne case.default.0x140117704
mov eax, dword [rbx + 0x34]
dec eax
cmp eax, 8
ja case.default.0x140117704
cdqe
mov ecx, dword [r14 + rax*4 + 0x118b84]
add rcx, r14
jmp rcx
add rbx, 0x50
cmp rbx, rsi
jne 0x1401176c2
movss xmm0, dword [rsp + 0x60]
jmp 0x14011749d
movss xmm0, dword [0x1402c1918]
jmp 0x14011749d
movss xmm0, dword [0x1402c1948]
jmp 0x14011749d
movss xmm0, dword [0x1402c1980]
jmp 0x14011749d
movss xmm0, dword [0x1402c1998]
jmp 0x14011749d
movaps xmm0, xmm12
jmp 0x14011749d
movss xmm0, dword [0x1402c19bc]
jmp 0x14011749d
movss xmm0, dword [0x1402c19c8]
jmp 0x14011749d
movss xmm0, dword [0x1402c19d4]
jmp 0x14011749d
movss xmm0, dword [0x1402c19d8]
jmp 0x14011749d
movss xmm0, dword [rdi + 0x70]
movaps xmm2, xmm0
mulss xmm2, dword [rdi + 0x74]
addss xmm2, xmm0
movaps xmm0, xmmword [0x1402c2ad0]
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x43910000
dec eax
mulss xmm2, dword [0x1402c1488]
addss xmm2, dword [rsp + rax*4 + 0x40]
mov rdx, rbx
mov rcx, rdi
call fcn.14006ef70
mov rdi, qword [0x1402fb580]
addss xmm0, dword [0x1402c1978]
comiss xmm0, dword [rbx + 0x28]
jb 0x1401178c2
call fcn.14013e9d0
mov rdi, qword [0x1402fb580]
movsd xmm0, qword [rdi + 8]
movsd qword [rsp + 0x40], xmm0
mov ecx, dword [rdi + 0x10]
mov dword [rsp + 0x48], ecx
movss xmm6, dword [rdi + 0xd4]
comiss xmm6, dword [0x1402c19c4]
jbe 0x140117817
movaps xmm6, xmm9
addss xmm6, dword [rdi + 0x4c]
xor esi, esi
mov r14, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, r14
je 0x1401178b6
movss xmm7, dword [rsp + 0x48]
movss xmm8, dword [rsp + 0x40]
nop dword [rax + rax]
cmp byte [rbx + 0xa7], 0
je 0x140117898
mov eax, dword [rdi + 0x1c]
cmp dword [rbx + 0x1c], eax
je 0x140117898
movsd xmm0, qword [rbx + 8]
movaps xmm1, xmm8
movsd qword [rsp + 0x40], xmm0
subss xmm1, xmm0
movaps xmm2, xmm7
subss xmm2, dword [rbx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140117889
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140117891
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jb 0x140117898
inc esi
add rbx, 0x5e0
cmp rbx, r14
jne 0x140117840
cmp esi, 1
jge 0x140118b16
movsd xmm8, qword [rbp + 0xac]
mov rbx, qword [rsp + 0x60]
mov r14d, dword [rbp + 0xa0]
mov rax, qword [r13 + 0x120]
cmp byte [rax + 0x2b0], 0
je 0x14011793a
movsd xmm0, qword [rdi + 8]
movss xmm1, dword [rbx + 8]
movsd qword [rsp + 0x40], xmm0
subss xmm1, xmm0
movss xmm2, dword [rbx + 0x10]
subss xmm2, dword [rdi + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14011790d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140117915
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [rdi + 0xd4]
comiss xmm1, dword [0x1402c19c4]
ja 0x14011792a
movaps xmm9, xmm1
addss xmm9, dword [rdi + 0x4c]
comiss xmm9, xmm0
ja 0x140118b16
movdqa xmm0, xmmword [0x1402c2dc0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0x72656c6c
mov dword [rsp + 0x34], 0x736f6379
mov word [rsp + 0x38], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x3a], 0
movd eax, xmm0
test al, al
je 0x140117985
movzx eax, al
xor eax, r15d
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.1400356d0
mov r15d, eax
mov r8d, r15d
lea rdx, [rbp + 0x40]
lea rcx, [rdi + 0x170]
call fcn.140066ab0
mov rcx, qword [r13 + 0x130]
mov edi, dword [rcx + 0x2b0]
mov ebx, dword [rax + 0x34]
lea rcx, [rbp + 0x50]
call fcn.140036090
cmp edi, ebx
jle 0x140118b16
mov rax, qword [r13 + 0x108]
mov esi, 5
movss xmm6, dword [0x1402c1b34]
movss xmm7, dword [0x1402c1880]
cmp byte [rax + 0x2b0], 0
je 0x140117a09
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx + 0x180]
mov rcx, qword [rbx + 0x188]
cmp rax, rcx
je 0x140117a09
cmp byte [rax + 8], 0xc
je 0x140117b67
add rax, 0x50
cmp rax, rcx
jne 0x1401179f6
mov rbx, qword [rsp + 0x68]
mov rax, qword [r13 + 0x138]
cmp byte [rax + 0x2b0], 0
je 0x1401180c6
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm14
movss dword [rsp + 0x78], xmm12
movss dword [rsp + 0x7c], xmm15
mov eax, dword [rbp + 0xa0]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp - 0x7c], eax
movzx eax, byte [rbp + 0xa8]
mov byte [rbp - 0x78], al
movsd xmm0, qword [rbp + 0xac]
movsd qword [rbp - 0x74], xmm0
mov dword [rbp - 0x6c], r12d
mov dword [rbp - 0x68], ebx
movzx eax, byte [rbp + 0xbc]
mov byte [rbp - 0x64], al
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x60], eax
movsd xmm0, qword [rbp + 0xc4]
movsd qword [rbp - 0x5c], xmm0
mov eax, dword [rbp + 0xcc]
mov dword [rbp - 0x54], eax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rbp + 0xd8]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [rbp + 0xe4]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x34], eax
movss dword [rbp - 0x30], xmm11
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x28]
call fcn.140031c00
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x28], eax
movzx eax, byte [rbp + 0x14c]
mov byte [rbp + 0x2c], al
movss xmm0, dword [rbp + 0x150]
movss dword [rbp + 0x30], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x50], rax
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x160]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x1e8]
test ecx, ecx
je 0x140117ebc
sub ecx, 1
je 0x140117eb5
sub ecx, 1
je 0x140117b60
cmp ecx, 1
je 0x140117eae
mov eax, esi
jmp 0x140117ec1
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm14
movss dword [rsp + 0x78], xmm12
movss dword [rsp + 0x7c], xmm15
mov dword [rbp - 0x80], r14d
mov eax, dword [rbp + 0xa4]
mov dword [rbp - 0x7c], eax
movzx eax, byte [rbp + 0xa8]
mov byte [rbp - 0x78], al
movsd qword [rbp - 0x74], xmm8
mov dword [rbp - 0x6c], r12d
mov rax, qword [rsp + 0x68]
mov dword [rbp - 0x68], eax
movzx eax, byte [rbp + 0xbc]
mov byte [rbp - 0x64], al
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x60], eax
movsd xmm0, qword [rbp + 0xc4]
movsd qword [rbp - 0x5c], xmm0
mov eax, dword [rbp + 0xcc]
mov dword [rbp - 0x54], eax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rbp + 0xd8]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [rbp + 0xe4]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x34], eax
movss dword [rbp - 0x30], xmm11
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x28]
call fcn.140031c00
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x28], eax
movzx eax, byte [rbp + 0x14c]
mov byte [rbp + 0x2c], al
movss xmm0, dword [rbp + 0x150]
movss dword [rbp + 0x30], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x50], rbx
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x160]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x1e8]
test ecx, ecx
je 0x140117c9f
sub ecx, 1
je 0x140117c98
sub ecx, 1
je 0x140117c8d
cmp ecx, 1
je 0x140117c91
mov eax, esi
jmp 0x140117ca4
mov eax, 6
jmp 0x140117ca4
mov eax, 4
jmp 0x140117ca4
mov eax, 3
cmp dword [rbp + 0x278], eax
jl 0x140117e4b
movss xmm5, dword [0x1402fba30]
movss xmm3, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x268]
movss xmm0, dword [rbp + 0x264]
movss xmm2, dword [rbp + 0x260]
ucomiss xmm2, xmm5
jp 0x140117cf5
jne 0x140117cf5
ucomiss xmm0, xmm3
jp 0x140117cf5
jne 0x140117cf5
ucomiss xmm1, xmm4
jp 0x140117cf5
je 0x140117d13
comiss xmm2, xmm6
jbe 0x140117d13
comiss xmm0, xmm6
jbe 0x140117d13
comiss xmm1, xmm6
jbe 0x140117d13
comiss xmm7, xmm2
jbe 0x140117d13
comiss xmm7, xmm0
jbe 0x140117d13
comiss xmm7, xmm1
ja 0x140117d2c
ucomiss xmm2, xmm5
jp 0x140117d2c
jne 0x140117d2c
ucomiss xmm0, xmm3
jp 0x140117d2c
jne 0x140117d2c
ucomiss xmm1, xmm4
jp 0x140117d2c
je 0x140117e4b
call fcn.14013edd0
mov r15, rax
movsd xmm8, qword [rbp + 0x260]
mov r12d, dword [rbp + 0x268]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140117e4b
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x140117db2
lea rcx, [rsp + 0x20]
call fcn.140014500
mov rdi, qword [rsp + 0x20]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x140117e4b
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140117e4b
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x140117e06
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x40], xmm8
mov dword [rsp + 0x48], r12d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r15
call fcn.14006d7b0
test al, al
je 0x140117e4b
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x1b0], xmm0
lea rcx, [rbp + 0x228]
call fcn.140034070
lea rcx, [rbp + 0x178]
call fcn.140033e60
lea rcx, [rbp + 0x160]
call fcn.140033e60
movss xmm11, dword [rbp + 0xf0]
mov ebx, dword [rbp + 0xb8]
mov r12d, dword [rbp + 0xb4]
movss xmm15, dword [rbp + 0x9c]
movss xmm12, dword [rbp + 0x98]
movss xmm14, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
jmp 0x140117a0e
mov eax, 6
jmp 0x140117ec1
mov eax, 4
jmp 0x140117ec1
mov eax, 3
cmp dword [rbp + 0x278], eax
jl 0x140118068
movss xmm5, dword [0x1402fba30]
movss xmm3, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x268]
movss xmm0, dword [rbp + 0x264]
movss xmm2, dword [rbp + 0x260]
ucomiss xmm2, xmm5
jp 0x140117f12
jne 0x140117f12
ucomiss xmm0, xmm3
jp 0x140117f12
jne 0x140117f12
ucomiss xmm1, xmm4
jp 0x140117f12
je 0x140117f30
comiss xmm2, xmm6
jbe 0x140117f30
comiss xmm0, xmm6
jbe 0x140117f30
comiss xmm1, xmm6
jbe 0x140117f30
comiss xmm7, xmm2
jbe 0x140117f30
comiss xmm7, xmm0
jbe 0x140117f30
comiss xmm7, xmm1
ja 0x140117f49
ucomiss xmm2, xmm5
jp 0x140117f49
jne 0x140117f49
ucomiss xmm0, xmm3
jp 0x140117f49
jne 0x140117f49
ucomiss xmm1, xmm4
jp 0x140117f49
je 0x140118068
call fcn.14013edd0
mov r15, rax
movsd xmm8, qword [rbp + 0x260]
mov r12d, dword [rbp + 0x268]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140118068
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x140117fcf
lea rcx, [rsp + 0x20]
call fcn.140014500
mov rdi, qword [rsp + 0x20]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x140118068
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140118068
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x140118023
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x40], xmm8
mov dword [rsp + 0x48], r12d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r15
call fcn.14006d7b0
test al, al
je 0x140118068
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x1b0], xmm0
lea rcx, [rbp + 0x228]
call fcn.140034070
lea rcx, [rbp + 0x178]
call fcn.140033e60
lea rcx, [rbp + 0x160]
call fcn.140033e60
movss xmm11, dword [rbp + 0xf0]
mov ebx, dword [rbp + 0xb8]
mov r12d, dword [rbp + 0xb4]
movss xmm15, dword [rbp + 0x9c]
movss xmm12, dword [rbp + 0x98]
movss xmm14, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
mov rax, qword [r13 + 0x140]
cmp byte [rax + 0x2b0], 0
je 0x140118441
mov rdx, qword [rsp + 0x60]
call fcn.140118bb0
mov rcx, qword [rsp + 0x60]
comiss xmm0, dword [rcx + 0x28]
jb 0x140118446
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm14
movss dword [rsp + 0x78], xmm12
movss dword [rsp + 0x7c], xmm15
mov eax, dword [rbp + 0xa0]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp - 0x7c], eax
movzx eax, byte [rbp + 0xa8]
mov byte [rbp - 0x78], al
movsd xmm0, qword [rbp + 0xac]
movsd qword [rbp - 0x74], xmm0
mov dword [rbp - 0x6c], r12d
mov dword [rbp - 0x68], ebx
movzx eax, byte [rbp + 0xbc]
mov byte [rbp - 0x64], al
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x60], eax
movsd xmm0, qword [rbp + 0xc4]
movsd qword [rbp - 0x5c], xmm0
mov eax, dword [rbp + 0xcc]
mov dword [rbp - 0x54], eax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rbp + 0xd8]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [rbp + 0xe4]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x34], eax
movss dword [rbp - 0x30], xmm11
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x28]
call fcn.140031c00
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x28], eax
movzx eax, byte [rbp + 0x14c]
mov byte [rbp + 0x2c], al
movss xmm0, dword [rbp + 0x150]
movss dword [rbp + 0x30], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x50], rax
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x160]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x1e8]
test ecx, ecx
je 0x140118237
sub ecx, 1
je 0x140118230
sub ecx, 1
je 0x140118225
cmp ecx, 1
je 0x140118229
mov eax, esi
jmp 0x14011823c
mov eax, 6
jmp 0x14011823c
mov eax, 4
jmp 0x14011823c
mov eax, 3
cmp dword [rbp + 0x278], eax
jl 0x1401183e3
movss xmm5, dword [0x1402fba30]
movss xmm3, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x268]
movss xmm0, dword [rbp + 0x264]
movss xmm2, dword [rbp + 0x260]
ucomiss xmm2, xmm5
jp 0x14011828d
jne 0x14011828d
ucomiss xmm0, xmm3
jp 0x14011828d
jne 0x14011828d
ucomiss xmm1, xmm4
jp 0x14011828d
je 0x1401182ab
comiss xmm2, xmm6
jbe 0x1401182ab
comiss xmm0, xmm6
jbe 0x1401182ab
comiss xmm1, xmm6
jbe 0x1401182ab
comiss xmm7, xmm2
jbe 0x1401182ab
comiss xmm7, xmm0
jbe 0x1401182ab
comiss xmm7, xmm1
ja 0x1401182c4
ucomiss xmm2, xmm5
jp 0x1401182c4
jne 0x1401182c4
ucomiss xmm0, xmm3
jp 0x1401182c4
jne 0x1401182c4
ucomiss xmm1, xmm4
jp 0x1401182c4
je 0x1401183e3
call fcn.14013edd0
mov r15, rax
movsd xmm8, qword [rbp + 0x260]
mov r12d, dword [rbp + 0x268]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x1401183e3
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x14011834a
lea rcx, [rsp + 0x20]
call fcn.140014500
mov rdi, qword [rsp + 0x20]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x1401183e3
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x1401183e3
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x14011839e
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x40], xmm8
mov dword [rsp + 0x48], r12d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r15
call fcn.14006d7b0
test al, al
je 0x1401183e3
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x1b0], xmm0
lea rcx, [rbp + 0x228]
call fcn.140034070
lea rcx, [rbp + 0x178]
call fcn.140033e60
lea rcx, [rbp + 0x160]
call fcn.140033e60
movss xmm11, dword [rbp + 0xf0]
mov ebx, dword [rbp + 0xb8]
mov r12d, dword [rbp + 0xb4]
movss xmm15, dword [rbp + 0x9c]
movss xmm12, dword [rbp + 0x98]
movss xmm14, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
mov rcx, qword [rsp + 0x60]
mov rax, qword [r13 + 0x110]
cmp byte [rax + 0x2b0], 0
je 0x1401187d3
mov rax, qword [rcx + 0x180]
mov rcx, qword [rcx + 0x188]
cmp rax, rcx
je 0x1401187d3
cmp byte [rax + 8], 0xb
je 0x140118485
add rax, 0x50
cmp rax, rcx
jne 0x140118471
jmp 0x1401187d3
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm14
movss dword [rsp + 0x78], xmm12
movss dword [rsp + 0x7c], xmm15
mov eax, dword [rbp + 0xa0]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp - 0x7c], eax
movzx eax, byte [rbp + 0xa8]
mov byte [rbp - 0x78], al
movsd xmm0, qword [rbp + 0xac]
movsd qword [rbp - 0x74], xmm0
mov dword [rbp - 0x6c], r12d
mov dword [rbp - 0x68], ebx
movzx eax, byte [rbp + 0xbc]
mov byte [rbp - 0x64], al
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x60], eax
movsd xmm0, qword [rbp + 0xc4]
movsd qword [rbp - 0x5c], xmm0
mov eax, dword [rbp + 0xcc]
mov dword [rbp - 0x54], eax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rbp + 0xd8]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [rbp + 0xe4]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x34], eax
movss dword [rbp - 0x30], xmm11
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x28]
call fcn.140031c00
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x28], eax
movzx eax, byte [rbp + 0x14c]
mov byte [rbp + 0x2c], al
movss xmm0, dword [rbp + 0x150]
movss dword [rbp + 0x30], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x50], rax
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x160]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x1e8]
test ecx, ecx
je 0x1401185c9
sub ecx, 1
je 0x1401185c2
sub ecx, 1
je 0x1401185b7
cmp ecx, 1
je 0x1401185bb
mov eax, esi
jmp 0x1401185ce
mov eax, 6
jmp 0x1401185ce
mov eax, 4
jmp 0x1401185ce
mov eax, 3
cmp dword [rbp + 0x278], eax
jl 0x140118775
movss xmm5, dword [0x1402fba30]
movss xmm3, dword [0x1402fba34]
movss xmm4, dword [0x1402fba38]
movss xmm1, dword [rbp + 0x268]
movss xmm0, dword [rbp + 0x264]
movss xmm2, dword [rbp + 0x260]
ucomiss xmm2, xmm5
jp 0x14011861f
jne 0x14011861f
ucomiss xmm0, xmm3
jp 0x14011861f
jne 0x14011861f
ucomiss xmm1, xmm4
jp 0x14011861f
je 0x14011863d
comiss xmm2, xmm6
jbe 0x14011863d
comiss xmm0, xmm6
jbe 0x14011863d
comiss xmm1, xmm6
jbe 0x14011863d
comiss xmm7, xmm2
jbe 0x14011863d
comiss xmm7, xmm0
jbe 0x14011863d
comiss xmm7, xmm1
ja 0x140118656
ucomiss xmm2, xmm5
jp 0x140118656
jne 0x140118656
ucomiss xmm0, xmm3
jp 0x140118656
jne 0x140118656
ucomiss xmm1, xmm4
jp 0x140118656
je 0x140118775
call fcn.14013edd0
mov r15, rax
movsd xmm8, qword [rbp + 0x260]
mov r12d, dword [rbp + 0x268]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140118775
mov r14, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x1401186dc
lea rcx, [rsp + 0x20]
call fcn.140014500
mov rdi, qword [rsp + 0x20]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0x170]
call fcn.140066940
test al, al
jne 0x140118775
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140118775
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x140118730
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x40], xmm8
mov dword [rsp + 0x48], r12d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r15
call fcn.14006d7b0
test al, al
je 0x140118775
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x1b0], xmm0
lea rcx, [rbp + 0x228]
call fcn.140034070
lea rcx, [rbp + 0x178]
call fcn.140033e60
lea rcx, [rbp + 0x160]
call fcn.140033e60
movss xmm11, dword [rbp + 0xf0]
mov ebx, dword [rbp + 0xb8]
mov r12d, dword [rbp + 0xb4]
movss xmm15, dword [rbp + 0x9c]
movss xmm12, dword [rbp + 0x98]
movss xmm14, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
mov rax, qword [r13 + 0x118]
cmp byte [rax + 0x2b0], 0
je 0x140118b16
mov rdi, qword [rsp + 0x60]
cmp byte [rdi + 0xe8], 0
je 0x140118b16
movss xmm0, dword [rdi + 0x120]
comiss xmm0, dword [0x1402fb3b0]
jb 0x140118b16
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm14
movss dword [rsp + 0x78], xmm12
movss dword [rsp + 0x7c], xmm15
mov eax, dword [rbp + 0xa0]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp - 0x7c], eax
movzx eax, byte [rbp + 0xa8]
mov byte [rbp - 0x78], al
movsd xmm0, qword [rbp + 0xac]
movsd qword [rbp - 0x74], xmm0
mov dword [rbp - 0x6c], r12d
mov dword [rbp - 0x68], ebx
movzx eax, byte [rbp + 0xbc]
mov byte [rbp - 0x64], al
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x60], eax
movsd xmm0, qword [rbp + 0xc4]
movsd qword [rbp - 0x5c], xmm0
mov eax, dword [rbp + 0xcc]
mov dword [rbp - 0x54], eax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movsd xmm0, qword [rbp + 0xd8]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x40], eax
movsd xmm0, qword [rbp + 0xe4]
movsd qword [rbp - 0x3c], xmm0
mov eax, dword [rbp + 0xec]
mov dword [rbp - 0x34], eax
movss dword [rbp - 0x30], xmm11
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x28]
call fcn.140031c00
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x28], eax
movzx eax, byte [rbp + 0x14c]
mov byte [rbp + 0x2c], al
movss xmm0, dword [rbp + 0x150]
movss dword [rbp + 0x30], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x50], rdi
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x160]
mov rcx, qword [0x1402fb4e8]
call fcn.14015e510
nop
lea rcx, [rbp]
call fcn.140034070
nop
mov ecx, dword [r13 + 0x1e8]
test ecx, ecx
je 0x140118947
sub ecx, 1
je 0x140118940
sub ecx, 1
je 0x14011894c
cmp ecx, 1
jne 0x14011894c
lea esi, [rcx + 5]
jmp 0x14011894c
mov esi, 4
jmp 0x14011894c
mov esi, 3
cmp dword [rbp + 0x278], esi
jl 0x140118af1
movss xmm5, dword [0x1402fba30]
movss xmm4, dword [0x1402fba34]
movss xmm3, dword [0x1402fba38]
movss xmm0, dword [rbp + 0x268]
movss xmm1, dword [rbp + 0x264]
movss xmm2, dword [rbp + 0x260]
ucomiss xmm2, xmm5
jp 0x14011899d
jne 0x14011899d
ucomiss xmm1, xmm4
jp 0x14011899d
jne 0x14011899d
ucomiss xmm0, xmm3
jp 0x14011899d
je 0x1401189bb
comiss xmm2, xmm6
jbe 0x1401189bb
comiss xmm1, xmm6
jbe 0x1401189bb
comiss xmm0, xmm6
jbe 0x1401189bb
comiss xmm7, xmm2
jbe 0x1401189bb
comiss xmm7, xmm1
jbe 0x1401189bb
comiss xmm7, xmm0
ja 0x1401189d4
ucomiss xmm2, xmm5
jp 0x1401189d4
jne 0x1401189d4
ucomiss xmm1, xmm4
jp 0x1401189d4
jne 0x1401189d4
ucomiss xmm0, xmm3
jp 0x1401189d4
je 0x140118af1
call fcn.14013edd0
mov r14, rax
movsd xmm6, qword [rbp + 0x260]
mov r15d, dword [rbp + 0x268]
mov rcx, qword [0x1402fb490]
cmp byte [rcx + 0x6c], 0
jne 0x140118af1
mov rsi, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x140118a59
lea rcx, [rsp + 0x20]
call fcn.140014500
mov rdi, qword [rsp + 0x20]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsi + 0x170]
call fcn.140066940
test al, al
jne 0x140118af1
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x140118af1
mov rax, qword [0x1402fb9c0]
test rax, rax
jne 0x140118aad
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
movsd qword [rsp + 0x40], xmm6
mov dword [rsp + 0x48], r15d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1401d5b90
xor r9d, r9d
mov r8, qword [rax]
lea edx, [r9 + 3]
mov rcx, r14
call fcn.14006d7b0
test al, al
je 0x140118af1
movss xmm0, dword [0x1402fb394]
movss dword [r13 + 0x1b0], xmm0
lea rcx, [rbp + 0x228]
call fcn.140034070
lea rcx, [rbp + 0x178]
call fcn.140033e60
lea rcx, [rbp + 0x160]
call fcn.140033e60
nop
lea rcx, [rbp + 0x120]
call fcn.140034070
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1402283f0
lea r11, [rsp + 0x420]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret