Function at 0x18002d3b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x240
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x18004f040]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rbx, qword [0x18004fe90]
mov r13, rcx
mov rdi, qword [rbp + 0x1a0]
mov r12, rbx
mov dword [rsp + 0x74], r9d
mov qword [rbp - 0x70], r8
mov rax, qword [rbx + 0x1a60]
mov qword [rbp - 0x20], rcx
mov qword [rsp + 0x60], rbx
mov byte [rax + 0x80], 1
mov r15, qword [rbx + 0x1a60]
cmp byte [r15 + 0x83], 0
jne 0x18002d790
mov ecx, dword [rbp + 0x1a8]
mov eax, ecx
shr eax, 0xe
mov r14d, ecx
and al, 1
shr r14d, 0x14
mov dword [rsp + 0x6c], eax
and r14b, 1
mov eax, ecx
mov dword [rsp + 0x5c], r14d
shr eax, 0xf
and al, 1
mov dword [rbp - 0x74], eax
mov eax, ecx
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x78], eax
mov eax, ecx
shr eax, 0x12
and al, 1
mov dword [rbp - 0x78], eax
test r14b, r14b
je 0x18002d49f
call fcn.18000f810
mov rbx, qword [0x18004fe90]
movsxd rax, dword [r15 + 0xc0]
xor edx, edx
mov r8, qword [r15 + 0xc8]
mov rcx, r13
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180004640
mov esi, eax
mov dword [rbp - 0x7c], eax
cmp dword [rbx + 0x1aa8], eax
jne 0x18002d4cf
mov dword [rbx + 0x1aac], eax
cmp dword [rbx + 0x1ae8], esi
jne 0x18002d4de
mov byte [rbx + 0x1aec], 1
mov rcx, r13
cmp r13, 0xffffffffffffffff
jae 0x18002d504
movzx edx, byte [rcx]
test dl, dl
je 0x18002d504
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002d4fb
cmp byte [rax], dl
je 0x18002d504
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002d4e7
movss xmm0, dword [0x180047bc0]
xor eax, eax
movss xmm2, dword [rbx + 0x1918]
movss dword [rbp - 0x2c], xmm0
cmp r13, rcx
jne 0x18002d525
xorps xmm5, xmm5
jmp 0x18002d56f
movss xmm3, dword [0x180047bb4]
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbx + 0x1910]
mov qword [rsp + 0x28], r13
movss dword [rsp + 0x20], xmm0
call fcn.1800232b0
movss xmm0, dword [rbp - 0x60]
addss xmm0, dword [0x180047ae4]
movss xmm2, dword [rbp - 0x5c]
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [rbp - 0x28], xmm5
xorps xmm12, xmm12
test r14b, r14b
je 0x18002d58f
movss xmm2, dword [r12 + 0x1918]
mulss xmm2, dword [0x180047b4c]
test byte [rbx + 0x1b68], 1
mov rax, qword [rbx + 0x1a60]
je 0x18002d5a9
movss xmm0, dword [rbx + 0x1b6c]
jmp 0x18002d5b1
movss xmm0, dword [rax + 0x1bc]
comiss xmm12, xmm0
jbe 0x18002d5e9
cmp qword [rax + 0x1a0], 0
movss xmm1, dword [rax + 0x270]
je 0x18002d5d1
movss xmm1, dword [rax + 0x250]
subss xmm1, dword [rax + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x180047ae8]
maxss xmm0, xmm1
movss xmm3, dword [r12 + 0x1594]
xorps xmm1, xmm1
movss xmm7, dword [rdi]
addss xmm3, xmm3
comiss xmm12, xmm7
movss xmm8, dword [rdi + 4]
addss xmm3, xmm2
cvttss2si eax, xmm0
movss dword [rbp - 0x48], xmm8
xorps xmm0, xmm0
movd xmm4, eax
mov rax, qword [rbx + 0x1a60]
cvtdq2ps xmm4, xmm4
ja 0x18002d62f
comiss xmm12, xmm8
jbe 0x18002d651
cmp qword [rax + 0x1a0], 0
movss xmm0, dword [rax + 0x270]
movss xmm1, dword [rax + 0x274]
je 0x18002d651
movss xmm0, dword [rax + 0x250]
ucomiss xmm7, xmm12
movss xmm2, dword [0x180047b3c]
jp 0x18002d666
jne 0x18002d666
movaps xmm7, xmm4
jmp 0x18002d683
comiss xmm12, xmm7
jbe 0x18002d683
subss xmm0, dword [rax + 0xd0]
addss xmm0, xmm7
comiss xmm2, xmm0
movaps xmm7, xmm0
jb 0x18002d683
movaps xmm7, xmm2
ucomiss xmm8, xmm12
jp 0x18002d696
jne 0x18002d696
movss dword [rbp - 0x48], xmm3
movaps xmm8, xmm3
jmp 0x18002d6c0
comiss xmm12, xmm8
jbe 0x18002d6c0
subss xmm1, dword [rax + 0xd4]
addss xmm1, xmm8
comiss xmm2, xmm1
movss dword [rbp - 0x48], xmm1
movaps xmm8, xmm1
jb 0x18002d6c0
movss dword [rbp - 0x48], xmm2
movaps xmm8, xmm2
comiss xmm5, xmm12
jbe 0x18002d6d5
movaps xmm2, xmm5
addss xmm2, dword [r12 + 0x15a8]
jmp 0x18002d6d8
xorps xmm2, xmm2
movss xmm4, dword [r15 + 0xd4]
addss xmm2, xmm7
movss xmm3, dword [r15 + 0xd0]
movaps xmm0, xmm4
movss dword [rbp - 0x18], xmm3
addss xmm0, xmm8
movss dword [rbp - 0x14], xmm4
movaps xmm1, xmm3
movss dword [rbp + 0x68], xmm3
addss xmm1, xmm7
movss dword [rbp + 0x6c], xmm4
addss xmm2, xmm3
mov qword [rbp - 0x40], r15
mov edi, 1
movss dword [rbp - 0xc], xmm0
movaps xmm0, xmm4
addss xmm0, xmm8
movss dword [rbp - 0x10], xmm1
movss dword [rbp + 0x70], xmm2
movss dword [rbp + 0x74], xmm0
test r14b, r14b
je 0x18002dab1
lea r8, [rbp - 0x18]
mov edx, esi
lea rcx, [rbp + 0x68]
call fcn.180006e50
test al, al
jne 0x18002d7da
movss xmm0, dword [rbp + 0x70]
lea rcx, [rbp - 0x60]
movss xmm2, dword [rbp + 0x74]
subss xmm0, dword [rbp + 0x68]
subss xmm2, dword [rbp + 0x6c]
movss xmm1, dword [r12 + 0x1594]
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm2
call fcn.180006d00
call fcn.18000f930
xor al, al
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.18003f9d0
lea r11, [rsp + 0x240]
mov rbx, 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 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [0x18004fe90]
lea rdx, [rbp + 0x68]
mov dword [rbp + 0x68], 3
movups xmm0, xmmword [rbx + 0x163c]
lea rcx, [rbx + 0x1b80]
movups xmmword [rbp + 0x6c], xmm0
call fcn.180015880
movups xmm0, xmmword [r12 + 0x167c]
lea rdx, [rbp + 0x68]
mov dword [rbp + 0x68], 6
movups xmmword [rbx + 0x163c], xmm0
mov rbx, qword [0x18004fe90]
movss xmm6, dword [r12 + 0x1598]
movss xmm0, dword [rbx + 0x1580]
lea rcx, [rbx + 0x1b90]
movss dword [rbp + 0x6c], xmm0
call fcn.180015790
movss dword [rbx + 0x1580], xmm6
lea rdx, [rbp + 0x68]
mov rbx, qword [0x18004fe90]
movss xmm6, dword [r12 + 0x159c]
mov dword [rbp + 0x68], 7
movss xmm0, dword [rbx + 0x1584]
lea rcx, [rbx + 0x1b90]
movss dword [rbp + 0x6c], xmm0
call fcn.180015790
movss dword [rbx + 0x1584], xmm6
lea rdx, [rbp + 0x68]
mov rbx, qword [0x18004fe90]
mov dword [rbp + 0x68], edi
movss xmm0, dword [rbx + 0x155c]
lea rcx, [rbx + 0x1b90]
movss xmm1, dword [rbx + 0x1560]
movss dword [rbp + 0x6c], xmm0
movss dword [rbp + 0x70], xmm1
call fcn.180015790
movsd xmm0, qword [r12 + 0x1590]
lea r8, [rbp - 0x60]
movss xmm1, dword [rbp - 0x10]
mov edx, esi
movss xmm9, dword [rbp - 0x18]
mov rcx, r13
movss xmm11, dword [rbp - 0x14]
subss xmm1, xmm9
movsd qword [rbx + 0x155c], xmm0
movss xmm0, dword [rbp - 0xc]
subss xmm0, xmm11
movss dword [rbp - 0x60], xmm1
movss dword [rbp - 0x5c], xmm0
call fcn.180009f50
mov r8, qword [0x18004fe90]
lea rbx, [0x180042aa0]
movzx r11d, al
movsxd rcx, dword [r8 + 0x1b90]
mov r9, qword [r8 + 0x1b98]
lea rdx, [rcx + rcx*2]
movsxd rcx, dword [r9 + rdx*4 - 0xc]
lea rax, [rcx + rcx*2]
cmp dword [rbx + rax*4], 8
mov ecx, dword [rbx + rax*4 + 8]
jne 0x18002d978
mov eax, dword [rbx + rax*4 + 4]
cmp eax, edi
jne 0x18002d959
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1558], eax
jmp 0x18002d978
cmp eax, 2
jne 0x18002d978
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1558], eax
mov eax, dword [r9 + rdx*4 - 4]
mov dword [rcx + r8 + 0x155c], eax
movsxd rcx, dword [r8 + 0x1b90]
lea eax, [rcx - 1]
mov dword [r8 + 0x1b90], eax
lea rax, [rcx - 2]
mov rdx, qword [r8 + 0x1b98]
lea rcx, [rax + rax*2]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
cmp dword [rbx + r10*4], 8
mov r9d, dword [rbx + r10*4 + 8]
jne 0x18002d9e0
mov eax, dword [rbx + r10*4 + 4]
cmp eax, edi
jne 0x18002d9c3
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1558], eax
jmp 0x18002d9e0
cmp eax, 2
jne 0x18002d9e0
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1558], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x155c], eax
movsxd rcx, dword [r8 + 0x1b90]
lea eax, [rcx - 1]
mov dword [r8 + 0x1b90], eax
lea rax, [rcx - 2]
mov rdx, qword [r8 + 0x1b98]
lea rcx, [rax + rax*2]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
cmp dword [rbx + r10*4], 8
mov r9d, dword [rbx + r10*4 + 8]
jne 0x18002da48
mov eax, dword [rbx + r10*4 + 4]
cmp eax, edi
jne 0x18002da2b
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1558], eax
jmp 0x18002da48
cmp eax, 2
jne 0x18002da48
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1558], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x155c], eax
dec dword [r8 + 0x1b90]
movsxd rax, dword [r8 + 0x1b80]
mov rcx, qword [r8 + 0x1b88]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x160c], xmm0
dec dword [r8 + 0x1b80]
test r11b, r11b
jne 0x18002da8d
call fcn.18000a150
jmp 0x18002d78b
mov rbx, qword [r12 + 0x1a60]
mov qword [rbp - 0x40], rbx
subss xmm7, dword [rbx + 0x74]
mov eax, dword [rbx + 0x140]
or dword [rbx + 0x148], eax
movss dword [rbp - 0x30], xmm7
jmp 0x18002dafe
movss xmm1, dword [r12 + 0x1594]
subss xmm2, xmm3
subss xmm0, xmm4
lea rcx, [rbp - 0x60]
movss dword [rbp - 0x60], xmm2
movss dword [rbp - 0x5c], xmm0
call fcn.180006d00
lea r8, [rbp - 0x18]
movss dword [rbp - 0x30], xmm7
mov edx, esi
lea rcx, [rbp + 0x68]
call fcn.180006e50
test al, al
je 0x18002d790
movss xmm11, dword [rbp - 0x14]
movss xmm9, dword [rbp - 0x18]
mov edx, esi
movaps xmmword [rsp + 0x1f0], xmm10
lea rcx, [rbp - 0x18]
call fcn.180007080
mov byte [rsp + 0x71], al
movzx r11d, al
test al, al
je 0x18002db26
mov dword [r12 + 0x1ee8], edi
lea r14, [r12 + 0x1fe0]
mov eax, 0
cmp dword [r14], esi
mov edx, esi
mov rcx, r15
cmovne r14, rax
mov qword [rbp - 0x50], r14
call fcn.1800071e0
movzx esi, al
test al, al
je 0x18002db70
cmp qword [r12 + 0x1d10], r15
jne 0x18002db70
mov ecx, dword [r15 + 0x1b0]
cmp dword [r12 + 0x1d20], ecx
jne 0x18002db70
movzx r13d, dil
jmp 0x18002db7d
xor r13b, r13b
mov byte [rsp + 0x52], dil
test sil, sil
jne 0x18002db82
mov byte [rsp + 0x52], 0
test r11b, r11b
je 0x18002db98
cmp byte [r12 + 0x420], 0
je 0x18002db98
movzx r12d, dil
jmp 0x18002db9b
xor r12b, r12b
mov rdi, qword [rsp + 0x60]
mov byte [rsp + 0x50], r12b
mov ebx, dword [rdi + 0x1aa8]
cmp ebx, edx
je 0x18002dbcf
cmp dword [rdi + 0x1bec], edx
je 0x18002dbc8
cmp dword [rdi + 0x1be0], edx
jne 0x18002dbcf
cmp dword [rdi + 0x1c00], 3
jne 0x18002dbcf
mov byte [rsp + 0x51], 1
jmp 0x18002dbd4
mov byte [rsp + 0x51], 0
mov eax, dword [rsp + 0x5c]
test al, al
je 0x18002dc1b
test r14, r14
je 0x18002dc1b
test ebx, ebx
jne 0x18002dc1b
mov rcx, qword [rbp - 0x40]
xor edx, edx
movsxd rax, dword [rcx + 0xc0]
mov r8, qword [rcx + 0xc8]
lea rcx, str.SCROLLY
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180004640
cmp dword [rdi + 0x1ae8], eax
jne 0x18002dc17
mov dil, 1
jmp 0x18002dc27
mov eax, dword [rsp + 0x5c]
xor dil, dil
test al, al
je 0x18002dc54
test r14, r14
je 0x18002dc54
mov rcx, qword [rbp - 0x40]
xor edx, edx
movsxd rax, dword [rcx + 0xc0]
mov r8, qword [rcx + 0xc8]
lea rcx, str.SCROLLY
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180004640
cmp ebx, eax
jne 0x18002dc54
mov al, 1
jmp 0x18002dc56
xor al, al
mov ecx, dword [rbp - 0x7c]
mov rdx, qword [rsp + 0x60]
mov byte [rsp + 0x59], al
mov byte [rsp + 0x58], 0
cmp dword [rdx + 0x1aa8], ecx
movzx ecx, byte [rsp + 0x51]
je 0x18002dc8d
test byte [rbp + 0x1a8], 0x10
jne 0x18002dc81
test cl, cl
je 0x18002dc8d
cmp byte [rsp + 0x5c], 0
mov byte [rsp + 0x68], 1
je 0x18002dc92
mov byte [rsp + 0x68], 0
test sil, sil
jne 0x18002dddf
test r12b, r12b
jne 0x18002dddf
test dil, dil
jne 0x18002dddf
test cl, cl
jne 0x18002dddf
test al, al
jne 0x18002dde2
mov esi, dword [rbp - 0x7c]
xor bl, bl
mov edi, dword [rsp + 0x5c]
mov r13, qword [rsp + 0x60]
cmp dword [r13 + 0x1aa8], esi
je 0x18002dd61
test r12b, r12b
je 0x18002dd61
mov rdx, r15
mov ecx, esi
call fcn.180006c30
call fcn.180011180
mov rcx, r15
call fcn.18000ee80
mov eax, dword [r13 + 0x1abc]
mov ecx, dword [rbp + 0x1a8]
or eax, 3
mov dword [r13 + 0x1abc], eax
test dil, dil
jne 0x18002dd18
test cl, cl
jns 0x18002dd22
or eax, 0xc
mov dword [r13 + 0x1abc], eax
mov rax, qword [r13 + 0x1ac8]
or dword [r13 + 0x1ac0], 2
or rax, 0x180
mov qword [r13 + 0x1ac8], rax
test dil, dil
je 0x18002dd4e
or rax, 0x60
mov qword [r13 + 0x1ac8], rax
test ecx, 0x440
je 0x18002dd61
or rax, 1
mov qword [r13 + 0x1ac8], rax
mov rax, qword [rsp + 0x60]
mov r13, qword [0x18004fe90]
cmp dword [rax + 0x1aa8], esi
jne 0x18002e019
test r14, r14
jne 0x18002e019
mov ecx, dword [r13 + 0x1aa8]
test ecx, ecx
setne al
xor edi, edi
mov byte [r13 + 0x1ab4], al
test ecx, ecx
je 0x18002ddaa
mov dword [r13 + 0x1ab0], edi
mov word [r13 + 0x1ab6], di
mov dword [r13 + 0x1aa8], edi
mov byte [r13 + 0x1ab5], 0
mov qword [r13 + 0x1ad8], rdi
mov byte [r13 + 0x1ab8], 0
mov qword [r13 + 0x1abc], 0
mov qword [r13 + 0x1ac8], rdi
jmp 0x18002e01b
mov r12b, 1
mov esi, dword [rbp - 0x7c]
mov bl, 1
mov qword [rbp - 0x50], r14
cmp dword [rdx + 0x1aa8], esi
je 0x18002dcc2
mov rsi, qword [rbp - 0x70]
lea r14, [rdx + 0x1fe0]
mov qword [rbp - 0x50], r14
mov rax, 0xffffffffffffffff
mov dword [r14 + 0xe70], 0xbe99999a
nop dword [rax + rax]
cmp byte [rsi + rax + 1], 0
lea rax, [rax + 1]
jne 0x18002de20
mov ecx, dword [r14 + 0x34]
lea ebx, [rax + 1]
cmp ebx, ecx
jle 0x18002de5a
test ecx, ecx
je 0x18002de45
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002de4a
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x30]
mov edx, ebx
cmovg edx, eax
call fcn.180015cd0
mov dword [r14 + 0x30], ebx
mov rdx, rsi
mov rcx, qword [r14 + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
movsxd rsi, dword [rsp + 0x74]
mov ecx, dword [r14 + 0x14]
lea ebx, [rsi + 1]
cmp ebx, ecx
jle 0x18002dea1
test ecx, ecx
je 0x18002de8c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002de91
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180015d60
mov dword [r14 + 0x10], ebx
mov ecx, dword [r14 + 0x24]
test ecx, ecx
jns 0x18002dec6
mov eax, ecx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
add eax, ecx
lea rcx, [r14 + 0x20]
test eax, eax
cmovg edx, eax
call fcn.180015cd0
mov rcx, qword [rbp - 0x70]
xor edx, edx
mov dword [r14 + 0x20], edx
dec rsi
mov byte [r14 + 0x40], dl
mov rdi, rcx
mov r14, qword [r14 + 0x18]
mov rbx, r14
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x18002df2a
nop word [rax + rax]
cmp byte [rdi], 0
je 0x18002df24
xor r8d, r8d
lea rcx, [rbp - 0x80]
mov rdx, rdi
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rbp - 0x80]
add rdi, rcx
test eax, eax
je 0x18002df24
cmp eax, 0xffff
ja 0x18002df1f
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002def0
mov rcx, qword [rbp - 0x70]
xor edx, edx
mov esi, dword [rbp - 0x7c]
sub edi, ecx
mov word [rbx], dx
sub rbx, r14
mov r14, qword [rbp - 0x50]
sar rbx, 1
mov dword [r14 + 8], edi
mov edi, dword [rsp + 0x5c]
mov dword [r14 + 4], ebx
cmp dword [r14], esi
jne 0x18002df7a
cmp dword [r14 + 0x4c], ebx
mov ecx, ebx
cmovl ecx, dword [r14 + 0x4c]
cmp dword [r14 + 0x50], ebx
mov dword [r14 + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [r14 + 0x50]
cmp dword [r14 + 0x54], ebx
mov dword [r14 + 0x50], ecx
cmovl ebx, dword [r14 + 0x54]
mov dword [r14 + 0x54], ebx
jmp 0x18002dfdb
movzx eax, dil
mov dword [r14], esi
xor al, 1
mov qword [r14 + 0x48], 0
mov dword [r14 + 0xe62], 0x630000
mov dword [r14 + 0xe68], edx
mov dword [r14 + 0xe6c], 0x3e7
mov qword [r14 + 0x50], 0
mov dword [r14 + 0x58], 0x10000
mov dword [r14 + 0x60], edx
mov byte [r14 + 0x5c], al
test dil, dil
jne 0x18002dfdb
mov ecx, dword [rsp + 0x68]
test r13b, r13b
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x68], ecx
test dword [rbp + 0x1a8], 0x2000
je 0x18002dfec
mov byte [r14 + 0x58], 1
test dil, dil
jne 0x18002e012
cmp byte [rsp + 0x52], dil
jne 0x18002e00d
cmp byte [rsp + 0x50], dil
je 0x18002e012
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x148], dil
je 0x18002e012
mov byte [rsp + 0x68], 1
mov bl, 1
jmp 0x18002dcc6
xor edi, edi
mov r14, qword [rsp + 0x60]
cmp dword [r14 + 0x1aa8], esi
jne 0x18002e049
cmp byte [r14 + 0x420], 0
je 0x18002e078
test bl, bl
jne 0x18002e078
test r12b, r12b
mov r12, qword [rbp - 0x50]
jne 0x18002e07c
mov byte [rsp + 0x58], 1
mov cl, 1
jmp 0x18002e05b
mov r12, qword [rbp - 0x50]
test r12, r12
je 0x18002e059
cmp byte [rsp + 0x59], 0
jne 0x18002e07c
xor cl, cl
mov byte [rsp + 0x50], cl
test r12, r12
je 0x18002e080
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002e080
test cl, cl
je 0x18002e080
mov dl, 1
jmp 0x18002e082
mov r12, qword [rbp - 0x50]
mov cl, 1
jmp 0x18002e05b
xor dl, dl
cmp byte [rsp + 0x6c], 0
mov dword [rbp - 0x68], edx
movzx r15d, dl
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x52], 0
je 0x18002e1ae
test r12, r12
je 0x18002e1ae
test cl, cl
jne 0x18002e0b3
test dl, dl
je 0x18002e1b6
mov esi, dword [rsp + 0x74]
mov ecx, dword [r12 + 0x14]
inc esi
cmp esi, ecx
jle 0x18002e0ee
test ecx, ecx
je 0x18002e0d1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002e0d6
mov eax, 8
cmp eax, esi
lea rcx, [r12 + 0x10]
mov edx, esi
cmovg edx, eax
call fcn.180015d60
mov r13, qword [0x18004fe90]
mov rcx, qword [rbp - 0x70]
mov dword [r12 + 0x10], esi
mov rdi, rcx
mov r14, qword [r12 + 0x18]
movsxd rsi, esi
mov rbx, r14
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x18002e149
cmp byte [rdi], 0
je 0x18002e145
xor r8d, r8d
lea rcx, [rbp - 0x80]
mov rdx, rdi
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rbp - 0x80]
add rdi, rcx
test eax, eax
je 0x18002e145
cmp eax, 0xffff
ja 0x18002e140
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002e111
mov rcx, qword [rbp - 0x70]
mov esi, dword [rbp - 0x7c]
sub edi, ecx
xor eax, eax
mov word [rbx], ax
sub rbx, r14
mov r14, qword [rsp + 0x60]
sar rbx, 1
cmp dword [r12 + 0x4c], ebx
mov ecx, ebx
mov dword [r12 + 4], ebx
cmovl ecx, dword [r12 + 0x4c]
cmp dword [r12 + 0x50], ebx
mov dword [r12 + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [r12 + 0x50]
cmp dword [r12 + 0x54], ebx
mov dword [r12 + 8], edi
cmovl ebx, dword [r12 + 0x54]
xor edi, edi
cmp ecx, ebx
mov dword [r12 + 0x50], ecx
movzx ecx, byte [rsp + 0x50]
mov edx, edi
cmovne edx, r15d
mov dword [r12 + 0x54], ebx
mov dword [rbp - 0x68], edx
test cl, cl
jne 0x18002e1bf
test dl, dl
jne 0x18002e1bf
cmp dword [r14 + 0x1aa8], esi
jne 0x18002e1dc
mov r15d, dword [rsp + 0x6c]
test r15b, r15b
jne 0x18002e1e1
test r12, r12
je 0x18002e1e1
cmp byte [r12 + 0x40], r15b
je 0x18002e1e1
mov byte [rsp + 0x59], 1
jmp 0x18002e1e6
mov r15d, dword [rsp + 0x6c]
mov byte [rsp + 0x59], 0
cmp byte [rbp - 0x74], 0
je 0x18002e29b
mov rdx, qword [r14 + 0x1910]
cmp dword [rdx + 0x18], 0x2a
jg 0x18002e203
mov r9, qword [rdx + 0x38]
jmp 0x18002e227
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x18002e21b
mov r9, qword [rdx + 0x38]
jmp 0x18002e227
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea r8, [r14 + 0x2e70]
mov dword [r8 + 0x14], eax
mov rax, qword [r14 + 0x1910]
mov ecx, dword [rax + 0x60]
mov dword [r8 + 0x60], ecx
mov rcx, r8
mov rax, qword [r14 + 0x1910]
movsd xmm0, qword [rax + 0x40]
movsd qword [r8 + 0x40], xmm0
mov rax, qword [r14 + 0x1910]
mov edx, dword [rax + 0x64]
mov dword [r8 + 0x64], edx
mov rax, qword [r14 + 0x1910]
mov edx, dword [rax + 0x68]
mov dword [r8 + 0x68], edx
mov rax, qword [r14 + 0x1910]
mov rdx, qword [rax + 0x48]
mov qword [r8 + 0x48], rdx
mov qword [r8 + 0x38], r9
mov eax, dword [r9 + 4]
mov dword [r8 + 0x10], eax
call fcn.18000f3c0
mov r13, qword [0x18004fe90]
mov ecx, 0x20000c
mov dword [rbp - 0x80], edi
cmp dword [r14 + 0x1aa8], esi
jne 0x18002e709
mov eax, dword [r12 + 8]
mov r8d, dword [rbp + 0x1a8]
mov dword [r12 + 0xe78], r8d
mov qword [r12 + 0xe80], rdi
mov qword [r12 + 0xe88], rdi
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x74]
mov dword [r12 + 0x44], eax
cmp byte [r14 + 0x138], 0
mov dword [r14 + 0x31a4], 1
sete al
cmp byte [rsp + 0x5c], 0
mov byte [r14 + 0x1ab5], al
movss xmm6, dword [r14 + 0x130]
subss xmm6, xmm9
subss xmm6, dword [r14 + 0x1590]
addss xmm6, dword [r12 + 0x48]
je 0x18002e342
mov rax, qword [rbp - 0x40]
movss xmm2, dword [r14 + 0x134]
subss xmm2, dword [rax + 0xd4]
subss xmm2, dword [r14 + 0x1594]
jmp 0x18002e353
movss xmm2, dword [r14 + 0x1918]
mulss xmm2, dword [0x180047ab8]
cmp byte [rsp + 0x68], 0
movzx edi, byte [r14 + 0xc9]
jne 0x18002e514
movzx eax, byte [rsp + 0x71]
test al, al
je 0x18002e385
test dil, dil
jne 0x18002e3fe
cmp byte [r14 + 0x425], dil
jne 0x18002e514
cmp byte [r14 + 0x420], 0
je 0x18002e46c
cmp byte [r12 + 0xe75], 0
jne 0x18002e46c
test al, al
je 0x18002e539
cmp byte [r12 + 0x5c], 0
je 0x18002e3c6
xor r8d, r8d
lea rcx, [rbp + 0x68]
mov rdx, r12
call fcn.18002b5f0
movss xmm2, dword [rbp + 0x74]
movaps xmm1, xmm6
mov rcx, r12
call fcn.18002bb00
mov r8d, dword [rbp + 0x1a8]
mov dword [r12 + 0x4c], eax
mov dword [r12 + 0x50], eax
mov dword [r12 + 0x54], eax
mov byte [r12 + 0x5b], 0
mov dword [r12 + 0xe70], 0xbe99999a
jmp 0x18002e539
cmp byte [r14 + 0x425], 0
je 0x18002e385
mov r8d, ecx
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bfe0
mov r8d, 0x60000d
mov byte [r12 + 0xe74], 1
lea rdx, [r12 + 0x4c]
mov dword [r12 + 0xe70], 0xbe99999a
mov rcx, r12
call fcn.18002bfe0
mov r8d, dword [rbp + 0x1a8]
mov r13, qword [0x18004fe90]
mov byte [r12 + 0xe74], 1
mov dword [r12 + 0xe70], 0xbe99999a
jmp 0x18002e539
cmp byte [r14 + 0x138], 0
je 0x18002e539
cmp byte [r12 + 0xe75], 0
jne 0x18002e544
movss xmm0, dword [r14 + 0x3c0]
ucomiss xmm0, xmm12
jp 0x18002e4af
jne 0x18002e4af
movss xmm0, dword [r14 + 0x3c4]
ucomiss xmm0, xmm12
jp 0x18002e4af
je 0x18002e539
cmp byte [r12 + 0x5c], 0
je 0x18002e4cb
xor r8d, r8d
lea rcx, [rbp + 0x68]
mov rdx, r12
call fcn.18002b5f0
movss xmm2, dword [rbp + 0x74]
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
jne 0x18002e4e1
mov eax, dword [r12 + 0x4c]
mov dword [r12 + 0x50], eax
movaps xmm1, xmm6
mov rcx, r12
call fcn.18002bb00
mov r8d, dword [rbp + 0x1a8]
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x4c], eax
mov dword [r12 + 0xe70], 0xbe99999a
mov byte [r12 + 0xe74], 1
jmp 0x18002e539
xor eax, eax
mov byte [r12 + 0x5b], 0
mov dword [r12 + 0x50], eax
mov eax, dword [r12 + 4]
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x4c], eax
mov byte [r12 + 0xe75], 1
cmp byte [r12 + 0xe75], 0
je 0x18002e557
cmp byte [r14 + 0x138], 0
jne 0x18002e557
mov byte [r12 + 0xe75], 0
cmp byte [r14 + 0x148], 0
je 0x18002e56b
cmp byte [r14 + 0x14a], 0
je 0x18002e57a
test dil, dil
je 0x18002e57e
cmp byte [r14 + 0x14b], 0
je 0x18002e57e
mov bl, 1
jmp 0x18002e580
xor bl, bl
bt r8d, 0xa
jae 0x18002e62a
mov ecx, dword [r13 + 0x3c]
test ecx, ecx
js 0x18002e62a
call fcn.180009e60
test al, al
je 0x18002e62a
test bl, bl
jne 0x18002e62a
cmp byte [r14 + 0x149], bl
jne 0x18002e62a
test r15b, r15b
jne 0x18002e62a
mov rcx, qword [r14 + 0x1550]
movsxd rax, dword [r14 + 0x1548]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18002e5e3
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x18002e62a
cmp rcx, rdx
jb 0x18002e5d1
mov edx, r8d
mov dword [rsp + 0x54], 9
lea rcx, [rsp + 0x54]
call fcn.18002d210
test al, al
je 0x18002e623
mov r8d, dword [rsp + 0x54]
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bfe0
mov byte [r12 + 0xe74], 1
mov dword [r12 + 0xe70], 0xbe99999a
mov r13, qword [0x18004fe90]
cmp dword [r14 + 0x1548], 0
jle 0x18002e707
test bl, bl
jne 0x18002e6ce
test r15b, r15b
jne 0x18002e6ce
cmp byte [rsp + 0x51], r15b
jne 0x18002e6ce
mov esi, dword [rbp + 0x1a8]
xor eax, eax
mov edi, eax
mov ebx, eax
mov rax, qword [r14 + 0x1550]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x54], ecx
cmp ecx, 9
jne 0x18002e67e
cmp byte [r14 + 0x149], 0
jne 0x18002e6b5
mov edx, esi
lea rcx, [rsp + 0x54]
call fcn.18002d210
test al, al
je 0x18002e6b5
mov r8d, dword [rsp + 0x54]
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bfe0
mov byte [r12 + 0xe74], 1
mov dword [r12 + 0xe70], 0xbe99999a
inc edi
add rbx, 2
cmp edi, dword [r14 + 0x1548]
jl 0x18002e660
mov r13, qword [0x18004fe90]
mov esi, dword [rbp - 0x7c]
mov ecx, dword [r14 + 0x154c]
xor edi, edi
test ecx, ecx
jns 0x18002e6fe
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [r14 + 0x1548]
test eax, eax
cmovg edx, eax
call fcn.180015d60
mov r13, qword [0x18004fe90]
mov dword [r14 + 0x1548], edi
jmp 0x18002e709
xor edi, edi
xor cl, cl
cmp dword [r14 + 0x1aa8], esi
jne 0x18002f999
cmp byte [r14 + 0x1ab4], cl
jne 0x18002f191
cmp byte [rsp + 0x58], cl
jne 0x18002f191
movzx ecx, byte [r14 + 0x149]
movzx edx, byte [r14 + 0xc9]
movzx eax, cl
neg al
sbb ebx, ebx
and ebx, 0x400000
test dl, dl
je 0x18002e79d
cmp byte [r14 + 0x14b], 0
je 0x18002e769
cmp byte [r14 + 0x148], 0
mov eax, 1
je 0x18002e76b
mov eax, edi
test eax, eax
jne 0x18002e7b1
xor r15b, r15b
test dl, dl
je 0x18002e7c4
cmp byte [r14 + 0x14b], 0
je 0x18002e7c4
test cl, cl
je 0x18002e7c4
cmp byte [r14 + 0x148], 0
jne 0x18002e7c4
cmp byte [r14 + 0x14a], 0
jne 0x18002e7c4
mov sil, 1
jmp 0x18002e7cb
cmp byte [r14 + 0x148], 0
je 0x18002e76f
cmp byte [r14 + 0x14b], 0
jne 0x18002e76f
cmp byte [r14 + 0x14a], 0
jne 0x18002e76f
test cl, cl
jne 0x18002e76f
mov r15b, 1
jmp 0x18002e772
xor sil, sil
test dl, dl
je 0x18002e81e
cmp byte [r14 + 0x14b], 0
movzx edi, byte [r14 + 0x14a]
je 0x18002e826
cmp byte [r14 + 0x148], 0
jne 0x18002e826
test dil, dil
jne 0x18002e826
movzx ecx, byte [r14 + 0x148]
mov r10b, 1
xor r8b, r8b
cmp byte [r14 + 0x149], r8b
je 0x18002e853
test cl, cl
jne 0x18002e853
cmp byte [r14 + 0x14a], r8b
jne 0x18002e853
cmp byte [r14 + 0x14b], r8b
jne 0x18002e853
mov r9b, 1
jmp 0x18002e856
movzx edi, byte [r14 + 0x148]
movzx ecx, byte [r14 + 0x148]
xor r10b, r10b
test cl, cl
je 0x18002e7f7
cmp byte [r14 + 0x149], r10b
jne 0x18002e7f7
cmp byte [r14 + 0x14a], r10b
jne 0x18002e7f7
cmp byte [r14 + 0x14b], r10b
jne 0x18002e7f7
mov r8b, 1
xor r9b, r9b
test r15b, r15b
je 0x18002e86f
mov ecx, dword [r13 + 0x88]
test ecx, ecx
js 0x18002e86f
call fcn.180009e60
test al, al
jne 0x18002e885
test r9b, r9b
je 0x18002e8b2
mov ecx, dword [r13 + 0x64]
test ecx, ecx
js 0x18002e8b2
call fcn.180009e60
test al, al
je 0x18002e8b2
cmp byte [rsp + 0x6c], 0
mov r14d, dword [rbp - 0x74]
mov r11d, dword [rsp + 0x5c]
jne 0x18002e8bb
test r14b, r14b
jne 0x18002e8bb
test r11b, r11b
je 0x18002e8ab
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002e8bb
mov byte [rsp + 0x51], 1
jmp 0x18002e8c0
mov r11d, dword [rsp + 0x5c]
mov r14d, dword [rbp - 0x74]
mov byte [rsp + 0x51], 0
test r15b, r15b
je 0x18002e8d9
mov ecx, dword [r13 + 0x80]
test ecx, ecx
js 0x18002e8d9
call fcn.180009e60
test al, al
jne 0x18002e8ef
test r8b, r8b
je 0x18002e90a
mov ecx, dword [r13 + 0x60]
test ecx, ecx
js 0x18002e90a
call fcn.180009e60
test al, al
je 0x18002e90a
test r14b, r14b
jne 0x18002e90a
test r11b, r11b
je 0x18002e905
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002e90a
mov r14b, 1
jmp 0x18002e90d
xor r14b, r14b
test r15b, r15b
je 0x18002e926
mov ecx, dword [r13 + 0x84]
test ecx, ecx
js 0x18002e926
call fcn.180009e60
test al, al
jne 0x18002e93c
test r9b, r9b
je 0x18002e94b
mov ecx, dword [r13 + 0x60]
test ecx, ecx
js 0x18002e94b
call fcn.180009e60
test al, al
je 0x18002e94b
mov r8d, dword [rsp + 0x6c]
test r8b, r8b
jne 0x18002e950
mov r11b, 1
jmp 0x18002e953
mov r8d, dword [rsp + 0x6c]
xor r11b, r11b
test r15b, r15b
je 0x18002e980
mov ecx, dword [r13 + 0x90]
test ecx, ecx
js 0x18002e980
call fcn.180009e60
test al, al
je 0x18002e980
test r8b, r8b
mov r8d, dword [rsp + 0x78]
jne 0x18002e985
test r8b, r8b
je 0x18002e985
mov r9b, 1
jmp 0x18002e98d
mov r8d, dword [rsp + 0x78]
xor r9b, r9b
test r15b, r15b
je 0x18002e9a1
mov ecx, dword [r13 + 0x8c]
test ecx, ecx
js 0x18002e9a1
call fcn.180009e60
test al, al
jne 0x18002e9ba
test sil, sil
je 0x18002e9cb
mov ecx, dword [r13 + 0x90]
test ecx, ecx
js 0x18002e9cb
call fcn.180009e60
test al, al
je 0x18002e9cb
cmp byte [rsp + 0x6c], 0
jne 0x18002e9cb
test r8b, r8b
je 0x18002e9cb
mov r8b, 1
jmp 0x18002e9ce
xor r8b, r8b
mov ecx, dword [r13 + 0x40]
test ecx, ecx
js 0x18002ea56
call fcn.180009e60
test al, al
je 0x18002ea56
test r10b, r10b
je 0x18002e9ef
mov ecx, 0x200004
jmp 0x18002e9ff
mov ecx, 0x200000
mov eax, 0x20000c
test dil, dil
cmovne ecx, eax
or ecx, ebx
mov r8d, ecx
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bfe0
mov dword [r12 + 0xe70], 0xbe99999a
mov byte [r12 + 0xe74], 1
mov r13, qword [0x18004fe90]
mov r14, qword [rsp + 0x60]
xor cl, cl
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002f184
cmp byte [rsp + 0x50], 0
je 0x18002f184
mov al, 1
jmp 0x18002f186
mov ecx, dword [r13 + 0x44]
test ecx, ecx
js 0x18002ea80
call fcn.180009e60
test al, al
je 0x18002ea80
test r10b, r10b
je 0x18002ea73
mov ecx, 0x200005
jmp 0x18002e9ff
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x18002e9f9
mov ecx, dword [r13 + 0x48]
test ecx, ecx
js 0x18002eb14
call fcn.180009e60
mov esi, dword [rsp + 0x5c]
test al, al
je 0x18002eb18
test sil, sil
je 0x18002eb18
mov r14, qword [rsp + 0x60]
cmp byte [r14 + 0x148], 0
je 0x18002ead7
mov rdx, qword [rbp - 0x40]
xor eax, eax
movss xmm0, dword [rdx + 0x58]
subss xmm0, dword [r14 + 0x1918]
mov dword [rdx + 0x70], eax
maxss xmm0, xmm12
movss dword [rdx + 0x68], xmm0
jmp 0x18002ea32
movzx eax, r10b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bfe0
mov byte [r12 + 0xe74], 1
mov dword [r12 + 0xe70], 0xbe99999a
mov r13, qword [0x18004fe90]
jmp 0x18002ea32
mov esi, dword [rsp + 0x5c]
mov ecx, dword [r13 + 0x4c]
test ecx, ecx
js 0x18002eb7b
call fcn.180009e60
test al, al
je 0x18002eb7b
test sil, sil
je 0x18002eb7b
mov r14, qword [rsp + 0x60]
cmp byte [r14 + 0x148], 0
je 0x18002eb6a
mov rax, qword [r13 + 0x1a60]
mov rcx, qword [rbp - 0x40]
movss xmm0, dword [r14 + 0x1918]
addss xmm0, dword [rcx + 0x58]
minss xmm0, dword [rax + 0x60]
xor eax, eax
mov dword [rcx + 0x70], eax
movss dword [rcx + 0x68], xmm0
jmp 0x18002ea32
movzx eax, r10b
lea r8d, [rax*4 + 0x200003]
jmp 0x18002eae3
mov ecx, dword [r13 + 0x58]
test ecx, ecx
js 0x18002ebb2
call fcn.180009e60
test al, al
je 0x18002ebb2
mov eax, ebx
mov r8d, 0x200004
or eax, 0x200006
mov r14, qword [rsp + 0x60]
or r8d, ebx
cmp byte [r14 + 0x148], 0
cmovne r8d, eax
jmp 0x18002eae6
mov ecx, dword [r13 + 0x5c]
test ecx, ecx
js 0x18002ebd2
call fcn.180009e60
test al, al
je 0x18002ebd2
mov eax, ebx
mov r8d, 0x200005
or eax, 0x200007
jmp 0x18002eb99
mov ecx, dword [r13 + 0x64]
test ecx, ecx
js 0x18002ebfb
call fcn.180009e60
mov r10d, dword [rsp + 0x6c]
test al, al
je 0x18002ec00
test r10b, r10b
jne 0x18002ec00
or ebx, 0x200008
mov r8d, ebx
jmp 0x18002ea04
mov r10d, dword [rsp + 0x6c]
mov ecx, dword [r13 + 0x68]
test ecx, ecx
js 0x18002ecd1
call fcn.180009e60
test al, al
je 0x18002ecd1
test r10b, r10b
jne 0x18002ecd1
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
jne 0x18002ec5b
test dil, dil
je 0x18002ec6e
lea rdx, [r12 + 0x4c]
mov r8d, 0x60000c
mov rcx, r12
call fcn.18002bfe0
mov byte [r12 + 0xe74], 1
mov dword [r12 + 0xe70], 0xbe99999a
mov r14, qword [rsp + 0x60]
or ebx, 0x200009
mov r8d, ebx
jmp 0x18002eae6
mov r14, qword [rsp + 0x60]
cmp byte [r14 + 0xc9], 0
je 0x18002ec60
cmp byte [r14 + 0x14b], 0
je 0x18002ec60
cmp byte [r14 + 0x14a], 0
jne 0x18002ec60
cmp byte [r14 + 0x148], 0
jne 0x18002ec60
lea rdx, [r12 + 0x4c]
mov r8d, 0x600004
mov rcx, r12
call fcn.18002bfe0
or ebx, 0x200009
mov byte [r12 + 0xe74], 1
mov r8d, ebx
mov dword [r12 + 0xe70], 0xbe99999a
jmp 0x18002eae6
mov ecx, dword [r13 + 0x70]
test ecx, ecx
js 0x18002ece2
call fcn.180009e60
test al, al
jne 0x18002ecf3
mov ecx, dword [r13 + 0x78]
test ecx, ecx
js 0x18002ed5a
call fcn.180009e60
test al, al
je 0x18002ed5a
mov edx, dword [rbp + 0x1a8]
mov eax, edx
mov r14, qword [rsp + 0x60]
shr eax, 0xb
and al, 1
test sil, sil
je 0x18002ed1a
movzx ecx, byte [r14 + 0x148]
test al, al
je 0x18002ed29
test cl, cl
jne 0x18002ed2d
mov byte [rsp + 0x58], 1
mov byte [rsp + 0x52], 1
jmp 0x18002ea32
test cl, cl
jne 0x18002ed1a
test r10b, r10b
jne 0x18002ea32
lea rcx, [rsp + 0x54]
mov dword [rsp + 0x54], 0xa
call fcn.18002d210
test al, al
je 0x18002eb08
mov r8d, dword [rsp + 0x54]
jmp 0x18002eae6
mov ecx, dword [r13 + 0x74]
test ecx, ecx
js 0x18002ed7b
call fcn.180009e60
test al, al
je 0x18002ed7b
mov r14, qword [rsp + 0x60]
mov cl, 1
mov byte [rsp + 0x58], cl
jmp 0x18002ea34
test r9b, r9b
jne 0x18002f154
test r8b, r8b
jne 0x18002f154
test r15b, r15b
je 0x18002edcc
mov ecx, dword [r13 + 0x7c]
test ecx, ecx
js 0x18002edcc
call fcn.180009e60
test al, al
je 0x18002edcc
xor eax, eax
mov byte [r12 + 0x5b], r8b
mov dword [r12 + 0x50], eax
mov eax, dword [r12 + 4]
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x4c], eax
mov byte [r12 + 0xe74], 1
jmp 0x18002ea2d
movzx r15d, byte [rsp + 0x51]
test r15b, r15b
jne 0x18002efa1
test r14b, r14b
jne 0x18002efa1
test r11b, r11b
je 0x18002ea2d
mov rax, qword [r13 + 0x100]
test rax, rax
je 0x18002ee24
mov rcx, qword [r13 + 0x110]
call rax
mov rbx, rax
test rax, rax
je 0x18002ee13
mov r13, qword [0x18004fe90]
jmp 0x18002ee2b
mov r14, qword [rsp + 0x60]
mov r13, qword [0x18004fe90]
jmp 0x18002ea32
lea rbx, [0x180046b68]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x18002ee32
test r13, r13
je 0x18002ee47
inc dword [r13 + 0x3bc]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r15d, r15d
mov r14, rax
mov esi, r15d
cmp byte [rbx], r15b
je 0x18002eeb5
mov r12d, dword [rbp + 0x1a8]
mov rdi, rax
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x78], r15d
je 0x18002eeb1
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.18002d210
test al, al
je 0x18002eeac
movzx eax, word [rsp + 0x78]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r15b
jne 0x18002ee70
mov r12, qword [rbp - 0x50]
movsxd rax, esi
mov word [r14 + rax*2], r15w
test esi, esi
jle 0x18002ef7c
mov edx, dword [r12 + 0x54]
mov ecx, dword [r12 + 0x50]
mov eax, dword [r12 + 4]
cmp ecx, edx
je 0x18002eef7
cmp ecx, eax
jle 0x18002eee3
mov dword [r12 + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x18002eeee
mov dword [r12 + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x18002eef7
mov dword [r12 + 0x4c], ecx
cmp dword [r12 + 0x4c], eax
jle 0x18002ef03
mov dword [r12 + 0x4c], eax
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bf40
mov edx, dword [r12 + 0x4c]
mov r9d, esi
mov r8, r14
mov rcx, r12
call fcn.18002b950
test al, al
je 0x18002ef59
mov edi, dword [r12 + 0x4c]
lea rcx, [r12 + 0x64]
xor edx, edx
call fcn.18002cdc0
test rax, rax
je 0x18002ef4d
mov dword [rax], edi
mov dword [rax + 4], r15d
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0xffffffff
add dword [r12 + 0x4c], esi
mov byte [r12 + 0x5b], r15b
jmp 0x18002ef73
movzx eax, word [r12 + 0xe62]
test ax, ax
je 0x18002ef73
dec ax
mov word [r12 + 0xe62], ax
mov byte [r12 + 0xe74], 1
test r14, r14
je 0x18002ef93
mov rax, qword [0x18004fe90]
test rax, rax
je 0x18002ef93
dec dword [rax + 0x3bc]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002ea26
mov r14, qword [rsp + 0x60]
cmp qword [r14 + 0x108], 0
je 0x18002f0eb
mov esi, dword [r12 + 0x54]
mov eax, dword [r12 + 0x50]
cmp eax, esi
je 0x18002efd0
mov r14d, esi
cmovge esi, eax
cmovl r14d, eax
xor edi, edi
jmp 0x18002efda
mov esi, dword [r12 + 4]
xor edi, edi
mov r14d, edi
mov rcx, qword [r12 + 0x18]
mov edx, edi
movsxd rax, esi
mov ebx, 0x2800
mov r15d, 0x3ff
mov r10d, 0x80
mov r11d, 0x800
mov r12d, 0x2400
lea r9, [rcx + rax*2]
movsxd rax, r14d
lea r8, [rcx + rax*2]
nop dword [rax]
test r9, r9
je 0x18002f01a
cmp r8, r9
jae 0x18002f05d
movzx ecx, word [r8]
test cx, cx
je 0x18002f05d
add r8, 2
cmp cx, r10w
jae 0x18002f031
inc edx
jmp 0x18002f010
cmp cx, r11w
jae 0x18002f040
mov eax, 2
add edx, eax
jmp 0x18002f010
lea eax, [r12 + rcx]
cmp ax, r15w
mov eax, edi
jbe 0x18002f059
add cx, bx
cmp cx, r15w
setbe al
add eax, 3
add edx, eax
jmp 0x18002f010
mov r12, qword [rbp - 0x50]
lea edi, [rdx + 1]
movzx r15d, byte [rsp + 0x51]
test r13, r13
je 0x18002f076
inc dword [r13 + 0x3bc]
movsxd rcx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, qword [r12 + 0x18]
mov edx, edi
movsxd rcx, esi
mov rbx, rax
lea r9, [r8 + rcx*2]
movsxd rcx, r14d
lea r8, [r8 + rcx*2]
mov rcx, rax
call fcn.180004ba0
mov r9, qword [0x18004fe90]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x18002f0c5
mov rcx, qword [r9 + 0x110]
mov rdx, rbx
call rax
mov r9, qword [0x18004fe90]
test rbx, rbx
je 0x18002f0d6
test r9, r9
je 0x18002f0d6
dec dword [r9 + 0x3bc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r13, qword [0x18004fe90]
mov r14, qword [rsp + 0x60]
test r15b, r15b
je 0x18002ea32
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
jne 0x18002f11c
xor eax, eax
mov byte [r12 + 0x5b], 0
mov dword [r12 + 0x50], eax
mov eax, dword [r12 + 4]
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x4c], eax
mov byte [r12 + 0xe74], 1
mov eax, dword [r12 + 0x54]
cmp dword [r12 + 0x50], eax
je 0x18002ea32
lea rdx, [r12 + 0x4c]
mov rcx, r12
call fcn.18002bf40
mov r13, qword [0x18004fe90]
mov byte [r12 + 0x5b], 0
jmp 0x18002ea32
movzx r8d, r9b
lea rdx, [r12 + 0x4c]
xor r8d, 1
mov rcx, r12
add r8d, 0x20000a
call fcn.18002bfe0
mov eax, dword [r12 + 0x4c]
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x50], eax
jmp 0x18002ea11
xor al, al
mov edx, dword [rbp - 0x68]
mov esi, dword [rbp - 0x7c]
or dl, al
mov dword [rbp - 0x68], edx
cmp dword [r14 + 0x1aa8], esi
jne 0x18002f999
xor esi, esi
mov qword [rbp - 0x60], rsi
mov dword [rsp + 0x68], esi
test cl, cl
je 0x18002f3c2
cmp byte [rsp + 0x6c], sil
jne 0x18002f3a1
mov r9, qword [r12 + 0x38]
mov rax, qword [rbp - 0x70]
mov r8, r9
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002f1e3
inc rax
test ecx, ecx
jne 0x18002f1d0
test edx, edx
je 0x18002f3a1
mov eax, dword [r12 + 0x30]
xor ecx, ecx
dec eax
mov qword [rbp - 0x60], r9
mov dword [rsp + 0x68], eax
mov r15d, ecx
mov qword [rsp + 0x78], rcx
mov r14d, ecx
test eax, eax
jle 0x18002f303
movsxd rdi, eax
mov rbx, r9
add rdi, r9
test rdi, rdi
je 0x18002f222
cmp rbx, rdi
jae 0x18002f252
cmp byte [rbx], r14b
je 0x18002f252
mov r8, rdi
lea rcx, [rsp + 0x54]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rsp + 0x54]
add rbx, rcx
test eax, eax
je 0x18002f252
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f218
inc esi
jmp 0x18002f218
lea r15d, [rsi + 1]
test r15d, r15d
jle 0x18002f28e
cmp r15d, 8
mov eax, r15d
mov ecx, 8
cmovl eax, ecx
test eax, eax
jle 0x18002f28e
test r13, r13
je 0x18002f27a
inc dword [r13 + 0x3bc]
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov qword [rsp + 0x78], rax
movsxd rax, dword [rsp + 0x68]
mov rdi, r14
mov rbx, qword [rbp - 0x60]
mov rsi, rax
add rsi, qword [rbp - 0x60]
movsxd rcx, r15d
lea r14, [r14 + rcx*2]
add r14, 0xfffffffffffffffe
cmp qword [rsp + 0x78], r14
jae 0x18002f2f9
test rsi, rsi
je 0x18002f2bd
cmp rbx, rsi
jae 0x18002f2f5
cmp byte [rbx], 0
je 0x18002f2f5
mov r8, rsi
lea rcx, [rsp + 0x54]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rsp + 0x54]
add rbx, rcx
test eax, eax
je 0x18002f2f5
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f2f0
mov word [rdi], ax
add rdi, 2
cmp rdi, r14
jb 0x18002f2b3
mov eax, dword [rsp + 0x68]
mov r14, qword [rsp + 0x78]
xor esi, esi
mov word [rdi], si
movsxd rdi, dword [r12 + 4]
lea ebx, [r15 - 1]
test eax, eax
lea rcx, [r12 + 0x64]
mov r8d, edi
cmovle ebx, esi
xor edx, edx
mov r9d, ebx
call fcn.18002cf10
mov r9, rax
test rax, rax
je 0x18002f348
test edi, edi
jle 0x18002f348
mov rdx, rsi
mov rax, qword [r12 + 0x18]
movzx ecx, word [rax + rdx*2]
mov word [r9 + rdx*2], cx
inc rdx
cmp rdx, rdi
jl 0x18002f332
mov r8d, dword [r12 + 4]
xor edx, edx
mov rcx, r12
call fcn.18002b850
test ebx, ebx
jle 0x18002f37a
mov r9d, ebx
mov r8, r14
xor edx, edx
mov rcx, r12
call fcn.18002b950
test al, al
je 0x18002f37a
mov dword [r12 + 0x4c], ebx
mov byte [r12 + 0x5b], 0
test r14, r14
je 0x18002f39a
mov rax, qword [0x18004fe90]
test rax, rax
je 0x18002f391
dec dword [rax + 0x3bc]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r13, qword [0x18004fe90]
cmp byte [rsp + 0x52], 0
mov r9d, dword [rbp + 0x1a8]
je 0x18002f3b5
test r9b, 0x20
jne 0x18002f3c9
mov r15d, dword [rbp - 0x78]
mov rsi, qword [rbp - 0x70]
jmp 0x18002f8d0
mov r9d, dword [rbp + 0x1a8]
cmp byte [rsp + 0x6c], 0
jne 0x18002f437
mov eax, dword [r12 + 0x10]
mov byte [r12 + 0x40], 1
mov ecx, dword [r12 + 0x24]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18002f417
test ecx, ecx
je 0x18002f3fa
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002f3ff
mov eax, 8
cmp eax, ebx
lea rcx, [r12 + 0x20]
mov edx, ebx
cmovg edx, eax
call fcn.180015cd0
mov r13, qword [0x18004fe90]
mov dword [r12 + 0x20], ebx
xor r9d, r9d
mov r8, qword [r12 + 0x18]
mov edx, ebx
mov rcx, qword [r12 + 0x28]
call fcn.180004ba0
mov r9d, dword [rbp + 0x1a8]
test r9d, 0x1c0
je 0x18002f879
mov r8d, 0x16
test r9b, 0x40
je 0x18002f46a
mov ecx, dword [r13 + 0x3c]
test ecx, ecx
js 0x18002f46a
call fcn.180009e60
test al, al
je 0x18002f46a
lea eax, [r8 + 0x2a]
mov r8d, esi
jmp 0x18002f4bc
test r9b, r9b
jns 0x18002f4af
mov ecx, dword [r13 + 0x48]
test ecx, ecx
js 0x18002f48f
call fcn.180009e60
test al, al
je 0x18002f48f
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7d]
jmp 0x18002f4c2
mov ecx, dword [r13 + 0x4c]
test ecx, ecx
js 0x18002f4af
call fcn.180009e60
test al, al
je 0x18002f4af
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7c]
jmp 0x18002f4c2
mov ecx, 0x100
mov eax, esi
test ecx, r9d
cmovne eax, ecx
mov r10d, 0x80
test eax, eax
je 0x18002f879
mov dword [rbp - 8], eax
mov ebx, esi
mov rax, qword [r12 + 0x28]
mov edi, 0x2400
mov qword [rbp + 0x10], rax
mov r11d, 0x800
mov eax, dword [r12 + 8]
mov dword [rbp + 0x18], eax
mov eax, dword [r12 + 0x44]
mov dword [rbp - 4], r9d
mov r9, qword [r12 + 0x18]
mov dword [rbp + 0x1c], eax
mov rdx, r9
movsxd rax, dword [r12 + 0x4c]
mov r12d, 0x3ff
mov dword [rbp + 0xc], r8d
mov qword [rbp + 0x68], r9
mov dword [rbp + 8], esi
lea r8, [r9 + rax*2]
mov qword [rbp + 0x21], rsi
mov r9d, 0x2800
mov dword [rbp + 0x29], esi
mov word [rbp + 0x2d], si
mov byte [rbp + 0x2f], 0
mov qword [rbp], rsi
mov byte [rbp + 0x20], 0
test r8, r8
je 0x18002f540
cmp rdx, r8
jae 0x18002f582
movzx ecx, word [rdx]
test cx, cx
je 0x18002f582
add rdx, 2
cmp cx, r10w
jae 0x18002f556
inc ebx
jmp 0x18002f536
cmp cx, r11w
jae 0x18002f565
mov eax, 2
add ebx, eax
jmp 0x18002f536
lea eax, [rdi + rcx]
cmp ax, r12w
mov eax, esi
jbe 0x18002f57e
add cx, r9w
cmp cx, r12w
setbe al
add eax, 3
add ebx, eax
jmp 0x18002f536
mov r9, qword [rbp + 0x68]
mov r15d, esi
mov r12, qword [rbp - 0x50]
mov rdx, r9
mov dword [rsp + 0x78], ebx
mov dword [rbp + 0x24], ebx
movsxd rax, dword [r12 + 0x50]
mov r12d, 0x3ff
lea r8, [r9 + rax*2]
mov r9d, 0x2800
nop dword [rax]
test r8, r8
je 0x18002f5ba
cmp rdx, r8
jae 0x18002f5ff
movzx ecx, word [rdx]
test cx, cx
je 0x18002f5ff
add rdx, 2
cmp cx, r10w
jae 0x18002f5d1
inc r15d
jmp 0x18002f5b0
cmp cx, r11w
jae 0x18002f5e1
mov eax, 2
add r15d, eax
jmp 0x18002f5b0
lea eax, [rdi + rcx]
cmp ax, r12w
mov eax, esi
jbe 0x18002f5fa
add cx, r9w
cmp cx, r12w
setbe al
add eax, 3
add r15d, eax
jmp 0x18002f5b0
mov r12, qword [rbp - 0x50]
mov r14d, esi
mov r9, qword [rbp + 0x68]
mov dword [rsp + 0x54], r15d
mov dword [rbp + 0x28], r15d
mov r15d, 0x2800
movsxd rax, dword [r12 + 0x54]
mov r12d, 0x3ff
lea rdx, [r9 + rax*2]
test rdx, rdx
je 0x18002f632
cmp r9, rdx
jae 0x18002f678
movzx ecx, word [r9]
test cx, cx
je 0x18002f678
add r9, 2
cmp cx, r10w
jae 0x18002f64a
inc r14d
jmp 0x18002f628
cmp cx, r11w
jae 0x18002f65a
mov eax, 2
add r14d, eax
jmp 0x18002f628
lea eax, [rdi + rcx]
cmp ax, r12w
mov eax, esi
jbe 0x18002f673
add cx, r15w
cmp cx, r12w
setbe al
add eax, 3
add r14d, eax
jmp 0x18002f628
lea rcx, [rbp - 8]
mov dword [rbp + 0x2c], r14d
call rsi
movsxd rax, dword [rbp + 0x24]
mov r15d, dword [rsp + 0x54]
mov r12, qword [rbp - 0x50]
cmp eax, dword [rsp + 0x78]
je 0x18002f6ea
mov rbx, qword [rbp + 0x10]
lea rdi, [rbx + rax]
nop dword [rax]
test rdi, rdi
je 0x18002f6aa
cmp rbx, rdi
jae 0x18002f6da
cmp byte [rbx], 0
je 0x18002f6da
mov r8, rdi
lea rcx, [rsp + 0x54]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rsp + 0x54]
add rbx, rcx
test eax, eax
je 0x18002f6da
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f6a0
inc esi
jmp 0x18002f6a0
mov dword [r12 + 0x4c], esi
xor esi, esi
mov byte [r12 + 0xe74], 1
movsxd rax, dword [rbp + 0x28]
cmp eax, r15d
je 0x18002f73f
mov rbx, qword [rbp + 0x10]
lea rdi, [rbx + rax]
nop dword [rax + rax]
test rdi, rdi
je 0x18002f70a
cmp rbx, rdi
jae 0x18002f73a
cmp byte [rbx], 0
je 0x18002f73a
mov r8, rdi
lea rcx, [rsp + 0x54]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rsp + 0x54]
add rbx, rcx
test eax, eax
je 0x18002f73a
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f700
inc esi
jmp 0x18002f700
mov dword [r12 + 0x50], esi
movsxd rax, dword [rbp + 0x2c]
xor r13d, r13d
cmp eax, r14d
je 0x18002f795
mov rbx, qword [rbp + 0x10]
mov esi, r13d
lea rdi, [rbx + rax]
test rdi, rdi
je 0x18002f760
cmp rbx, rdi
jae 0x18002f790
cmp byte [rbx], r13b
je 0x18002f790
mov r8, rdi
lea rcx, [rsp + 0x54]
mov rdx, rbx
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rsp + 0x54]
add rbx, rcx
test eax, eax
je 0x18002f790
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f756
inc esi
jmp 0x18002f756
mov dword [r12 + 0x54], esi
cmp byte [rbp + 0x20], 0
mov r15d, dword [rbp - 0x78]
je 0x18002f869
mov ebx, dword [rbp + 0x18]
mov eax, dword [rbp - 0x80]
cmp ebx, eax
jle 0x18002f7ec
test r15b, r15b
je 0x18002f7ec
mov ecx, dword [r12 + 0x14]
sub ebx, eax
add ebx, dword [r12 + 0x10]
cmp ebx, ecx
jle 0x18002f7e7
test ecx, ecx
je 0x18002f7d1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002f7d6
mov eax, 8
cmp eax, ebx
lea rcx, [r12 + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180015d60
mov dword [r12 + 0x10], ebx
mov r14, qword [r12 + 0x18]
movsxd rsi, dword [r12 + 0x10]
mov rbx, r14
mov rdi, qword [rbp + 0x10]
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x18002f846
nop dword [rax]
cmp byte [rdi], 0
je 0x18002f846
xor r8d, r8d
lea rcx, [rbp - 0x80]
mov rdx, rdi
call fcn.180004a00
movsxd rcx, eax
mov eax, dword [rbp - 0x80]
add rdi, rcx
test eax, eax
je 0x18002f846
mov ecx, 0xffff
cmp eax, ecx
ja 0x18002f841
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002f810
mov word [rbx], r13w
sub rbx, r14
mov eax, dword [rbp + 0x18]
sar rbx, 1
mov dword [r12 + 4], ebx
mov dword [r12 + 8], eax
mov dword [r12 + 0xe70], 0xbe99999a
mov r13, qword [0x18004fe90]
mov r9d, dword [rbp + 0x1a8]
jmp 0x18002f87d
mov r15d, dword [rbp - 0x78]
cmp byte [rsp + 0x6c], 0
mov rsi, qword [rbp - 0x70]
jne 0x18002f8d0
mov r9, qword [r12 + 0x28]
mov r8, rsi
mov rax, r9
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002f8b3
inc rax
test ecx, ecx
jne 0x18002f8a0
test edx, edx
je 0x18002f8c9
mov ecx, dword [r12 + 8]
mov qword [rbp - 0x60], r9
mov r9d, dword [rbp + 0x1a8]
jmp 0x18002f8d4
mov r9d, dword [rbp + 0x1a8]
mov ecx, dword [rsp + 0x68]
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x18002f975
test r15b, r15b
je 0x18002f93d
xor edx, edx
mov dword [rbp + 0x50], ecx
lea eax, [rcx + 1]
mov qword [rbp + 0x40], rdx
cmp dword [rsp + 0x74], eax
lea rcx, [rbp + 0x30]
xorps xmm0, xmm0
mov dword [rbp + 0x30], 0x40000
cmovge eax, dword [rsp + 0x74]
mov dword [rbp + 0x54], eax
movdqu xmmword [rbp + 0x58], xmm0
mov dword [rbp + 0x34], r9d
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x38], rdx
call rdx
mov edx, dword [rbp + 0x54]
mov rsi, qword [rbp + 0x48]
mov r13, qword [0x18004fe90]
mov qword [rbp - 0x70], rsi
lea ecx, [rdx - 1]
cmp dword [rbp + 0x50], ecx
cmovl ecx, dword [rbp + 0x50]
jmp 0x18002f941
mov edx, dword [rsp + 0x74]
lea eax, [rcx + 1]
cmp eax, edx
cmovl edx, eax
movsxd rbx, edx
cmp rbx, 1
jb 0x18002f970
jbe 0x18002f96b
lea r8, [rbx - 1]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r13, qword [0x18004fe90]
mov byte [rbx + rsi - 1], 0
mov byte [rsp + 0x70], 1
mov r14, qword [rsp + 0x60]
xor ebx, ebx
mov esi, dword [rbp - 0x7c]
mov dword [r12 + 0xe78], ebx
mov qword [r12 + 0xe80], rbx
mov qword [r12 + 0xe88], rbx
jmp 0x18002f99b
xor ebx, ebx
cmp byte [rsp + 0x58], 0
je 0x18002fa03
cmp dword [r14 + 0x1aa8], esi
jne 0x18002fa03
mov ecx, dword [r13 + 0x1aa8]
test ecx, ecx
setne al
mov byte [r13 + 0x1ab4], al
test ecx, ecx
je 0x18002f9d3
mov dword [r13 + 0x1ab0], ebx
mov word [r13 + 0x1ab6], 0
mov dword [r13 + 0x1aa8], ebx
mov byte [r13 + 0x1ab5], 0
mov qword [r13 + 0x1ad8], rbx
mov byte [r13 + 0x1ab8], 0
mov qword [r13 + 0x1abc], 0
mov qword [r13 + 0x1ac8], rbx
mov r11d, dword [rsp + 0x5c]
movaps xmmword [rsp + 0x1c0], xmm13
movaps xmmword [rsp + 0x1b0], xmm14
movaps xmmword [rsp + 0x1a0], xmm15
test r11b, r11b
jne 0x18002faf6
mov r8d, 1
lea rcx, [rbp - 0x18]
mov edx, esi
call fcn.180006230
mov rax, qword [0x18004fe90]
lea rcx, [rbp + 0x68]
movups xmm0, xmmword [rax + 0x167c]
movups xmmword [rbp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1558]
movss dword [rbp + 0x74], xmm0
call fcn.180004ce0
movss xmm0, dword [r14 + 0x1598]
mov r8d, eax
mov rdx, qword [rbp - 0x10]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm11
movq rcx, xmm0
call fcn.180005a60
mov r13, qword [0x18004fe90]
movaps xmm13, xmm7
mov r10, qword [rbp - 0x40]
addss xmm13, xmm9
mov r11d, dword [rsp + 0x5c]
movaps xmm12, xmm11
addss xmm12, xmm8
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x1590]
movaps xmm1, xmm11
addss xmm1, dword [r14 + 0x1594]
movss dword [rbp + 0x88], xmm13
movaps xmm15, xmm13
movss dword [rbp + 0x8c], xmm12
movaps xmm14, xmm12
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
jmp 0x18002fb34
mov r10, qword [rbp - 0x40]
movaps xmm15, xmm9
movaps xmm14, xmm11
addss xmm15, xmm7
addss xmm14, xmm8
movsd xmm0, qword [r10 + 0xd0]
movsd qword [rbp + 0x68], xmm0
movss dword [rbp + 0x88], xmm15
movaps xmm13, xmm15
movss dword [rbp + 0x8c], xmm14
movaps xmm12, xmm14
cmp byte [rsp + 0x59], 0
lea r14, [rbp + 0x68]
movss xmm10, dword [r14 + 4]
xorps xmm5, xmm5
movss dword [rbp + 0x80], xmm9
xorps xmm1, xmm1
movss xmm9, dword [r14]
movss dword [rsp + 0x54], xmm9
movss dword [rsp + 0x74], xmm10
movss dword [rbp + 0x84], xmm11
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x68], xmm5
je 0x18002fb87
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x70], rdi
jmp 0x18002fb8b
mov rdi, qword [rbp - 0x70]
movzx eax, byte [rsp + 0x50]
mov ecx, dword [rbp - 0x68]
test al, al
jne 0x18002fda2
test cl, cl
jne 0x18002fda2
test r11b, r11b
je 0x18002fc13
movzx edx, byte [rdi]
lea rsi, [rdi + 1]
mov ecx, ebx
test dl, dl
je 0x18002fbd5
nop word [rax + rax]
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [rsi]
cmovne eax, ecx
inc rsi
mov ecx, eax
test dl, dl
jne 0x18002fbc0
movzx eax, byte [rsi - 1]
dec rsi
cmp al, 0xa
je 0x18002fbe6
cmp al, 0xd
je 0x18002fbe6
inc ecx
mov rbx, qword [rsp + 0x60]
movd xmm9, ecx
cvtdq2ps xmm9, xmm9
movss dword [rsp + 0x78], xmm7
mulss xmm9, dword [rbx + 0x1918]
movss dword [rsp + 0x68], xmm9
movss xmm9, dword [rsp + 0x54]
jmp 0x18002fc4e
mov rbx, qword [rsp + 0x60]
cmp dword [rbx + 0x1aa8], esi
jne 0x18002fc27
movsxd rsi, dword [r12 + 8]
jmp 0x18002fc39
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [rdi + rsi], 0
jne 0x18002fc30
add rsi, rdi
mov rax, rsi
sub rax, rdi
cmp rax, 0x200000
jge 0x180030678
movups xmm0, xmmword [r13 + 0x160c]
lea rcx, [rbp + 0x68]
movups xmmword [rbp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp + 0x74], xmm0
call fcn.180004ce0
movss xmm2, dword [rbx + 0x1918]
lea r8, [rbp + 0x80]
mov r10, qword [r10 + 0x2b0]
test r11b, r11b
mov r11, qword [rbx + 0x1910]
mov r9d, eax
mov eax, 0
mov rdx, rsi
cmovne r8, rax
test r9d, 0xff000000
je 0x18003062e
test rsi, rsi
jne 0x18002fccb
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rdi + rdx], al
jne 0x18002fcc0
add rdx, rdi
cmp rdi, rdx
je 0x18003062e
test r11, r11
jne 0x18002fce1
mov rax, qword [r10 + 0x38]
mov r11, qword [rax + 8]
xorps xmm12, xmm12
ucomiss xmm2, xmm12
jp 0x18002fcf6
jne 0x18002fcf6
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movsxd rcx, dword [r10 + 0x60]
mov rax, qword [r10 + 0x68]
add rcx, rcx
movups xmm1, xmmword [rax + rcx*8 - 0x10]
movups xmmword [rbp + 0x68], xmm1
test r8, r8
je 0x18002fd58
movss xmm0, dword [r8]
comiss xmm1, xmm0
jae 0x18002fd1e
movss dword [rbp + 0x68], xmm0
movss xmm1, dword [r8 + 4]
movss xmm0, dword [rbp + 0x6c]
comiss xmm0, xmm1
jae 0x18002fd33
movss dword [rbp + 0x6c], xmm1
movss xmm0, dword [r8 + 8]
comiss xmm0, dword [rbp + 0x70]
ja 0x18002fd44
movss dword [rbp + 0x70], xmm0
movss xmm0, dword [r8 + 0xc]
comiss xmm0, dword [rbp + 0x74]
ja 0x18002fd55
movss dword [rbp + 0x74], xmm0
test r8, r8
setne al
movaps xmm0, xmm9
mov byte [rsp + 0x48], al
mov rcx, r11
movss dword [rsp + 0x40], xmm12
lea rax, [rbp + 0x68]
mov qword [rsp + 0x38], rdx
mov rdx, r10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
unpcklps xmm0, xmm10
mov dword [rsp + 0x20], r9d
movq r9, xmm0
call fcn.180023760
mov r13, qword [0x18004fe90]
jmp 0x180030632
movsxd rsi, dword [r12 + 8]
xor r9d, r9d
mov r15, qword [r12 + 0x18]
add rsi, rdi
mov r8d, 0xfffffc18
mov r10, rbx
mov rdi, rbx
xorps xmm7, xmm7
xorps xmm6, xmm6
mov ebx, r8d
mov edx, r9d
test al, al
je 0x18002fddf
movsxd rax, dword [r12 + 0x4c]
lea edx, [r9 + 1]
lea r8d, [r9 - 1]
lea r10, [r15 + rax*2]
test cl, cl
je 0x18002fe01
mov ecx, dword [r12 + 0x54]
mov ebx, 0xffffffff
cmp dword [r12 + 0x50], ecx
cmovl ecx, dword [r12 + 0x50]
inc edx
movsxd rax, ecx
lea rdi, [r15 + rax*2]
movzx ecx, word [r15]
movzx eax, r11b
add edx, eax
mov rax, r15
test cx, cx
je 0x18002fe50
cmp cx, 0xa
jne 0x18002fe43
inc r9d
cmp r8d, 0xffffffff
jne 0x18002fe30
cmp rax, r10
jb 0x18002fe30
dec edx
mov r8d, r9d
test edx, edx
jle 0x18002fe50
cmp ebx, 0xffffffff
jne 0x18002fe43
cmp rax, rdi
jb 0x18002fe43
dec edx
mov ebx, r9d
test edx, edx
jle 0x18002fe50
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x18002fe13
inc r9d
mov rdx, r10
cmp r8d, 0xffffffff
mov r11d, r9d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r9d
cmp r10, r15
jbe 0x18002fe83
nop dword [rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002fe83
mov rdx, rax
cmp rax, r15
ja 0x18002fe70
mov r8, qword [r13 + 0x1910]
movaps xmm1, xmm5
movss xmm2, dword [r13 + 0x1918]
movaps xmm8, xmm5
divss xmm2, dword [r8 + 0x14]
cmp rdx, r10
jae 0x18002fef0
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18002fec7
maxss xmm1, xmm8
movaps xmm8, xmm5
jmp 0x18002feeb
cmp ecx, 0xd
je 0x18002feeb
cmp ecx, dword [r8]
jge 0x18002fedc
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002fee2
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm8, xmm0
cmp rdx, r10
jb 0x18002feb0
mov r10, qword [rsp + 0x60]
maxss xmm8, xmm1
movd xmm11, r11d
cvtdq2ps xmm11, xmm11
movss xmm0, dword [r10 + 0x1918]
mulss xmm11, xmm0
movss dword [rbp - 0x80], xmm8
movss dword [rbp - 0x78], xmm11
test ebx, ebx
js 0x18002ffb8
mov rdx, rdi
cmp rdi, r15
jbe 0x18002ff43
nop dword [rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002ff43
mov rdx, rax
cmp rax, r15
ja 0x18002ff30
movss xmm3, dword [r13 + 0x1918]
movaps xmm2, xmm5
movaps xmm6, xmm5
divss xmm3, dword [r8 + 0x14]
cmp rdx, rdi
jae 0x18002ffa0
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18002ff75
maxss xmm2, xmm6
movaps xmm6, xmm5
jmp 0x18002ff9b
cmp ecx, 0xd
je 0x18002ff9b
cmp ecx, dword [r8]
jge 0x18002ff8a
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18002ff90
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm6, xmm0
cmp rdx, rdi
jb 0x18002ff60
movss xmm0, dword [r10 + 0x1918]
maxss xmm6, xmm2
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
mov r11d, dword [rsp + 0x5c]
movss xmm4, dword [rbp - 0x30]
test r11b, r11b
je 0x18002ffdf
movd xmm3, r9d
cvtdq2ps xmm3, xmm3
movss dword [rsp + 0x78], xmm4
mulss xmm3, xmm0
movss dword [rsp + 0x68], xmm3
movzx r8d, byte [rsp + 0x50]
test r8b, r8b
je 0x1800300ae
cmp byte [r12 + 0xe74], 0
je 0x1800300ae
test dword [rbp + 0x1a8], 0x1000
jne 0x180030053
movss xmm2, dword [r12 + 0x48]
movaps xmm0, xmm4
comiss xmm2, xmm8
mulss xmm0, dword [0x180047aa4]
movaps xmm1, xmm8
jbe 0x180030032
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x18003003f
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x18003005a
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r12 + 0x48], xmm0
jmp 0x18003005a
xor eax, eax
mov dword [r12 + 0x48], eax
test r11b, r11b
je 0x1800300a5
mov rax, qword [rbp - 0x40]
movaps xmm2, xmm11
subss xmm2, dword [r10 + 0x1918]
movss xmm1, dword [rax + 0x58]
comiss xmm1, xmm2
jbe 0x180030083
movaps xmm0, xmm5
maxss xmm0, xmm2
jmp 0x180030090
movaps xmm0, xmm11
subss xmm0, dword [rbp - 0x48]
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [rax + 0x58], xmm0
addss xmm10, xmm1
movss dword [rsp + 0x74], xmm10
mov byte [r12 + 0xe74], 0
cmp byte [rbp - 0x68], 0
movss xmm10, dword [r12 + 0x48]
je 0x18003032f
mov edx, dword [r12 + 0x54]
mov eax, edx
mov ecx, dword [r12 + 0x50]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea rbx, [r15 + rax*2]
movsxd rax, edx
lea rdi, [r15 + rax*2]
test r8b, r8b
je 0x1800300ef
movss xmm1, dword [0x180047ae8]
jmp 0x1800300f7
movss xmm1, dword [0x180047abc]
movups xmm0, xmmword [r13 + 0x18ac]
lea rcx, [rbp - 0x60]
mulss xmm1, dword [r13 + 0x1558]
movups xmmword [rbp - 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x54], xmm0
call fcn.180004ce0
mov r15d, eax
xorps xmm5, xmm5
test r11b, r11b
je 0x180030138
movss dword [rbp - 0x2c], xmm5
xorps xmm9, xmm9
jmp 0x180030141
movss xmm9, dword [0x180047b14]
movss xmm3, dword [r14]
addss xmm3, xmm6
movss xmm6, dword [rsp + 0x74]
addss xmm6, xmm7
movss xmm7, dword [0x180047ab8]
subss xmm3, xmm10
subss xmm6, xmm5
cmp rbx, rdi
jae 0x180030326
movss xmm8, dword [rbp - 0x18]
movss xmm11, dword [rbp - 0x14]
mov r12, qword [rbp - 0x40]
nop
movaps xmm0, xmm12
addss xmm0, dword [r10 + 0x1918]
comiss xmm6, xmm0
ja 0x180030308
comiss xmm11, xmm6
jbe 0x1800301c0
cmp rbx, rdi
jae 0x1800302ec
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x1800302ec
cmp rbx, rdi
jb 0x1800301a5
jmp 0x1800302ec
mov rdx, qword [r13 + 0x1910]
movaps xmm4, xmm5
movss xmm2, dword [r13 + 0x1918]
movaps xmm1, xmm5
divss xmm2, dword [rdx + 0x14]
cmp rbx, rdi
jae 0x18003021e
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x180030214
cmp ecx, 0xd
je 0x18003020d
cmp ecx, dword [rdx]
jge 0x180030200
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180030205
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jb 0x1800301e0
jmp 0x18003021e
movaps xmm4, xmm5
maxss xmm4, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm4
comiss xmm5, xmm1
jb 0x180030255
mov rax, qword [r10 + 0x1910]
cmp dword [rax], 0x20
jle 0x180030241
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x180030246
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rbp - 0x2c]
addss xmm1, xmm3
subss xmm2, dword [r10 + 0x1918]
movaps xmm0, xmm9
addss xmm3, xmm5
addss xmm0, xmm6
minss xmm1, xmm13
addss xmm2, xmm6
maxss xmm3, xmm8
minss xmm0, xmm12
movss dword [rbp - 0x58], xmm1
maxss xmm2, xmm11
movss dword [rbp - 0x60], xmm3
comiss xmm0, xmm11
movss dword [rbp - 0x5c], xmm2
movss dword [rbp - 0x54], xmm0
jbe 0x1800302ec
comiss xmm12, xmm2
jbe 0x1800302ec
comiss xmm1, xmm8
jbe 0x1800302ec
comiss xmm13, xmm3
jbe 0x1800302ec
mov rcx, qword [r12 + 0x2b0]
lea r8, [rbp - 0x58]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x60]
mov r9d, r15d
movss dword [rsp + 0x20], xmm5
call fcn.18001fd80
mov r10, qword [rsp + 0x60]
xorps xmm5, xmm5
mov r13, qword [0x18004fe90]
movss xmm3, dword [r14]
subss xmm3, xmm10
addss xmm6, dword [r10 + 0x1918]
cmp rbx, rdi
jb 0x180030180
movss xmm8, dword [rbp - 0x80]
movss xmm11, dword [rbp - 0x78]
movss xmm9, dword [rsp + 0x54]
mov r12, qword [rbp - 0x50]
mov r11d, dword [rsp + 0x5c]
jmp 0x180030337
movss xmm9, dword [rsp + 0x54]
jmp 0x180030337
movss xmm7, dword [0x180047ab8]
mov rdi, qword [rbp - 0x70]
test r11b, r11b
jne 0x180030352
mov rax, rsi
sub rax, rdi
cmp rax, 0x200000
jge 0x18003050c
movups xmm0, xmmword [r13 + 0x160c]
lea rcx, [rbp + 0x68]
movups xmmword [rbp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp + 0x74], xmm0
call fcn.180004ce0
mov r14, qword [rbp - 0x40]
lea r8, [rbp + 0x80]
movss xmm4, dword [rsp + 0x74]
test r11b, r11b
movss xmm2, dword [r10 + 0x1918]
mov r9d, eax
mov r11, qword [r10 + 0x1910]
mov eax, 0
mov r10, qword [r14 + 0x2b0]
cmovne r8, rax
movaps xmm3, xmm9
xorps xmm12, xmm12
subss xmm3, xmm10
mov rdx, rsi
subss xmm4, xmm12
test r9d, 0xff000000
je 0x1800304b4
test rsi, rsi
jne 0x1800303eb
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [rdi + rdx], al
jne 0x1800303e0
add rdx, rdi
cmp rdi, rdx
je 0x1800304b4
test r11, r11
jne 0x180030401
mov rax, qword [r10 + 0x38]
mov r11, qword [rax + 8]
ucomiss xmm2, xmm12
jp 0x180030412
jne 0x180030412
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movsxd rcx, dword [r10 + 0x60]
mov rax, qword [r10 + 0x68]
add rcx, rcx
movups xmm1, xmmword [rax + rcx*8 - 0x10]
movups xmmword [rbp + 0x68], xmm1
test r8, r8
je 0x180030474
movss xmm0, dword [r8]
comiss xmm1, xmm0
jae 0x18003043a
movss dword [rbp + 0x68], xmm0
movss xmm1, dword [r8 + 4]
movss xmm0, dword [rbp + 0x6c]
comiss xmm0, xmm1
jae 0x18003044f
movss dword [rbp + 0x6c], xmm1
movss xmm0, dword [r8 + 8]
comiss xmm0, dword [rbp + 0x70]
ja 0x180030460
movss dword [rbp + 0x70], xmm0
movss xmm0, dword [r8 + 0xc]
comiss xmm0, dword [rbp + 0x74]
ja 0x180030471
movss dword [rbp + 0x74], xmm0
test r8, r8
setne al
unpcklps xmm3, xmm4
mov byte [rsp + 0x48], al
mov rcx, r11
movss dword [rsp + 0x40], xmm12
lea rax, [rbp + 0x68]
mov qword [rsp + 0x38], rdx
mov rdx, r10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movq r9, xmm3
call fcn.180023760
mov r13, qword [0x18004fe90]
mov r10, qword [rsp + 0x60]
cmp byte [rsp + 0x50], 0
je 0x18003061a
movss xmm0, dword [r10 + 0x18]
addss xmm0, dword [r12 + 0xe70]
movss dword [r12 + 0xe70], xmm0
cmp byte [r10 + 0xca], 0
je 0x180030516
comiss xmm12, xmm0
jae 0x180030516
movss xmm1, dword [0x180047aec]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x180047adc]
comiss xmm1, xmm0
jae 0x180030516
xor al, al
jmp 0x180030518
mov r14, qword [rbp - 0x40]
xorps xmm12, xmm12
jmp 0x1800304b9
mov al, 1
mov rbx, qword [rsp + 0x60]
addss xmm8, xmm9
subss xmm8, xmm10
movss xmm10, dword [rsp + 0x74]
movaps xmm6, xmm10
addss xmm6, xmm11
movss xmm11, dword [rbp - 0x14]
movss dword [rbp - 0x60], xmm8
movaps xmm2, xmm8
subss xmm6, xmm12
movaps xmm0, xmm6
movaps xmm1, xmm6
subss xmm0, dword [rbx + 0x1918]
subss xmm1, dword [0x180047af8]
addss xmm0, xmm7
movss xmm7, dword [0x180047ae8]
movss dword [rbp - 0x54], xmm1
addss xmm2, xmm7
movss dword [rbp - 0x5c], xmm0
movss dword [rbp - 0x58], xmm2
test al, al
je 0x1800305f3
comiss xmm1, xmm11
jbe 0x1800305f3
comiss xmm14, xmm0
jbe 0x1800305f3
comiss xmm2, dword [rbp - 0x18]
jbe 0x1800305f3
comiss xmm15, xmm8
jbe 0x1800305f3
movups xmm0, xmmword [r13 + 0x160c]
lea rcx, [rbp - 0x40]
movss dword [rbp + 0x68], xmm8
movups xmmword [rbp - 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp + 0x6c], xmm1
movss dword [rbp - 0x34], xmm0
call fcn.180004ce0
mov rcx, qword [r14 + 0x2b0]
lea rdx, [rbp - 0x60]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x68]
call fcn.18001fb10
mov r13, qword [0x18004fe90]
cmp byte [rsp + 0x6c], 0
jne 0x180030632
subss xmm6, dword [rbx + 0x1918]
subss xmm8, xmm7
movss dword [rbx + 0x2f34], xmm6
movss dword [rbx + 0x2f30], xmm8
jmp 0x180030632
movss xmm10, dword [rsp + 0x74]
movss xmm11, dword [rbp - 0x14]
mov rbx, qword [rsp + 0x60]
jmp 0x180030632
xorps xmm12, xmm12
cmp byte [rsp + 0x5c], 0
je 0x18003067c
movss xmm0, dword [rsp + 0x78]
lea rcx, [rbp + 0x68]
addss xmm0, xmm12
movss dword [rbp + 0x68], xmm0
movss xmm0, dword [rsp + 0x68]
addss xmm0, dword [rbx + 0x1918]
movss dword [rbp + 0x6c], xmm0
call fcn.1800290e0
call fcn.18000a150
call fcn.18000f930
mov r13, qword [0x18004fe90]
jmp 0x18003067c
xorps xmm12, xmm12
mov eax, dword [rbp - 0x74]
movaps xmm15, xmmword [rsp + 0x1a0]
movaps xmm14, xmmword [rsp + 0x1b0]
movaps xmm13, xmmword [rsp + 0x1c0]
test al, al
je 0x1800306fb
mov rax, qword [r13 + 0x1a60]
mov rcx, qword [rax + 0x2b0]
dec dword [rcx + 0x70]
call fcn.18001da80
lea rdx, [r13 + 0x1ba0]
mov r13, qword [0x18004fe90]
movsxd rcx, dword [rdx]
lea eax, [rcx - 1]
mov dword [rdx], eax
test eax, eax
jne 0x1800306ea
mov rcx, qword [r13 + 0xb8]
test rcx, rcx
jne 0x1800306f3
mov rax, qword [r13 + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
jmp 0x1800306f3
mov rax, qword [rdx + 8]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.18000f330
mov eax, dword [rbp - 0x74]
cmp byte [rbx + 0x2f78], 0
je 0x180030851
test al, al
jne 0x180030851
mov r14, qword [r13 + 0x1a60]
test rsi, rsi
jne 0x180030742
mov rsi, rdi
cmp rdi, 0xffffffffffffffff
jae 0x180030742
movzx ecx, byte [rsi]
test cl, cl
je 0x180030742
lea rax, [rsi + 1]
cmp cl, 0x23
jne 0x180030739
cmp byte [rax], cl
je 0x180030742
mov rsi, rax
cmp rax, 0xffffffffffffffff
jb 0x180030725
movss xmm0, dword [r13 + 0x2f98]
addss xmm0, dword [0x180047ae8]
movss dword [r13 + 0x2f98], xmm10
comiss xmm10, xmm0
jbe 0x18003076e
mov r15b, 1
mov byte [r13 + 0x2f9c], r15b
jmp 0x180030771
xor r15b, r15b
mov ecx, dword [r13 + 0x2fa0]
mov rbx, rdi
mov eax, dword [r14 + 0x180]
cmp ecx, eax
jle 0x18003078f
mov dword [r13 + 0x2fa0], eax
mov ecx, eax
mov r14d, dword [r14 + 0x180]
sub r14d, ecx
nop dword [rax]
mov r8, rsi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
mov rdi, rsi
cmovne rdi, rax
cmp rdi, rsi
jne 0x1800307c7
cmp rbx, rdi
je 0x180030834
mov r9d, edi
sub r9d, ebx
test r15b, r15b
jne 0x1800307fe
cmp rbx, qword [rbp - 0x70]
jne 0x1800307fe
cmp byte [r13 + 0x2f9c], r15b
je 0x1800307ea
lea rcx, str._s_.s
jmp 0x180030805
mov r8, rbx
lea rcx, str.__.s
mov edx, r9d
call fcn.1800145d0
jmp 0x18003081e
lea rcx, str._r_n_s_.s
lea r8, [0x180046b68]
mov qword [rsp + 0x20], rbx
lea edx, [r14*4]
call fcn.1800145d0
mov byte [r13 + 0x2f9c], 0
cmp rdi, rsi
je 0x180030845
lea rbx, [rdi + 1]
jmp 0x1800307a0
test r15b, r15b
je 0x180030845
lea rcx, [0x180046ed0]
call fcn.1800145d0
mov rbx, qword [rsp + 0x60]
mov r13, qword [0x18004fe90]
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm12
movaps xmm10, xmmword [rsp + 0x1f0]
jbe 0x18003089a
movss xmm0, dword [rbp - 0x10]
mov r9b, 1
addss xmm0, dword [rbx + 0x15a8]
addss xmm11, dword [rbx + 0x1594]
mov rdx, qword [rbp - 0x20]
xor r8d, r8d
unpcklps xmm0, xmm11
movq rcx, xmm0
call fcn.180005050
mov r13, qword [0x18004fe90]
movzx edx, byte [rsp + 0x70]
mov ecx, dword [rbp + 0x1a8]
test dl, dl
je 0x1800308c7
bt ecx, 0x15
jb 0x1800308c7
mov rax, qword [r13 + 0x1a60]
mov word [r13 + 0x1ab7], 0x101
or dword [rax + 0x118], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rsp + 0x52]
cmovne eax, ecx
jmp 0x18002d792