Function at 0x140029ba0
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 [0x1402d78c0]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rbx, r9
mov qword [rsp + 0x68], rbx
mov rsi, rdx
mov qword [rsp + 0x50], rcx
mov r15, qword [rbp + 0x150]
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x78], r15
mov r13, qword [0x1402dddc0]
mov rax, qword [r13 + 0x11e0]
mov byte [rax + 0xb8], 1
mov r12, qword [r13 + 0x11e0]
cmp byte [r12 + 0xbb], 0
jne 0x14002a5d4
movsxd r8, dword [r12 + 0xf0]
mov rax, qword [r12 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140069e00
mov edi, eax
mov dword [rsp + 0x60], eax
movsxd rax, dword [r13 + 0x1b98]
cmp dword [r13 + 0x1b88], eax
jle 0x140029ca1
imul rdx, rax, 0x38
mov rcx, qword [r13 + 0x1b90]
cmp dword [rdx + rcx], edi
mov byte [rsp + 0x41], 1
je 0x140029ca6
mov byte [rsp + 0x41], 0
xor r14d, r14d
mov edx, r14d
movsxd rcx, dword [rbx]
test ecx, ecx
js 0x140029cd9
mov r8, qword [r15]
mov rax, qword [r15 + 8]
sub rax, r8
sar rax, 5
cmp ecx, eax
jge 0x140029cd9
mov rdx, rcx
shl rdx, 5
add rdx, r8
cmp qword [rdx + 0x18], 0xf
jbe 0x140029cd9
mov rdx, qword [rdx]
cmp byte [rsi], r14b
je 0x140029d0e
test rdx, rdx
je 0x140029d0e
mov rax, rsi
sub rdx, rsi
nop dword [rax]
movzx r8d, byte [rax]
movzx ecx, byte [rax + rdx]
sub r8d, ecx
jne 0x140029d04
inc rax
test ecx, ecx
jne 0x140029cf0
test r8d, r8d
mov byte [rsp + 0x40], 1
jne 0x140029d13
mov byte [rsp + 0x40], r14b
movss xmm8, dword [r13 + 0xb10]
addss xmm8, xmm8
addss xmm8, dword [r13 + 0xf18]
mov rax, qword [rsp + 0x50]
mov rcx, rax
cmp rax, 0xffffffffffffffff
jae 0x140029d5a
movzx edx, byte [rcx]
test dl, dl
je 0x140029d55
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140029d4c
cmp byte [rax], dl
je 0x140029d55
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140029d38
mov rax, qword [rsp + 0x50]
movss xmm14, dword [r13 + 0xf18]
xorps xmm7, xmm7
cmp rax, rcx
jne 0x140029d71
xorps xmm10, xmm10
jmp 0x140029dcd
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1402aaa40]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1402aaa30]
movaps xmm2, xmm14
lea rdx, [rsp + 0x48]
mov rcx, qword [r13 + 0xf10]
call fcn.140088820
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1402aa910]
cvttss2si eax, xmm0
movd xmm10, eax
cvtdq2ps xmm10, xmm10
movss xmm14, dword [rsp + 0x4c]
call fcn.140079520
movaps xmm11, xmm0
movss xmm5, dword [r13 + 0xb10]
movaps xmm2, xmm14
addss xmm2, dword [r12 + 0x104]
movaps xmm1, xmm5
addss xmm1, xmm5
addss xmm2, xmm1
movss xmm4, dword [r12 + 0x100]
movaps xmm1, xmm4
addss xmm1, xmm11
movss dword [rsp + 0x70], xmm4
movss xmm6, dword [r12 + 0x104]
movss dword [rsp + 0x74], xmm6
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x7c], xmm2
comiss xmm10, xmm7
jbe 0x140029e41
movaps xmm3, xmm10
addss xmm3, dword [r13 + 0xb24]
jmp 0x140029e44
xorps xmm3, xmm3
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [rbp - 0x70], xmm4
movss dword [rbp - 0x6c], xmm6
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm2
subss xmm1, xmm8
movaps xmm12, xmm4
maxss xmm12, 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.1400790b0
xor r9d, r9d
lea r8, [rsp + 0x70]
mov edx, edi
lea rcx, [rbp - 0x70]
call fcn.140079220
test al, al
je 0x14002a5d4
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x43]
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.140091fa0
mov byte [rsp + 0x42], al
movss xmm15, dword [rsp + 0x7c]
cmp byte [rsp + 0x41], r14b
jne 0x140029f7b
mov rdx, qword [0x1402dddc0]
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 - 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rdx + 0xad0]
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.14006a380
mov ebx, eax
mov r8d, 1
mov edx, dword [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.14006c170
movss xmm0, dword [r13 + 0xb14]
movss dword [rsp + 0x48], xmm12
movss dword [rsp + 0x4c], xmm15
mov dword [rsp + 0x28], 0x50
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [r12 + 0x298]
call fcn.140085b80
test dil, dil
mov eax, 0x22c
je 0x140029f80
mov eax, 0x23c
mov r8, qword [0x1402dddc0]
movups xmm0, xmmword [r8 + rax + 0xad0]
movups xmmword [rbp - 0x70], xmm0
movss xmm6, dword [r8 + 0xad0]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.14006a380
mov r9d, eax
movups xmm0, xmmword [r8 + 0xbac]
movups xmmword [rbp - 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp - 0x70]
call fcn.14006a380
mov ebx, eax
movss xmm0, dword [r13 + 0xb14]
movss dword [rsp + 0x48], xmm12
movss xmm9, dword [rsp + 0x74]
movss dword [rsp + 0x4c], xmm9
mov ecx, 0xa0
mov eax, 0xf0
comiss xmm8, xmm11
cmovae ecx, eax
mov dword [rsp + 0x28], ecx
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x48]
mov rcx, qword [r12 + 0x298]
call fcn.140085b80
movaps xmm0, xmm12
addss xmm0, xmm8
subss xmm0, dword [r13 + 0xb0c]
movss xmm13, dword [rsp + 0x78]
comiss xmm13, xmm0
jb 0x14002a118
movss xmm7, dword [r13 + 0xb10]
movaps xmm0, xmm7
addss xmm0, xmm9
mov rcx, qword [r12 + 0x298]
mov rax, qword [rcx + 0x38]
movss xmm1, dword [rax + 0x10]
movaps xmm6, xmm1
mulss xmm6, dword [0x1402aa8d8]
mulss xmm1, dword [0x1402aa8e0]
movaps xmm4, xmm1
addss xmm4, xmm0
addss xmm7, xmm12
addss xmm7, xmm1
movaps xmm5, xmm6
mulss xmm5, dword [0x1402aa8fc]
movaps xmm3, xmm6
mulss xmm3, dword [0x1402aaa38]
addss xmm3, xmm4
movaps xmm0, xmm6
mulss xmm0, dword [0x1402aa908]
addss xmm0, xmm7
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm3
movaps xmm1, xmm6
mulss xmm1, dword [0x1402aa908]
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm3
addss xmm5, xmm4
xorps xmm0, xmm0
mulss xmm6, xmm0
addss xmm6, xmm7
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm5
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x70]
call fcn.140085d30
xorps xmm7, xmm7
movss xmm6, dword [rsp + 0x70]
movzx ebx, byte [rsp + 0x41]
test bl, bl
jne 0x14002a1f8
movss xmm2, dword [r13 + 0xb14]
movaps xmm0, xmm13
unpcklps xmm0, xmm15
movsd qword [rsp + 0x78], xmm0
movq rdx, xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm9
movsd qword [rsp + 0x70], xmm1
movq rcx, xmm1
call fcn.14006c020
mov qword [rbp - 0x70], r14
movss dword [rsp + 0x58], xmm12
movss dword [rsp + 0x5c], xmm15
movaps xmm1, xmm9
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], r14
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.14006b4e0
mov eax, dword [rsp + 0x60]
cmp byte [rsp + 0x42], r14b
jne 0x14002a1d8
cmp dword [r13 + 0x1be0], eax
je 0x14002a1d8
cmp byte [rsp + 0x40], r14b
je 0x14002a1f8
cmp dword [r12 + 0x158], r14d
jne 0x14002a1ea
mov dword [r12 + 0x3a0], eax
mov ecx, eax
call fcn.14007a3d0
mov bl, 1
movzx edi, bl
jmp 0x14002a1fb
xor dil, dil
comiss xmm10, xmm7
jbe 0x14002a22c
addss xmm9, dword [r13 + 0xb10]
addss xmm13, dword [r13 + 0xb24]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
unpcklps xmm13, xmm9
movq rcx, xmm13
call fcn.14006ab50
test bl, bl
je 0x14002a5d4
subss xmm11, xmm8
movss dword [rbp - 0x80], xmm11
mov rax, qword [0x1402dddc0]
or dword [rax + 0x1ab8], 0x10
mov qword [rbp - 0x70], r14
mov dword [rbp - 0x64], 0x43160000
movups xmm1, xmmword [rbp - 0x70]
shufps xmm1, xmm1, 0xd2
movss xmm1, xmm11
shufps xmm1, xmm1, 0xc9
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rax + 0x1af4], xmm1
lea rcx, [0x14002ae40]
mov qword [rax + 0x1b08], rcx
lea rcx, [rbp - 0x80]
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 - 0x50]
call fcn.140069c60
mov edx, 0xffffffff
lea r8, [rbp - 0x4f]
movzx r9d, byte [rbp - 0x50]
lea r10, [0x1402a56e0]
test r9b, r9b
je 0x14002a304
mov r15d, edx
nop dword [rax]
cmp r9b, 0x23
jne 0x14002a2e3
cmp byte [r8], r9b
jne 0x14002a2e3
cmp byte [r8 + 1], r9b
cmove edx, r15d
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 0x14002a2d0
mov r15, qword [rbp - 0x60]
not edx
mov ecx, edx
call fcn.140071900
mov rbx, rax
test rax, rax
je 0x14002a402
cmp byte [rax + 0xb7], r14b
je 0x14002a402
mov qword [rsp + 0x50], r14
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.1400720d0
lea r8, [rsp + 0x50]
mov rdx, rcx
lea rcx, [rbp - 0x60]
call fcn.1400721e0
lea r8, [rbp - 0x60]
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140071e80
lea rcx, [rbp - 0x60]
call fcn.14007acc0
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm15
lea r9, [rbx + 0xd4]
mov dword [rsp + 0x30], 1
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.14007a950
movss xmm0, dword [r13 + 0xb10]
addss xmm0, xmm0
addss xmm0, xmm14
movss xmm1, dword [rsp + 0x54]
subss xmm1, xmm0
mov rax, qword [0x1402dddc0]
or dword [rax + 0x1ab8], 1
movsd xmm0, qword [rsp + 0x50]
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm1
shufps xmm0, xmm0, 0xe1
movsd qword [rsp + 0x50], xmm0
movsd qword [rax + 0x1ac8], xmm0
mov qword [rax + 0x1ad0], r14
mov dword [rax + 0x1abc], 1
xor edx, edx
mov r8d, 0x4000143
lea rcx, [rbp - 0x50]
call fcn.1400740f0
movzx ebx, al
mov rcx, qword [0x1402dddc0]
mov rdx, qword [rcx + 0x11e0]
movss xmm0, dword [rdx + 0x28]
call fcn.140079470
movss xmm0, dword [r12 + 0x138]
mov r11, qword [0x1402dddc0]
mov rcx, qword [r11 + 0x11e0]
mov byte [rcx + 0xb8], 1
mov rcx, qword [r11 + 0x11e0]
movss xmm1, dword [rcx + 0x24]
subss xmm1, dword [rcx + 0x88]
addss xmm1, xmm0
movss xmm0, dword [rcx + 0x20]
subss xmm0, dword [rcx + 0x84]
addss xmm0, xmm7
movss dword [rcx + 0x100], xmm0
movss dword [rcx + 0x104], xmm1
mov byte [rcx + 0x141], 1
test dil, dil
je 0x14002a508
mov rax, qword [r11 + 0x11e0]
cmp byte [r11 + 0x1d90], r14b
jne 0x14002a508
cmp qword [r11 + 0x11f8], r14
jne 0x14002a508
cmp qword [r11 + 0x1bd0], rax
je 0x14002a4bb
mov qword [r11 + 0x1bd0], rax
mov word [r11 + 0x1c48], r14w
mov word [r11 + 0x1c10], r14w
mov ecx, 0x21
mov r9d, 3
cmp byte [rax + 0xbc], r14b
cmovne r9d, ecx
lea edx, [rcx - 0x1e]
lea ecx, [rdx - 4]
mov r8d, 0x1600
call fcn.14007bd40
mov dword [r11 + 0x1c88], 1
mov dword [r11 + 0x1c8c], 1
mov qword [rbp - 0x70], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x30
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x7f
mov r8, rsi
xor edx, edx
lea rcx, str.inputText
call fcn.140099cd0
mov byte [rsp + 0x42], al
mov r9, qword [0x1402dddc0]
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 0x14002a63d
call fcn.1400715e0
mov rdx, qword [0x1402dddc0]
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.14007a8e0
nop
mov rcx, r15
call fcn.14000b3f0
xor al, al
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1401cc560
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 rcx, qword [r9 + 0x11e0]
mov r10, qword [rcx + 0x1a8]
test r10, r10
jne 0x14002a675
cmp qword [r9 + 0x1e48], r14
jne 0x14002a675
movss xmm1, dword [rcx + 0x254]
subss xmm1, dword [rcx + 0x104]
mov r8, rcx
add r8, 0x250
jmp 0x14002a6a6
movss xmm1, dword [rcx + 0x224]
subss xmm1, dword [rcx + 0x104]
mov r8, rcx
test r10, r10
jne 0x14002a69f
cmp qword [r9 + 0x1e48], r14
jne 0x14002a69f
add r8, 0x250
jmp 0x14002a6a6
add r8, 0x220
movss xmm0, dword [r8]
subss xmm0, dword [rcx + 0x100]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
mov byte [rcx + 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.140069e00
mov dword [rsp + 0x20], 0xc0000
xor r9d, r9d
lea r8, [rsp + 0x58]
mov edx, eax
lea rcx, str.ChildL
call fcn.140071370
xor al, al
mov byte [rsp + 0x41], al
cmp byte [rsi], al
je 0x14002a7b5
mov edi, r14d
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x14002a79d
mov r12, r14
lea rbx, [rcx + r12]
cmp qword [rbx + 0x18], 0xf
jbe 0x14002a740
mov rbx, qword [rbx]
cmp byte [rsi], r14b
jne 0x14002a764
cmp byte [rbx], r14b
jne 0x14002a785
test edi, edi
js 0x14002a79d
mov r13, qword [rsp + 0x68]
cmp dword [r13], edi
setne al
mov byte [rsp + 0x41], al
mov dword [r13], edi
jmp 0x14002a7ba
mov rdx, rsi
mov rcx, rbx
call fcn.1401ce6b8
test rax, rax
jne 0x14002a74a
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x14002a74a
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x14002a732
mov r13, qword [rsp + 0x68]
mov edi, dword [r13]
cmp edi, edi
setne al
mov byte [rsp + 0x41], al
mov dword [r13], edi
jmp 0x14002a7ba
mov r13, qword [rsp + 0x68]
xor al, al
mov byte [rsp + 0x40], al
xor edx, edx
mov ecx, 0x203
lea r8d, [rdx + 1]
call fcn.140077760
test al, al
je 0x14002a7fc
mov eax, dword [r13]
test eax, eax
jle 0x14002a7fc
dec eax
mov dword [r13], eax
mov byte [rsp + 0x40], 1
xor edx, edx
mov rcx, qword [0x1402dddc0]
mov rcx, qword [rcx + 0x11e0]
call fcn.1400765c0
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.140077760
test al, al
je 0x14002a846
mov ecx, dword [r13]
cmp ecx, 0xffffffff
jl 0x14002a846
mov eax, dword [rbp + 0x158]
dec eax
cmp ecx, eax
jge 0x14002a846
lea eax, [rcx + 1]
mov dword [r13], eax
mov byte [rsp + 0x40], 1
xor edx, edx
mov rcx, qword [0x1402dddc0]
mov rcx, qword [rcx + 0x11e0]
call fcn.1400765c0
xor edx, edx
mov ecx, 0x20d
lea r8d, [rdx + 1]
call fcn.140077760
test al, al
je 0x14002a8eb
mov byte [rsp + 0x40], 1
mov edi, r14d
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x14002a8db
mov r12, r14
nop dword [rax + rax]
lea rbx, [rcx + r12]
cmp qword [rbx + 0x18], 0xf
jbe 0x14002a88e
mov rbx, qword [rbx]
cmp byte [rsi], r14b
jne 0x14002a8a2
cmp byte [rbx], r14b
jne 0x14002a8c3
mov dword [r13], edi
test edi, edi
jns 0x14002a8e6
jmp 0x14002a8e3
mov rdx, rsi
mov rcx, rbx
call fcn.1401ce6b8
test rax, rax
jne 0x14002a898
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x14002a898
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x14002a880
mov dword [r13], 0xffffffff
mov byte [rsi], r14b
call fcn.14007a830
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.140077760
test al, al
je 0x14002a986
mov edi, r14d
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
test eax, eax
jle 0x14002a973
mov r12, r14
nop dword [rax + rax]
lea rbx, [rcx + r12]
cmp qword [rbx + 0x18], 0xf
jbe 0x14002a92e
mov rbx, qword [rbx]
cmp byte [rsi], r14b
jne 0x14002a93a
cmp byte [rbx], r14b
je 0x14002a978
jmp 0x14002a95b
mov rdx, rsi
mov rcx, rbx
call fcn.1401ce6b8
test rax, rax
jne 0x14002a978
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x14002a978
inc edi
add r12, 0x20
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp edi, eax
jl 0x14002a920
mov edi, 0xffffffff
mov dword [r13], edi
mov dil, 1
mov byte [rsp + 0x41], dil
jmp 0x14002a98b
movzx edi, byte [rsp + 0x41]
movzx r8d, byte [rsp + 0x40]
cmp byte [rsp + 0x42], r14b
je 0x14002a9a8
test r8b, r8b
jne 0x14002a9a8
call fcn.14007a830
movzx r8d, byte [rsp + 0x40]
mov byte [rsp + 0x43], r14b
mov ebx, r14d
cmp dword [rbp + 0x158], r14d
jle 0x14002abba
mov qword [rbp - 0x70], rbx
mov r12, r14
jmp 0x14002a9d5
movzx edi, byte [rsp + 0x41]
cmp ebx, dword [r13]
sete byte [rsp + 0x44]
jne 0x14002ab25
mov rdx, qword [0x1402dddc0]
mov rax, qword [rdx + 0x11e0]
cmp byte [rax + 0xbc], r14b
jne 0x14002aa04
test dil, dil
je 0x14002aa8f
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 [0x1402aa8e0]
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, xmm7
maxss xmm0, xmm3
movss dword [rcx + 0xa8], xmm0
jmp 0x14002aa97
movss xmm4, dword [0x1402aa8e0]
test r8b, r8b
je 0x14002ab25
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, xmm7
maxss xmm0, xmm3
movss dword [rcx + 0xa8], xmm0
mov rdi, r14
mov rcx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rcx
sar rax, 5
cmp ebx, eax
jge 0x14002ab48
lea rdi, [rcx + r12]
cmp qword [rdi + 0x18], 0xf
jbe 0x14002ab48
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.140069c60
lea r9, [rbp - 0x70]
movzx edx, byte [rsp + 0x44]
lea rcx, [rbp - 0x40]
call fcn.14009e5b0
test al, al
je 0x14002aba2
cmp dword [r13], ebx
setne byte [rsp + 0x41]
mov dword [r13], ebx
mov r8d, 0x7f
mov rdx, rdi
mov rcx, rsi
call fcn.1401dce50
call fcn.14007a830
mov byte [rsp + 0x43], 1
inc ebx
add r12, 0x20
cmp ebx, dword [rbp + 0x158]
movzx r8d, byte [rsp + 0x40]
jl 0x14002a9d0
cmp byte [rsp + 0x40], r14b
je 0x14002ad9f
movsxd rcx, dword [r13]
cmp ecx, 0xffffffff
jle 0x14002ad9f
mov rdx, r14
mov r9, qword [r15]
mov rax, qword [r15 + 8]
sub rax, r9
sar rax, 5
cmp ecx, eax
jge 0x14002abfb
mov rdx, rcx
shl rdx, 5
add rdx, r9
cmp qword [rdx + 0x18], 0xf
jbe 0x14002abfb
mov rdx, qword [rdx]
mov r8d, 0x7f
mov rcx, rsi
call fcn.1401dce50
mov ecx, 0xffffffff
lea r8, [rbp - 0x4f]
movzx r9d, byte [rbp - 0x50]
test r9b, r9b
je 0x14002ac5b
mov r13d, ecx
lea r10, [0x1402a56e0]
cmp r9b, 0x23
jne 0x14002ac39
cmp byte [r8], r9b
jne 0x14002ac39
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 0x14002ac26
mov r13, qword [rsp + 0x68]
not ecx
call fcn.140071900
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.140069e00
mov rcx, qword [0x1402dddc0]
test eax, eax
je 0x14002ace1
cmp dword [rcx + 0x1f30], eax
jne 0x14002ace1
lea r8, [rcx + 0x1f34]
mov qword [rbp - 0x70], 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 + 0x50], rdx
lea rdx, [rcx + 0x1f84]
mov qword [rsp + 0x68], rdx
lea rax, [rcx + 0x1f40]
add rcx, 0x1f48
jmp 0x14002ad0e
mov qword [rbp - 0x70], select
mov qword [rsp + 0x58], 0x54
mov qword [rsp + 0x50], 0x58
mov qword [rsp + 0x68], 0x5c
mov eax, 0x18
mov ecx, 0x20
mov rdi, rsi
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
mov rbx, rcx
movsxd r12, dword [rax]
dec r12
lea r12, [rcx + r12*4]
cmp rcx, r12
jae 0x14002ad5e
nop word [rax + rax]
cmp byte [rdi], r14b
je 0x14002ad5a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14006a110
movsxd rcx, eax
add rdi, rcx
mov eax, dword [rsp + 0x60]
mov dword [rbx], eax
add rbx, 4
cmp rbx, r12
jb 0x14002ad30
mov rcx, qword [rbp - 0x60]
mov dword [rbx], r14d
sub rbx, rcx
sar rbx, 2
mov rax, qword [rbp - 0x70]
mov dword [rax], ebx
sub edi, esi
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 + 0x50]
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.1400715e0
call fcn.14007a8e0
movsxd rcx, dword [r13]
test ecx, ecx
js 0x14002add7
mov rdx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rdx
sar rax, 5
cmp ecx, eax
jge 0x14002add7
mov r14, rcx
shl r14, 5
add r14, rdx
cmp qword [r14 + 0x18], 0xf
jbe 0x14002add7
mov r14, qword [r14]
cmp byte [rsp + 0x41], 0
je 0x14002ae0c
test r14, r14
je 0x14002ae0c
sub rsi, r14
nop word [rax + rax]
movzx ecx, byte [r14]
movzx eax, byte [r14 + rsi]
sub ecx, eax
jne 0x14002ae04
inc r14
test eax, eax
jne 0x14002adf0
test ecx, ecx
jne 0x14002ae0c
mov al, 1
jmp 0x14002ae0e
xor al, al
cmp byte [rsp + 0x42], 0
jne 0x14002ae24
cmp byte [rsp + 0x43], 0
jne 0x14002ae24
test al, al
jne 0x14002ae24
xor bl, bl
jmp 0x14002ae26
mov bl, 1
mov rcx, r15
call fcn.14000b3f0
movzx eax, bl
jmp 0x14002a5de