Function at 0x140024040
Capabilities:
Hash data with crc32

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 - 0x128]
sub rsp, 0x1f0
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 [0x1402d59c0]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rbx, r9
mov qword [rsp + 0x60], rbx
mov r14, rdx
mov rdi, rcx
mov qword [rsp + 0x68], rcx
mov r15, qword [rbp + 0x150]
mov qword [rbp - 0x80], r15
mov r13, qword [0x1402dbcc0]
mov rax, qword [r13 + 0x11e0]
mov byte [rax + 0xb8], 1
mov rax, qword [r13 + 0x11e0]
mov qword [rsp + 0x50], rax
cmp byte [rax + 0xbb], 0
jne 0x140024b02
movsxd r8, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140062980
mov r12d, eax
movsxd rax, dword [r13 + 0x1b98]
cmp dword [r13 + 0x1b88], eax
jle 0x14002413f
imul rdx, rax, 0x38
mov rcx, qword [r13 + 0x1b90]
cmp dword [rdx + rcx], r12d
mov byte [rsp + 0x41], 1
je 0x140024144
mov byte [rsp + 0x41], 0
xor esi, esi
mov edx, esi
movsxd rcx, dword [rbx]
test ecx, ecx
js 0x140024175
mov r8, qword [r15]
mov rax, qword [r15 + 8]
sub rax, r8
sar rax, 5
cmp ecx, eax
jge 0x140024175
mov rdx, rcx
shl rdx, 5
add rdx, r8
cmp qword [rdx + 0x18], 0xf
jbe 0x140024175
mov rdx, qword [rdx]
cmp byte [r14], sil
je 0x1400241ae
test rdx, rdx
je 0x1400241ae
mov rax, r14
sub rdx, r14
nop word [rax + rax]
movzx r8d, byte [rax]
movzx ecx, byte [rax + rdx]
sub r8d, ecx
jne 0x1400241a4
inc rax
test ecx, ecx
jne 0x140024190
test r8d, r8d
mov byte [rsp + 0x40], 1
jne 0x1400241b3
mov byte [rsp + 0x40], sil
movss xmm7, dword [r13 + 0xb10]
addss xmm7, xmm7
addss xmm7, dword [r13 + 0xf18]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x1400241ef
movzx edx, byte [rcx]
test dl, dl
je 0x1400241ef
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1400241e6
cmp byte [rax], dl
je 0x1400241ef
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1400241d2
movss xmm15, dword [r13 + 0xf18]
xorps xmm14, xmm14
cmp rdi, rcx
jne 0x140024207
xorps xmm9, xmm9
jmp 0x140024263
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss xmm0, dword [0x1402a7490]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1402a7480]
movaps xmm2, xmm15
lea rdx, [rsp + 0x48]
mov rcx, qword [r13 + 0xf10]
call fcn.140080870
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1402a7370]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss xmm15, dword [rsp + 0x4c]
call fcn.140071f90
movaps xmm8, xmm0
movss xmm5, dword [r13 + 0xb10]
movaps xmm2, xmm15
mov rbx, qword [rsp + 0x50]
addss xmm2, dword [rbx + 0x104]
movaps xmm1, xmm5
addss xmm1, xmm5
addss xmm2, xmm1
movss xmm4, dword [rbx + 0x100]
movaps xmm1, xmm4
addss xmm1, xmm8
movss dword [rbp - 0x68], xmm4
movss xmm6, dword [rbx + 0x104]
movss dword [rbp - 0x64], xmm6
movss dword [rbp - 0x60], xmm1
movss dword [rbp - 0x5c], xmm2
comiss xmm9, xmm14
jbe 0x1400242d2
movaps xmm3, xmm9
addss xmm3, dword [r13 + 0xb24]
jmp 0x1400242d5
xorps xmm3, xmm3
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [rbp - 0x78], xmm4
movss dword [rbp - 0x74], xmm6
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm2
subss xmm1, xmm7
movaps xmm10, xmm4
maxss xmm10, xmm1
subss xmm2, xmm6
subss xmm0, xmm4
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm2
movaps xmm1, xmm5
lea rcx, [rsp + 0x48]
call fcn.140071b20
xor r9d, r9d
lea r8, [rbp - 0x68]
mov edx, r12d
lea rcx, [rbp - 0x78]
call fcn.140071c90
test al, al
je 0x140024b02
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x43]
mov edx, r12d
lea rcx, [rbp - 0x68]
call fcn.140089fe0
mov byte [rsp + 0x42], al
movss xmm11, dword [rbp - 0x5c]
cmp byte [rsp + 0x41], sil
jne 0x14002440a
mov rdx, qword [0x1402dbcc0]
mov ecx, 0x14c
mov eax, 0x15c
movzx edi, byte [rsp + 0x43]
test dil, dil
cmovne ecx, eax
movups xmm0, xmmword [rcx + rdx + 0xad0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rdx + 0xad0]
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.140062f00
mov ebx, eax
mov r8d, 1
mov edx, r12d
lea rcx, [rbp - 0x68]
call fcn.140064c60
movss xmm0, dword [r13 + 0xb14]
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x4c], xmm11
mov dword [rsp + 0x28], 0x50
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x68]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx + 0x298]
call fcn.14007dfa0
test dil, dil
mov eax, 0x22c
je 0x14002440f
mov eax, 0x23c
mov r8, qword [0x1402dbcc0]
movups xmm0, xmmword [rax + r8 + 0xad0]
movups xmmword [rbp - 0x78], xmm0
movss xmm6, dword [r8 + 0xad0]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.140062f00
mov r9d, eax
movups xmm0, xmmword [r8 + 0xbac]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.140062f00
mov edi, eax
movss xmm0, dword [r13 + 0xb14]
movss dword [rsp + 0x48], xmm10
movss xmm12, dword [rbp - 0x64]
movss dword [rsp + 0x4c], xmm12
mov ecx, 0xa0
mov eax, 0xf0
comiss xmm7, xmm8
cmovae ecx, eax
mov dword [rsp + 0x28], ecx
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x48]
mov rcx, qword [rbx + 0x298]
call fcn.14007dfa0
movaps xmm0, xmm10
addss xmm0, xmm7
subss xmm0, dword [r13 + 0xb0c]
movss xmm13, dword [rbp - 0x60]
comiss xmm13, xmm0
jb 0x140024596
movss xmm6, dword [r13 + 0xb10]
movaps xmm5, xmm6
addss xmm5, xmm12
addss xmm6, xmm10
mov rcx, qword [rbx + 0x298]
mov rax, qword [rcx + 0x38]
movss xmm0, dword [rax + 0x10]
movaps xmm3, xmm0
mulss xmm3, dword [0x1402a7338]
mulss xmm0, dword [0x1402a7340]
addss xmm5, xmm0
addss xmm6, xmm0
movaps xmm4, xmm3
mulss xmm4, dword [0x1402a735c]
movaps xmm2, xmm3
mulss xmm2, xmm14
movaps xmm1, xmm3
mulss xmm1, dword [0x1402a748c]
movaps xmm0, xmm3
mulss xmm0, dword [0x1402a7488]
mulss xmm3, dword [0x1402a7368]
addss xmm0, xmm5
addss xmm3, xmm6
movss dword [rsp + 0x48], xmm3
movss dword [rsp + 0x4c], xmm0
addss xmm1, xmm6
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x5c], xmm0
addss xmm4, xmm5
addss xmm2, xmm6
movss dword [rbp - 0x78], xmm2
movss dword [rbp - 0x74], xmm4
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x78]
call fcn.14007e150
movss xmm6, dword [rbp - 0x68]
movzx ebx, byte [rsp + 0x41]
test bl, bl
jne 0x140024669
movss xmm2, dword [r13 + 0xb14]
movaps xmm0, xmm13
unpcklps xmm0, xmm11
movq rdx, xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm12
movq rcx, xmm1
call fcn.140064b10
mov qword [rbp - 0x78], rsi
movss dword [rsp + 0x58], xmm10
movss dword [rsp + 0x5c], xmm11
movaps xmm1, xmm12
addss xmm1, dword [r13 + 0xb10]
movaps xmm0, xmm6
addss xmm0, dword [r13 + 0xb0c]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
mov qword [rsp + 0x30], rsi
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, r14
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.140063fd0
cmp byte [rsp + 0x42], sil
jne 0x140024645
cmp dword [r13 + 0x1be0], r12d
je 0x140024645
cmp byte [rsp + 0x40], sil
je 0x140024669
mov rdi, qword [rsp + 0x50]
cmp dword [rdi + 0x158], esi
jne 0x140024659
mov dword [rdi + 0x3a0], r12d
mov ecx, r12d
call fcn.140072e60
mov bl, 1
movzx r12d, bl
jmp 0x140024671
xor r12b, r12b
mov rdi, qword [rsp + 0x50]
comiss xmm9, xmm14
jbe 0x1400246a9
movaps xmm1, xmm12
addss xmm1, dword [r13 + 0xb10]
movaps xmm0, xmm13
addss xmm0, dword [r13 + 0xb24]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x68]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.1400636d0
test bl, bl
je 0x140024b02
subss xmm8, xmm7
movss dword [rsp + 0x78], xmm8
mov rax, qword [0x1402dbcc0]
or dword [rax + 0x1ab8], 0x10
mov qword [rbp - 0x68], rsi
mov dword [rbp - 0x5c], 0x43160000
movups xmm1, xmmword [rbp - 0x68]
shufps xmm1, xmm1, 0xd2
movss xmm1, xmm8
shufps xmm1, xmm1, 0xc9
movups xmmword [rbp - 0x68], xmm1
movups xmmword [rax + 0x1af4], xmm1
lea rcx, [0x140025380]
mov qword [rax + 0x1b08], rcx
lea rcx, [rsp + 0x78]
mov qword [rax + 0x1b10], rcx
mov r9d, dword [r13 + 0x1b98]
lea r8, str.Combo__02d
mov eax, reloc.WS2_32.dll_recv
mov qword [rsp + 0x48], rax
mov edx, eax
lea rcx, [rbp - 0x58]
call fcn.1400627e0
mov edx, 0xffffffff
lea r8, [rbp - 0x57]
movzx r9d, byte [rbp - 0x58]
lea r10, [0x1402a20e0]
test r9b, r9b
je 0x140024784
mov edi, edx
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x140024762
cmp byte [r8], r9b
jne 0x140024762
cmp byte [r8 + 1], r9b
cmove edx, edi
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r10 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x140024750
mov rdi, qword [rsp + 0x50]
not edx
mov ecx, edx
call fcn.14006a390
mov rbx, rax
test rax, rax
je 0x14002492d
cmp byte [rax + 0xb7], sil
je 0x14002492d
mov qword [rsp + 0x50], rsi
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.14006ab70
lea r8, [rsp + 0x50]
mov rdx, rcx
lea rcx, [rsp + 0x68]
call fcn.14006ac80
lea r8, [rsp + 0x68]
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.14006a920
lea rcx, [rbp - 0x68]
call fcn.140073720
movdqa xmm0, xmmword [0x1402a7530]
movdqu xmmword [rsp + 0x68], xmm0
mov edx, dword [rbx + 0xd4]
lea eax, [rdx + 1]
neg eax
sbb rcx, rcx
movss xmm5, dword [rbp - 0x74]
movss xmm4, dword [rbp - 0x78]
movss xmm7, dword [rbp - 0x5c]
movss xmm8, dword [rbp - 0x60]
movss xmm9, dword [rbp - 0x64]
movss xmm10, dword [rbp - 0x68]
cmp rcx, 0xffffffffffffffff
jne 0x14002482f
mov eax, edx
jmp 0x140024837
mov eax, dword [rsp + rcx*4 + 0x68]
cmp eax, edx
je 0x1400248a7
movaps xmm2, xmm14
movaps xmm1, xmm14
cmp eax, 3
jne 0x14002484d
movaps xmm2, xmm6
movaps xmm1, xmm11
jmp 0x14002487e
cmp eax, 1
jne 0x140024857
movaps xmm2, xmm6
jmp 0x140024876
test eax, eax
jne 0x140024869
movaps xmm2, xmm13
subss xmm2, xmm4
movaps xmm1, xmm11
jmp 0x14002487e
cmp eax, 2
jne 0x14002487e
movaps xmm2, xmm13
subss xmm2, xmm4
movaps xmm1, xmm12
subss xmm1, xmm5
movaps xmm3, xmm1
addss xmm3, xmm5
movaps xmm0, xmm2
addss xmm0, xmm4
comiss xmm2, xmm10
jb 0x1400248a7
comiss xmm1, xmm9
jb 0x1400248a7
comiss xmm8, xmm0
jb 0x1400248a7
comiss xmm7, xmm3
jae 0x140024b6b
inc rcx
cmp rcx, 4
jl 0x140024825
mov dword [rbx + 0xd4], 0xffffffff
movaps xmm2, xmm4
addss xmm2, xmm6
minss xmm2, xmm8
subss xmm2, xmm4
maxss xmm2, xmm10
movaps xmm1, xmm5
addss xmm1, xmm11
minss xmm1, xmm7
subss xmm1, xmm5
maxss xmm1, xmm9
movss xmm0, dword [r13 + 0xb10]
addss xmm0, xmm0
addss xmm0, xmm15
subss xmm1, xmm0
mov rax, qword [0x1402dbcc0]
or dword [rax + 0x1ab8], 1
movss dword [rax + 0x1ac8], xmm2
movss dword [rax + 0x1acc], xmm1
mov qword [rax + 0x1ad0], rsi
mov dword [rax + 0x1abc], 1
xor edx, edx
mov r8d, 0x4000143
lea rcx, [rbp - 0x58]
call fcn.14006cba0
movzx ebx, al
mov rcx, qword [0x1402dbcc0]
mov rdx, qword [rcx + 0x11e0]
movss xmm0, dword [rdx + 0x28]
call fcn.140071ee0
movss xmm2, dword [rdi + 0x138]
mov r11, qword [0x1402dbcc0]
mov rcx, qword [r11 + 0x11e0]
mov byte [rcx + 0xb8], 1
mov rcx, qword [r11 + 0x11e0]
movss xmm0, dword [rcx + 0x24]
subss xmm0, dword [rcx + 0x88]
addss xmm2, xmm0
movss xmm1, dword [rcx + 0x20]
subss xmm1, dword [rcx + 0x84]
addss xmm1, xmm14
movss dword [rcx + 0x100], xmm1
movss dword [rcx + 0x104], xmm2
mov byte [rcx + 0x141], 1
test r12b, r12b
je 0x140024a36
mov rax, qword [r11 + 0x11e0]
cmp byte [r11 + 0x1d90], sil
jne 0x140024a36
cmp qword [r11 + 0x11f8], rsi
jne 0x140024a36
cmp qword [r11 + 0x1bd0], rax
je 0x1400249e5
mov qword [r11 + 0x1bd0], rax
mov word [r11 + 0x1c48], si
mov word [r11 + 0x1c10], si
mov ecx, 0x21
mov r9d, 3
cmp byte [rax + 0xbc], sil
cmovne r9d, ecx
mov edx, 3
mov ecx, 0xffffffff
mov r8d, 0x1600
call fcn.140074800
mov dword [r11 + 0x1c88], 1
mov dword [r11 + 0x1c8c], 1
mov qword [rbp - 0x78], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x7f
mov r8, r14
xor edx, edx
lea rcx, str.inputText
call fcn.140091ce0
mov byte [rsp + 0x42], al
mov r9, qword [0x1402dbcc0]
mov rcx, qword [r9 + 0x11e0]
mov byte [rcx + 0xb8], 1
mov r8, qword [r9 + 0x11e0]
movsxd rax, dword [r8 + 0x1c8]
mov rcx, qword [r8 + 0x1d0]
mov edx, dword [rcx + rax*4 - 4]
mov dword [r8 + 0x1bc], edx
dec eax
mov dword [r8 + 0x1c8], eax
test bl, bl
jne 0x140024b76
call fcn.14006a080
mov rdx, qword [0x1402dbcc0]
mov rax, qword [rdx + 0x11e0]
mov byte [rax + 0xb8], 1
mov r9, qword [rdx + 0x11e0]
movsxd r8, dword [r9 + 0x1c8]
mov rax, qword [r9 + 0x1d0]
mov edx, dword [rax + r8*4 - 4]
mov dword [r9 + 0x1bc], edx
lea eax, [r8 - 1]
mov dword [r9 + 0x1c8], eax
call fcn.140073350
nop
mov rcx, r15
call fcn.14004d670
xor al, al
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1401ca4f0
lea r11, [rsp + 0x1f0]
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
mov dword [rbx + 0xd4], eax
jmp 0x1400248e8
mov rdx, qword [r9 + 0x11e0]
mov rax, rdx
mov r8, qword [rdx + 0x1a8]
test r8, r8
jne 0x140024bb6
cmp qword [r9 + 0x1e48], rsi
jne 0x140024bb6
movss xmm1, dword [rdx + 0x254]
subss xmm1, dword [rdx + 0x104]
movss xmm2, dword [rdx + 0x100]
add rdx, 0x250
jmp 0x140024bec
movss xmm1, dword [rdx + 0x224]
subss xmm1, dword [rdx + 0x104]
movss xmm2, dword [rdx + 0x100]
test r8, r8
jne 0x140024be5
cmp qword [r9 + 0x1e48], rsi
jne 0x140024be5
add rdx, 0x250
jmp 0x140024bec
add rdx, 0x220
movss xmm0, dword [rdx]
subss xmm0, xmm2
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
mov byte [rax + 0xb8], 1
mov rax, qword [r9 + 0x11e0]
movsxd r8, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.ChildL
call fcn.140062980
mov dword [rsp + 0x20], 0xc0000
xor r9d, r9d
lea r8, [rsp + 0x58]
mov edx, eax
lea rcx, str.ChildL
call fcn.140069e10
xor al, al
mov byte [rsp + 0x41], al
cmp byte [r14], al
je 0x140024cf6
mov edi, esi
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x140024cde
mov r12, rsi
lea rbx, [r12 + rcx]
cmp qword [rbx + 0x18], 0xf
jbe 0x140024c81
mov rbx, qword [rbx]
cmp byte [r14], sil
jne 0x140024ca5
cmp byte [rbx], sil
jne 0x140024cc6
test edi, edi
js 0x140024cde
mov r13, qword [rsp + 0x60]
cmp dword [r13], edi
setne al
mov byte [rsp + 0x41], al
mov dword [r13], edi
jmp 0x140024cfb
mov rdx, r14
mov rcx, rbx
call fcn.1401cc75c
test rax, rax
jne 0x140024c8b
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x140024c8b
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x140024c73
mov r13, qword [rsp + 0x60]
mov edi, dword [r13]
cmp edi, edi
setne al
mov byte [rsp + 0x41], al
mov dword [r13], edi
jmp 0x140024cfb
mov r13, qword [rsp + 0x60]
xor al, al
mov byte [rsp + 0x40], al
xor edx, edx
mov ecx, 0x203
mov r8d, 1
call fcn.140070230
test al, al
je 0x140024d3f
mov eax, dword [r13]
test eax, eax
jle 0x140024d3f
dec eax
mov dword [r13], eax
mov byte [rsp + 0x40], 1
xor edx, edx
mov rcx, qword [0x1402dbcc0]
mov rcx, qword [rcx + 0x11e0]
call fcn.14006f060
xor edx, edx
mov ecx, 0x204
mov r8d, 1
call fcn.140070230
test al, al
je 0x140024d8b
mov ecx, dword [r13]
cmp ecx, 0xffffffff
jl 0x140024d8b
mov eax, dword [rbp + 0x158]
dec eax
cmp ecx, eax
jge 0x140024d8b
lea eax, [rcx + 1]
mov dword [r13], eax
mov byte [rsp + 0x40], 1
xor edx, edx
mov rcx, qword [0x1402dbcc0]
mov rcx, qword [rcx + 0x11e0]
call fcn.14006f060
xor edx, edx
mov ecx, 0x20d
mov r8d, 1
call fcn.140070230
test al, al
je 0x140024e2c
mov byte [rsp + 0x40], 1
mov edi, esi
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x140024e1c
mov r12, rsi
lea rbx, [r12 + rcx]
cmp qword [rbx + 0x18], 0xf
jbe 0x140024dcf
mov rbx, qword [rbx]
cmp byte [r14], sil
jne 0x140024de3
cmp byte [rbx], sil
jne 0x140024e04
mov dword [r13], edi
test edi, edi
jns 0x140024e27
jmp 0x140024e24
mov rdx, r14
mov rcx, rbx
call fcn.1401cc75c
test rax, rax
jne 0x140024dd9
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x140024dd9
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x140024dc1
mov dword [r13], 0xffffffff
mov byte [r14], sil
call fcn.1400732a0
xor edx, edx
mov ecx, 0x20b
mov r8d, 1
call fcn.140070230
test al, al
je 0x140024ec6
mov edi, esi
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x140024eb3
mov r12, rsi
nop dword [rax]
lea rbx, [r12 + rcx]
cmp qword [rbx + 0x18], 0xf
jbe 0x140024e6e
mov rbx, qword [rbx]
cmp byte [r14], sil
jne 0x140024e7a
cmp byte [rbx], sil
je 0x140024eb8
jmp 0x140024e9b
mov rdx, r14
mov rcx, rbx
call fcn.1401cc75c
test rax, rax
jne 0x140024eb8
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x140024eb8
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x140024e60
mov edi, 0xffffffff
mov dword [r13], edi
mov dil, 1
mov byte [rsp + 0x41], dil
jmp 0x140024ecb
movzx edi, byte [rsp + 0x41]
movzx r8d, byte [rsp + 0x40]
cmp byte [rsp + 0x42], sil
je 0x140024ee8
test r8b, r8b
jne 0x140024ee8
call fcn.1400732a0
movzx r8d, byte [rsp + 0x40]
mov byte [rsp + 0x43], sil
mov ebx, esi
cmp dword [rbp + 0x158], esi
jle 0x1400250fc
mov qword [rbp - 0x78], rbx
mov r12, rsi
jmp 0x140024f15
movzx edi, byte [rsp + 0x41]
cmp ebx, dword [r13]
sete byte [rsp + 0x44]
jne 0x140025067
mov rdx, qword [0x1402dbcc0]
mov rax, qword [rdx + 0x11e0]
cmp byte [rax + 0xbc], sil
jne 0x140024f44
test dil, dil
je 0x140024fd0
mov rcx, rax
movss xmm3, dword [rax + 0x54]
movaps xmm2, xmm3
maxss xmm2, dword [rdx + 0xb20]
movss xmm1, dword [rax + 0x10c]
movaps xmm0, xmm1
subss xmm0, xmm2
addss xmm1, dword [rax + 0x134]
addss xmm1, xmm2
subss xmm1, xmm0
movss xmm4, dword [0x1402a7340]
mulss xmm1, xmm4
addss xmm1, xmm0
subss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x64]
subss xmm1, dword [rax + 0x74]
addss xmm1, dword [rax + 0x88]
cvttss2si eax, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [rcx + 0x98], xmm0
mov dword [rcx + 0xa0], 0x3f000000
subss xmm3, xmm2
movaps xmm0, xmm14
maxss xmm0, xmm3
movss dword [rcx + 0xa8], xmm0
jmp 0x140024fd8
movss xmm4, dword [0x1402a7340]
test r8b, r8b
je 0x140025067
mov rcx, qword [rdx + 0x11e0]
movss xmm3, dword [rcx + 0x54]
movaps xmm2, xmm3
maxss xmm2, dword [rdx + 0xb20]
movss xmm1, dword [rcx + 0x10c]
movaps xmm0, xmm1
subss xmm0, xmm2
addss xmm1, dword [rcx + 0x134]
addss xmm1, xmm2
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
subss xmm1, dword [rcx + 0x24]
subss xmm1, dword [rcx + 0x64]
subss xmm1, dword [rcx + 0x74]
addss xmm1, dword [rcx + 0x88]
cvttss2si eax, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [rcx + 0x98], xmm0
mov dword [rcx + 0xa0], 0x3f000000
subss xmm3, xmm2
movaps xmm0, xmm14
maxss xmm0, xmm3
movss dword [rcx + 0xa8], xmm0
mov rdi, rsi
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp ebx, eax
jge 0x14002508a
lea rdi, [rcx + r12]
cmp qword [rdi + 0x18], 0xf
jbe 0x14002508a
mov rdi, qword [rdi]
mov dword [rsp + 0x20], ebx
mov r9, rdi
lea r8, str._sitem__02d
mov edx, 0x80
lea rcx, [rbp - 0x40]
call fcn.1400627e0
lea r9, [rbp - 0x78]
movzx edx, byte [rsp + 0x44]
lea rcx, [rbp - 0x40]
call fcn.1400965b0
test al, al
je 0x1400250e4
cmp dword [r13], ebx
setne byte [rsp + 0x41]
mov dword [r13], ebx
mov r8d, 0x7f
mov rdx, rdi
mov rcx, r14
call fcn.14020c2f0
call fcn.1400732a0
mov byte [rsp + 0x43], 1
inc ebx
add r12, 0x20
cmp ebx, dword [rbp + 0x158]
movzx r8d, byte [rsp + 0x40]
jl 0x140024f10
cmp byte [rsp + 0x40], sil
je 0x1400252df
movsxd rcx, dword [r13]
cmp ecx, 0xffffffff
jle 0x1400252df
mov rdx, rsi
mov r9, qword [r15]
mov rax, qword [r15 + 8]
sub rax, r9
sar rax, 5
cmp ecx, eax
jge 0x14002513d
mov rdx, rcx
shl rdx, 5
add rdx, r9
cmp qword [rdx + 0x18], 0xf
jbe 0x14002513d
mov rdx, qword [rdx]
mov r8d, 0x7f
mov rcx, r14
call fcn.14020c2f0
mov ecx, 0xffffffff
lea r8, [rbp - 0x57]
movzx r9d, byte [rbp - 0x58]
test r9b, r9b
je 0x14002519d
mov r13d, ecx
lea r10, [0x1402a20e0]
cmp r9b, 0x23
jne 0x14002517b
cmp byte [r8], r9b
jne 0x14002517b
cmp byte [r8 + 1], r9b
cmove ecx, r13d
movzx edx, cl
movzx eax, r9b
xor rdx, rax
shr ecx, 8
xor ecx, dword [r10 + rdx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x140025168
mov r13, qword [rsp + 0x60]
not ecx
call fcn.14006a390
movsxd r8, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.inputText
call fcn.140062980
mov rcx, qword [0x1402dbcc0]
test eax, eax
je 0x140025223
cmp dword [rcx + 0x1f30], eax
jne 0x140025223
lea r8, [rcx + 0x1f34]
mov qword [rbp - 0x78], r8
lea rax, [rcx + 0x1f38]
mov qword [rsp + 0x48], rax
lea rdx, [rcx + 0x1f7c]
mov qword [rsp + 0x58], rdx
lea rdx, [rcx + 0x1f80]
mov qword [rsp + 0x60], rdx
lea rdx, [rcx + 0x1f84]
mov qword [rsp + 0x68], rdx
lea rax, [rcx + 0x1f40]
add rcx, 0x1f48
jmp 0x140025250
mov qword [rbp - 0x78], select
mov qword [rsp + 0x58], 0x54
mov qword [rsp + 0x60], 0x58
mov qword [rsp + 0x68], 0x5c
mov eax, 0x18
mov ecx, 0x20
mov rdi, r14
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
mov rbx, rcx
movsxd r12, dword [rax]
dec r12
lea r12, [rcx + r12*4]
cmp rcx, r12
jae 0x14002529e
nop dword [rax]
cmp byte [rdi], sil
je 0x14002529a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.140062c90
movsxd rcx, eax
add rdi, rcx
mov eax, dword [rsp + 0x50]
mov dword [rbx], eax
add rbx, 4
cmp rbx, r12
jb 0x140025270
mov rcx, qword [rbp - 0x68]
mov dword [rbx], esi
sub rbx, rcx
sar rbx, 2
mov rax, qword [rbp - 0x78]
mov dword [rax], ebx
sub edi, r14d
mov rax, qword [rsp + 0x48]
mov dword [rax], edi
mov rdx, qword [rsp + 0x58]
mov ecx, ebx
cmp dword [rdx], ebx
cmovl ecx, dword [rdx]
mov dword [rdx], ecx
mov rdx, qword [rsp + 0x60]
mov ecx, ebx
cmp dword [rdx], ebx
cmovl ecx, dword [rdx]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x68]
cmp dword [rcx], ebx
cmovl ebx, dword [rcx]
mov dword [rcx], ebx
call fcn.14006a080
call fcn.140073350
movsxd rcx, dword [r13]
test ecx, ecx
js 0x140025317
mov rdx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rdx
sar rax, 5
cmp ecx, eax
jge 0x140025317
mov rsi, rcx
shl rsi, 5
add rsi, rdx
cmp qword [rsi + 0x18], 0xf
jbe 0x140025317
mov rsi, qword [rsi]
cmp byte [rsp + 0x41], 0
je 0x14002534b
test rsi, rsi
je 0x14002534b
sub r14, rsi
nop word [rax + rax]
movzx ecx, byte [rsi]
movzx eax, byte [rsi + r14]
sub ecx, eax
jne 0x140025343
inc rsi
test eax, eax
jne 0x140025330
test ecx, ecx
jne 0x14002534b
mov al, 1
jmp 0x14002534d
xor al, al
cmp byte [rsp + 0x42], 0
jne 0x140025363
cmp byte [rsp + 0x43], 0
jne 0x140025363
test al, al
jne 0x140025363
xor bl, bl
jmp 0x140025365
mov bl, 1
mov rcx, r15
call fcn.14004d670
movzx eax, bl
jmp 0x140024b0c