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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x188]
sub rsp, 0x248
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
mov rax, qword [0x1800aa010]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov rbx, qword [0x1800abbf8]
mov r15, rcx
mov rdi, qword [rbp + 0x1b0]
mov r12, rbx
mov dword [rsp + 0x78], r9d
mov qword [rbp - 0x70], r8
mov rax, qword [rbx + 0x1a18]
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x28], rcx
mov qword [rsp + 0x68], rbx
mov byte [rax + 0x80], 1
mov r13, qword [rbx + 0x1a18]
cmp byte [r13 + 0x83], 0
jne 0x18004c0df
mov ecx, dword [rbp + 0x1b8]
mov eax, ecx
shr eax, 0xe
mov esi, ecx
and al, 1
shr esi, 0x14
mov dword [rsp + 0x74], eax
and sil, 1
mov eax, ecx
mov dword [rsp + 0x70], esi
shr eax, 0xf
and al, 1
mov dword [rbp - 0x58], eax
mov eax, ecx
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x78], eax
mov eax, ecx
shr eax, 0x12
and al, 1
mov dword [rbp - 0x80], eax
test sil, sil
je 0x18004bde7
call fcn.18002d000
mov rbx, qword [0x1800abbf8]
movsxd rcx, dword [r13 + 0xc0]
xor edx, edx
mov rax, qword [r13 + 0xc8]
mov r8d, dword [rax + rcx*4 - 4]
mov rcx, r15
call fcn.180020f50
mov r14d, eax
mov dword [rbp - 0x74], eax
cmp dword [rbx + 0x1a60], eax
jne 0x18004be18
mov dword [rbx + 0x1a64], eax
cmp dword [rbx + 0x1a9c], r14d
jne 0x18004be28
mov byte [rbx + 0x1aa0], 1
mov rcx, r15
cmp r15, 0xffffffffffffffff
jae 0x18004be4a
movzx eax, byte [rcx]
test al, al
je 0x18004be4a
cmp al, 0x23
jne 0x18004be41
cmp byte [rcx + 1], al
je 0x18004be4a
inc rcx
cmp rcx, 0xffffffffffffffff
jb 0x18004be31
movss xmm1, dword [0x18009a744]
movss xmm0, dword [rbx + 0x1910]
movss dword [rbp - 0x30], xmm1
cmp r15, rcx
jne 0x18004be6a
xorps xmm11, xmm11
jmp 0x18004beb4
movss xmm3, dword [0x18009a71c]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x30], rcx
movaps xmm2, xmm0
mov rcx, qword [rbx + 0x1908]
mov qword [rsp + 0x28], r15
movss dword [rsp + 0x20], xmm1
call fcn.180041410
movss xmm0, dword [rbp + 0x60]
addss xmm0, dword [0x18009a5e0]
cvttss2si eax, xmm0
movss xmm0, dword [rbp + 0x64]
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss dword [rbp - 0x40], xmm11
xorps xmm12, xmm12
test sil, sil
je 0x18004bed5
movss xmm0, dword [r12 + 0x1910]
mulss xmm0, dword [0x18009a670]
test byte [rbx + 0x1b20], 1
movss xmm6, dword [r12 + 0x1594]
mov rcx, qword [rbx + 0x1a18]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
je 0x18004bf04
movss xmm0, dword [rbx + 0x1b24]
jmp 0x18004bf0c
movss xmm0, dword [rcx + 0x184]
comiss xmm12, xmm0
jbe 0x18004bf44
cmp qword [rcx + 0x1e8], 0
movss xmm1, dword [rcx + 0x248]
je 0x18004bf2c
movss xmm1, dword [rcx + 0x228]
subss xmm1, dword [rcx + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x18009a5e4]
maxss xmm0, xmm1
movss xmm8, dword [rdi]
xorps xmm1, xmm1
comiss xmm12, xmm8
movss xmm9, dword [rdi + 4]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x18004bf6c
comiss xmm12, xmm9
jbe 0x18004bf8e
cmp qword [rcx + 0x1e8], 0
movss xmm0, dword [rcx + 0x248]
movss xmm1, dword [rcx + 0x24c]
je 0x18004bf8e
movss xmm0, dword [rcx + 0x228]
ucomiss xmm8, xmm12
movss xmm2, dword [0x18009a63c]
jp 0x18004bfa4
jne 0x18004bfa4
movaps xmm8, xmm4
jmp 0x18004bfc4
comiss xmm12, xmm8
jbe 0x18004bfc4
subss xmm0, dword [rcx + 0xd0]
addss xmm0, xmm8
comiss xmm2, xmm0
movaps xmm8, xmm0
jb 0x18004bfc4
movaps xmm8, xmm2
ucomiss xmm9, xmm12
jp 0x18004bfd2
jne 0x18004bfd2
movaps xmm9, xmm3
jmp 0x18004bff2
comiss xmm12, xmm9
jbe 0x18004bff2
subss xmm1, dword [rcx + 0xd4]
addss xmm1, xmm9
comiss xmm2, xmm1
movaps xmm9, xmm1
jb 0x18004bff2
movaps xmm9, xmm2
comiss xmm11, xmm12
jbe 0x18004c008
movaps xmm3, xmm11
addss xmm3, dword [r12 + 0x15a8]
jmp 0x18004c00b
xorps xmm3, xmm3
movss xmm5, dword [r13 + 0xd4]
movaps xmm0, xmm9
movss xmm4, dword [r13 + 0xd0]
addss xmm0, xmm5
movss dword [rbp - 0x20], xmm4
movaps xmm2, xmm8
movss dword [rbp - 0x1c], xmm5
addss xmm2, xmm3
movss dword [rbp + 0x88], xmm4
movaps xmm1, xmm8
movss dword [rbp + 0x8c], xmm5
addss xmm1, xmm4
movss dword [rbp - 0x14], xmm0
movaps xmm0, xmm5
mov qword [rbp - 0x60], r13
addss xmm0, xmm9
addss xmm2, xmm4
movss dword [rbp - 0x18], xmm1
movss dword [rbp + 0x94], xmm0
movss dword [rbp + 0x90], xmm2
test sil, sil
je 0x18004c18d
lea r8, [rbp - 0x20]
mov edx, r14d
lea rcx, [rbp + 0x88]
call fcn.180023f20
test al, al
jne 0x18004c12b
movss xmm1, dword [rbp + 0x94]
lea rcx, [rbp + 0x60]
subss xmm1, dword [rbp + 0x8c]
movss xmm0, dword [rbp + 0x90]
subss xmm0, dword [rbp + 0x88]
movss dword [rbp + 0x64], xmm1
movss xmm1, dword [r12 + 0x1594]
movss dword [rbp + 0x60], xmm0
call fcn.180023dd0
call fcn.18002d120
xor al, al
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.18006fa70
lea r11, [rsp + 0x248]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movss xmm0, dword [rbp - 0x18]
lea rdx, [rbp + 0x60]
movss xmm1, dword [rbp - 0x14]
mov ecx, r14d
movss xmm7, dword [rbp - 0x20]
movss xmm10, dword [rbp - 0x1c]
subss xmm0, xmm7
subss xmm1, xmm10
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm1
call fcn.1800274b0
test al, al
jne 0x18004c16d
call fcn.180027220
jmp 0x18004c0da
mov rdi, qword [r12 + 0x1a18]
mov qword [rbp - 0x60], rdi
mov eax, dword [rdi + 0x13c]
or dword [rdi + 0x144], eax
subss xmm8, dword [rdi + 0x74]
jmp 0x18004c1d1
subss xmm2, xmm4
movaps xmm1, xmm6
subss xmm0, xmm5
lea rcx, [rbp + 0x60]
movss dword [rbp + 0x60], xmm2
movss dword [rbp + 0x64], xmm0
call fcn.180023dd0
lea r8, [rbp - 0x20]
mov edx, r14d
lea rcx, [rbp + 0x88]
call fcn.180023f20
test al, al
je 0x18004c0df
movss xmm10, dword [rbp - 0x1c]
movss xmm7, dword [rbp - 0x20]
mov edx, r14d
lea rcx, [rbp - 0x20]
call fcn.180024050
movzx ebx, al
mov byte [rbp - 0x68], al
mov eax, 1
test bl, bl
je 0x18004c1f4
mov dword [r12 + 0x1e90], eax
xor eax, eax
lea r15, [r12 + 0x1f88]
cmp dword [r15], r14d
mov rsi, r15
mov edx, r14d
mov rcx, r13
cmovne rsi, rax
mov qword [rbp - 0x38], rsi
call fcn.1800241b0
movzx r14d, al
test al, al
je 0x18004c258
cmp qword [r12 + 0x1cb8], r13
jne 0x18004c258
mov ecx, dword [r13 + 0x178]
cmp dword [r12 + 0x1cc8], ecx
jne 0x18004c258
mov byte [rsp + 0x55], 1
mov byte [rsp + 0x54], 0
test bl, bl
je 0x18004c26e
cmp byte [r12 + 0x420], 0
je 0x18004c26e
mov r12b, 1
jmp 0x18004c271
mov byte [rsp + 0x55], 0
test r14b, r14b
je 0x18004c23f
mov byte [rsp + 0x54], 1
mov byte [rsp + 0x55], 0
jmp 0x18004c244
xor r12b, r12b
mov rdi, qword [rsp + 0x68]
mov eax, dword [rbp - 0x74]
mov byte [rsp + 0x51], r12b
mov ebx, dword [rdi + 0x1a60]
cmp ebx, eax
je 0x18004c2a8
cmp dword [rdi + 0x1b98], eax
je 0x18004c2a1
cmp dword [rdi + 0x1b8c], eax
jne 0x18004c2a8
cmp dword [rdi + 0x1bac], 3
jne 0x18004c2a8
mov byte [rsp + 0x53], 1
jmp 0x18004c2ad
mov byte [rsp + 0x53], 0
mov eax, dword [rsp + 0x70]
test al, al
je 0x18004c2f4
test rsi, rsi
je 0x18004c2f4
test ebx, ebx
jne 0x18004c2f4
mov rax, qword [rbp - 0x60]
xor edx, edx
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + rcx*4 - 4]
lea rcx, str.SCROLLY
call fcn.180020f50
cmp dword [rdi + 0x1a9c], eax
jne 0x18004c2f0
mov dil, 1
jmp 0x18004c300
mov eax, dword [rsp + 0x70]
xor dil, dil
test al, al
je 0x18004c32d
test rsi, rsi
je 0x18004c32d
mov rax, qword [rbp - 0x60]
xor edx, edx
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + rcx*4 - 4]
lea rcx, str.SCROLLY
call fcn.180020f50
cmp ebx, eax
jne 0x18004c32d
mov al, 1
jmp 0x18004c32f
xor al, al
mov edx, dword [rbp - 0x74]
movzx ecx, byte [rsp + 0x53]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x52], 0
cmp ebx, edx
je 0x18004c35d
test byte [rbp + 0x1b8], 0x10
jne 0x18004c351
test cl, cl
je 0x18004c35d
cmp byte [rsp + 0x70], 0
mov byte [rsp + 0x60], 1
je 0x18004c362
mov byte [rsp + 0x60], 0
test r14b, r14b
jne 0x18004c443
test r12b, r12b
jne 0x18004c443
test dil, dil
jne 0x18004c443
test cl, cl
jne 0x18004c443
test al, al
jne 0x18004c446
mov r14, qword [rbp - 0x70]
mov rax, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rbp - 0x74]
cmp dword [rax + 0x1a60], ebx
je 0x18004c657
test r12b, r12b
je 0x18004c657
mov rdx, r13
mov ecx, ebx
call fcn.180023c30
call fcn.180023d00
mov rcx, r13
call fcn.18002c1e0
mov r13, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
mov edx, dword [rbp + 0x1b8]
mov eax, dword [r13 + 0x1a74]
or eax, 3
mov dword [r13 + 0x1a74], eax
test cl, cl
jne 0x18004c3f2
test dl, dl
jns 0x18004c3fc
or eax, 0xc
mov dword [r13 + 0x1a74], eax
mov rax, qword [r13 + 0x1a80]
or dword [r13 + 0x1a78], 2
or rax, 0x180
mov qword [r13 + 0x1a80], rax
test cl, cl
je 0x18004c427
or rax, 0x60
mov qword [r13 + 0x1a80], rax
test edx, 0x440
je 0x18004c65c
or rax, 1
mov qword [r13 + 0x1a80], rax
jmp 0x18004c65c
mov r12b, 1
mov qword [rbp - 0x38], rsi
mov dil, 1
cmp ebx, edx
je 0x18004c38d
mov r14, qword [rbp - 0x70]
mov rsi, r15
mov qword [rbp - 0x38], r15
mov rax, 0xffffffffffffffff
mov dword [r15 + 0xe70], 0xbe99999a
cmp byte [r14 + rax + 1], 0
lea rax, [rax + 1]
jne 0x18004c472
mov ecx, dword [r15 + 0x34]
lea ebx, [rax + 1]
cmp ebx, ecx
jle 0x18004c4ad
test ecx, ecx
je 0x18004c498
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004c49d
mov eax, 8
cmp eax, ebx
lea rcx, [r15 + 0x30]
mov edx, ebx
cmovg edx, eax
call fcn.180033c50
mov dword [r15 + 0x30], ebx
mov rdx, r14
mov rcx, qword [r15 + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
movsxd r15, dword [rsp + 0x78]
mov ecx, dword [rsi + 0x14]
lea ebx, [r15 + 1]
cmp ebx, ecx
jle 0x18004c4f4
test ecx, ecx
je 0x18004c4df
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004c4e4
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180033ce0
mov dword [rsi + 0x10], ebx
mov ecx, dword [rsi + 0x24]
test ecx, ecx
jns 0x18004c51b
mov eax, ecx
xor r8d, r8d
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x20]
test eax, eax
cmovg edx, eax
call fcn.180033c50
xor ecx, ecx
lea rdi, [r15 - 1]
mov dword [rsi + 0x20], ecx
mov rdx, r14
mov r14, qword [rsi + 0x18]
mov byte [rsi + 0x40], cl
mov rbx, r14
lea rdi, [r14 + rdi*2]
cmp r14, rdi
jae 0x18004c573
nop word [rax + rax]
cmp byte [rdx], 0
je 0x18004c571
xor r8d, r8d
lea rcx, [rbp - 0x7c]
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
add rdx, rcx
test eax, eax
je 0x18004c571
cmp eax, 0xffff
ja 0x18004c56c
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jb 0x18004c540
xor ecx, ecx
mov eax, dword [rbp - 0x74]
mov word [rbx], cx
sub rbx, r14
mov r14, qword [rbp - 0x70]
sub edx, r14d
sar rbx, 1
mov dword [rsi + 4], ebx
mov dword [rsi + 8], edx
cmp dword [rsi], eax
jne 0x18004c5b4
cmp dword [rsi + 0x4c], ebx
mov ecx, ebx
cmovl ecx, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], ebx
mov dword [rsi + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [rsi + 0x50]
cmp dword [rsi + 0x54], ebx
mov dword [rsi + 0x50], ecx
cmovl ebx, dword [rsi + 0x54]
mov dword [rsi + 0x54], ebx
jmp 0x18004c612
mov dword [rsi], eax
mov dword [rsi + 0xe68], ecx
mov dword [rsi + 0x60], ecx
mov ecx, dword [rsp + 0x70]
movzx eax, cl
xor al, 1
mov qword [rsi + 0x48], 0
mov dword [rsi + 0xe62], 0x630000
mov dword [rsi + 0xe6c], 0x3e7
mov qword [rsi + 0x50], 0
mov dword [rsi + 0x58], 0x10000
mov byte [rsi + 0x5c], al
test cl, cl
jne 0x18004c616
mov ecx, dword [rsp + 0x60]
mov eax, 1
cmp byte [rsp + 0x55], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [rsp + 0x60], ecx
mov ecx, dword [rsp + 0x70]
test dword [rbp + 0x1b8], 0x2000
je 0x18004c626
mov byte [rsi + 0x58], 1
mov rax, qword [rsp + 0x68]
test cl, cl
jne 0x18004c64f
cmp byte [rsp + 0x54], cl
jne 0x18004c643
cmp byte [rsp + 0x51], cl
je 0x18004c64f
cmp byte [rax + 0x148], cl
je 0x18004c64f
mov r15b, 1
movzx edi, r15b
jmp 0x18004c39b
mov dil, 1
jmp 0x18004c396
mov r13, qword [rsp + 0x68]
mov eax, dword [r13 + 0x1a60]
mov r10, qword [0x1800abbf8]
mov qword [rsp + 0x58], r10
cmp eax, ebx
jne 0x18004c6fc
test rsi, rsi
jne 0x18004c6df
mov ecx, dword [r10 + 0x1a60]
test ecx, ecx
setne al
mov byte [r10 + 0x1a6c], al
xor eax, eax
test ecx, ecx
je 0x18004c6a4
mov dword [r10 + 0x1a68], eax
mov word [r10 + 0x1a6e], ax
mov dword [r10 + 0x1a60], eax
mov byte [r10 + 0x1a6d], 0
mov qword [r10 + 0x1a90], rax
mov byte [r10 + 0x1a70], 0
mov qword [r10 + 0x1a74], 0
mov qword [r10 + 0x1a80], rax
mov eax, dword [r13 + 0x1a60]
cmp eax, ebx
jne 0x18004c6fc
cmp byte [r13 + 0x420], 0
je 0x18004c708
test dil, dil
jne 0x18004c708
test r12b, r12b
jne 0x18004c708
mov byte [rsp + 0x52], 1
mov cl, 1
jmp 0x18004c70e
test rsi, rsi
je 0x18004c70c
cmp byte [rsp + 0x50], 0
je 0x18004c70c
mov cl, 1
jmp 0x18004c70e
xor cl, cl
mov byte [rsp + 0x54], cl
test rsi, rsi
je 0x18004c728
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18004c728
test cl, cl
je 0x18004c728
mov r12b, 1
jmp 0x18004c72b
xor r12b, r12b
cmp byte [rsp + 0x74], 0
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x7d], 0
mov byte [rsp + 0x51], 0
je 0x18004c849
test rsi, rsi
je 0x18004c849
test cl, cl
jne 0x18004c75b
test r12b, r12b
je 0x18004c852
mov edi, dword [rsp + 0x78]
mov ecx, dword [rsi + 0x14]
inc edi
cmp edi, ecx
jle 0x18004c798
test ecx, ecx
je 0x18004c777
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004c77c
mov eax, 8
cmp eax, edi
lea rcx, [rsi + 0x10]
mov edx, edi
cmovg edx, eax
call fcn.180033ce0
mov r14, qword [0x1800abbf8]
mov qword [rsp + 0x58], r14
mov rcx, qword [rbp - 0x70]
mov dword [rsi + 0x10], edi
mov rdx, rcx
mov r14, qword [rsi + 0x18]
movsxd rdi, edi
mov rbx, r14
dec rdi
lea rdi, [r14 + rdi*2]
cmp r14, rdi
jae 0x18004c7ed
cmp byte [rdx], 0
je 0x18004c7e9
xor r8d, r8d
lea rcx, [rbp - 0x7c]
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
add rdx, rcx
test eax, eax
je 0x18004c7e9
cmp eax, 0xffff
ja 0x18004c7e4
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jb 0x18004c7b8
mov rcx, qword [rbp - 0x70]
mov r10, qword [rsp + 0x58]
sub edx, ecx
xor r8d, r8d
movzx eax, r12b
mov word [rbx], r8w
sub rbx, r14
mov r14, qword [rbp - 0x70]
sar rbx, 1
cmp dword [rsi + 0x4c], ebx
mov ecx, ebx
mov dword [rsi + 8], edx
mov edx, ebx
cmovl ecx, dword [rsi + 0x4c]
cmp dword [rsi + 0x50], ebx
mov dword [rsi + 0x4c], ecx
mov ecx, r8d
cmovl edx, dword [rsi + 0x50]
cmp dword [rsi + 0x54], ebx
mov dword [rsi + 4], ebx
cmovl ebx, dword [rsi + 0x54]
cmp edx, ebx
mov dword [rsi + 0x54], ebx
mov ebx, dword [rbp - 0x74]
cmovne ecx, eax
mov dword [rsi + 0x50], edx
movzx r12d, cl
mov byte [rsp + 0x50], cl
movzx ecx, byte [rsp + 0x54]
test cl, cl
jne 0x18004c85b
test r12b, r12b
jne 0x18004c85b
cmp dword [r13 + 0x1a60], ebx
jne 0x18004c874
mov r12d, dword [rsp + 0x74]
test r12b, r12b
jne 0x18004c879
test rsi, rsi
je 0x18004c879
cmp byte [rsi + 0x40], r12b
je 0x18004c879
mov al, 1
jmp 0x18004c87b
mov r12d, dword [rsp + 0x74]
xor al, al
cmp qword [rbp - 0x50], 0
mov byte [rsp + 0x7c], al
je 0x18004c89c
test al, al
je 0x18004c890
mov rax, qword [rsi + 0x28]
jmp 0x18004c893
mov rax, r14
cmp byte [rax], 0
jne 0x18004c89c
mov al, 1
jmp 0x18004c89e
xor al, al
cmp byte [rbp - 0x58], 0
mov byte [rsp + 0x55], al
je 0x18004c964
test al, al
jne 0x18004c964
mov rdx, qword [r13 + 0x1908]
cmp dword [rdx + 0x18], 0x2a
jg 0x18004c8c7
mov r9, qword [rdx + 0x38]
jmp 0x18004c8eb
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x18004c8df
mov r9, qword [rdx + 0x38]
jmp 0x18004c8eb
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea r8, [r13 + 0x2e18]
mov dword [r8 + 0x14], eax
mov rax, qword [r13 + 0x1908]
mov ecx, dword [rax + 0x60]
mov dword [r8 + 0x60], ecx
mov rcx, r8
mov rax, qword [r13 + 0x1908]
movsd xmm0, qword [rax + 0x40]
movsd qword [r8 + 0x40], xmm0
mov rax, qword [r13 + 0x1908]
mov edx, dword [rax + 0x64]
mov dword [r8 + 0x64], edx
mov rax, qword [r13 + 0x1908]
mov edx, dword [rax + 0x68]
mov dword [r8 + 0x68], edx
mov rax, qword [r13 + 0x1908]
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.18002c6f0
mov r10, qword [0x1800abbf8]
mov qword [rsp + 0x58], r10
xor r11d, r11d
mov r9d, 0x20000c
mov dword [rbp - 0x7c], r11d
cmp dword [r13 + 0x1a60], ebx
jne 0x18004cdb8
mov eax, dword [rsi + 8]
mov r8d, dword [rbp + 0x1b8]
mov dword [rsi + 0xe78], r8d
mov qword [rsi + 0xe80], r11
mov qword [rsi + 0xe88], r11
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x78]
mov dword [rsi + 0x44], eax
movzx ecx, byte [r13 + 0x138]
test cl, cl
sete al
mov byte [r13 + 0x1a6d], al
mov eax, 1
mov dword [r13 + 0x315c], eax
movss xmm6, dword [r13 + 0x130]
subss xmm6, xmm7
subss xmm6, dword [r13 + 0x1590]
addss xmm6, dword [rsi + 0x48]
cmp byte [rsp + 0x70], r11b
je 0x18004ca09
mov rax, qword [rbp - 0x60]
movss xmm2, dword [r13 + 0x134]
subss xmm2, dword [rax + 0xd4]
subss xmm2, dword [r13 + 0x1594]
jmp 0x18004ca1a
movss xmm2, dword [r13 + 0x1910]
mulss xmm2, dword [0x18009a5a4]
movzx edi, byte [r13 + 0xc9]
test r15b, r15b
jne 0x18004cba2
movzx edx, byte [rbp - 0x68]
test dl, dl
je 0x18004ca48
movzx eax, byte [r13 + 0x425]
test dil, dil
jne 0x18004cab9
test al, al
jne 0x18004cba2
movzx eax, byte [rsi + 0xe75]
cmp byte [r13 + 0x420], r11b
je 0x18004cb18
test al, al
jne 0x18004cb18
test dl, dl
je 0x18004cbba
cmp byte [rsi + 0x5c], r11b
je 0x18004ca86
xor r8d, r8d
lea rcx, [rbp + 0x60]
mov rdx, rsi
call fcn.18004a200
movss xmm2, dword [rbp + 0x6c]
movaps xmm1, xmm6
mov rcx, rsi
call fcn.18004a630
mov r10, qword [rsp + 0x58]
mov r8d, dword [rbp + 0x1b8]
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x54], eax
mov byte [rsi + 0x5b], 0
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18004cbba
test al, al
je 0x18004ca48
mov r8d, r9d
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aad0
mov r8d, 0x60000d
mov byte [rsi + 0xe74], 1
lea rdx, [rsi + 0x4c]
mov dword [rsi + 0xe70], 0xbe99999a
mov rcx, rsi
call fcn.18004aad0
mov r10, qword [0x1800abbf8]
mov r8d, dword [rbp + 0x1b8]
mov qword [rsp + 0x58], r10
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18004cbba
test cl, cl
je 0x18004cbba
test al, al
jne 0x18004cbba
movss xmm0, dword [r13 + 0x3c0]
ucomiss xmm0, xmm12
jp 0x18004cb4a
jne 0x18004cb4a
movss xmm0, dword [r13 + 0x3c4]
ucomiss xmm0, xmm12
jp 0x18004cb4a
je 0x18004cbba
cmp byte [rsi + 0x5c], r11b
je 0x18004cb64
xor r8d, r8d
lea rcx, [rbp + 0x60]
mov rdx, rsi
call fcn.18004a200
movss xmm2, dword [rbp + 0x6c]
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
jne 0x18004cb72
mov eax, dword [rsi + 0x4c]
mov dword [rsi + 0x50], eax
movaps xmm1, xmm6
mov rcx, rsi
call fcn.18004a630
mov r10, qword [rsp + 0x58]
mov r8d, dword [rbp + 0x1b8]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0xe70], 0xbe99999a
mov byte [rsi + 0xe74], 1
jmp 0x18004cbba
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], r11d
mov byte [rsi + 0x5b], r11b
mov byte [rsi + 0xe75], 1
cmp byte [rsi + 0xe75], 0
je 0x18004cbd4
cmp byte [r13 + 0x138], 0
jne 0x18004cbd4
mov byte [rsi + 0xe75], 0
cmp byte [r13 + 0x148], 0
je 0x18004cbe8
cmp byte [r13 + 0x14a], 0
je 0x18004cbf7
test dil, dil
je 0x18004cbfb
cmp byte [r13 + 0x14b], 0
je 0x18004cbfb
mov bl, 1
jmp 0x18004cbfd
xor bl, bl
bt r8d, 0xa
jae 0x18004ccc0
mov ecx, dword [r10 + 0x3c]
test ecx, ecx
js 0x18004ccc0
call fcn.180026e00
test al, al
je 0x18004ccc0
test bl, bl
jne 0x18004ccc0
cmp byte [r13 + 0x149], bl
jne 0x18004ccc0
test r12b, r12b
jne 0x18004ccc0
mov rcx, qword [r13 + 0x1550]
movsxd rax, dword [r13 + 0x1548]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18004cc72
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x18004ccc0
cmp rcx, rdx
jb 0x18004cc60
mov edx, r8d
mov dword [rsp + 0x60], 9
lea rcx, [rsp + 0x60]
call fcn.18004bb60
test al, al
je 0x18004ccad
mov r8d, dword [rsp + 0x60]
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aad0
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov r10, qword [0x1800abbf8]
mov r8d, dword [rbp + 0x1b8]
mov qword [rsp + 0x58], r10
cmp dword [r13 + 0x1548], 0
jle 0x18004cdb2
xor r15d, r15d
test bl, bl
jne 0x18004cd72
test r12b, r12b
jne 0x18004cd72
cmp byte [rsp + 0x53], r12b
jne 0x18004cd72
mov edi, r15d
mov ebx, r15d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13 + 0x1550]
movzx ecx, word [rax + rbx]
mov dword [rsp + 0x60], ecx
cmp ecx, 9
jne 0x18004cd1d
cmp byte [r13 + 0x149], r15b
jne 0x18004cd50
mov edx, r8d
lea rcx, [rsp + 0x60]
call fcn.18004bb60
test al, al
je 0x18004cd50
mov r8d, dword [rsp + 0x60]
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aad0
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov r8d, dword [rbp + 0x1b8]
inc edi
add rbx, 2
cmp edi, dword [r13 + 0x1548]
jl 0x18004cd00
mov r10, qword [0x1800abbf8]
mov qword [rsp + 0x58], r10
mov ecx, dword [r13 + 0x154c]
test ecx, ecx
jns 0x18004cda6
mov eax, ecx
cdq
sub eax, edx
mov edx, r15d
sar eax, 1
add eax, ecx
lea rcx, [r13 + 0x1548]
test eax, eax
cmovg edx, eax
call fcn.180033ce0
mov r10, qword [0x1800abbf8]
mov qword [rsp + 0x58], r10
xor r11d, r11d
mov dword [r13 + 0x1548], r11d
jmp 0x18004cdb5
xor r11d, r11d
mov ebx, dword [rbp - 0x74]
mov eax, dword [r13 + 0x1a60]
xor cl, cl
cmp eax, ebx
jne 0x18004d781
cmp byte [r13 + 0x1a6c], cl
jne 0x18004d790
cmp byte [rsp + 0x52], cl
jne 0x18004d790
movzx edx, byte [r13 + 0x149]
movzx r8d, byte [r13 + 0xc9]
movzx eax, dl
movzx edi, byte [r13 + 0x148]
neg al
sbb ebx, ebx
and ebx, 0x400000
test r8b, r8b
je 0x18004ce2c
cmp byte [r13 + 0x14b], cl
je 0x18004ce1f
test dil, dil
jne 0x18004ce1f
mov eax, 1
jmp 0x18004ce26
mov eax, r11d
movzx ecx, dil
test eax, eax
je 0x18004ce55
jmp 0x18004ce3e
test dil, dil
je 0x18004ce51
cmp byte [r13 + 0x14b], cl
jne 0x18004ce51
movzx ecx, dil
cmp byte [r13 + 0x14a], 0
jne 0x18004ce55
test dl, dl
jne 0x18004ce55
mov r14b, 1
jmp 0x18004ce58
movzx ecx, dil
xor r14b, r14b
mov byte [rsp + 0x53], r14b
movzx eax, cl
test r8b, r8b
je 0x18004ce8a
cmp byte [r13 + 0x14b], 0
je 0x18004ce8a
test dl, dl
je 0x18004ce8a
movzx eax, dil
test dil, dil
jne 0x18004ce8a
cmp byte [r13 + 0x14a], al
jne 0x18004ce8a
mov r11b, 1
jmp 0x18004ce92
xor r11b, r11b
test r8b, r8b
je 0x18004ced2
cmp byte [r13 + 0x14b], 0
movzx r12d, byte [r13 + 0x14a]
je 0x18004ced6
test al, al
jne 0x18004ced6
test r12b, r12b
jne 0x18004ced6
mov r15b, 1
xor r8b, r8b
test dl, dl
je 0x18004cef6
test al, al
jne 0x18004cef6
cmp byte [r13 + 0x14a], r8b
jne 0x18004cef6
cmp byte [r13 + 0x14b], r8b
jne 0x18004cef6
mov r9b, 1
jmp 0x18004cef9
movzx r12d, al
xor r15d, r15d
test al, al
je 0x18004ceb0
test dl, dl
jne 0x18004ceb0
cmp byte [r13 + 0x14a], r15b
jne 0x18004ceb0
cmp byte [r13 + 0x14b], r15b
jne 0x18004ceb0
mov r8b, 1
xor r9b, r9b
test r14b, r14b
je 0x18004cf12
mov ecx, dword [r10 + 0x88]
test ecx, ecx
js 0x18004cf12
call fcn.180026e00
test al, al
jne 0x18004cf28
test r9b, r9b
je 0x18004cf49
mov ecx, dword [r10 + 0x64]
test ecx, ecx
js 0x18004cf49
call fcn.180026e00
test al, al
je 0x18004cf49
cmp byte [rsp + 0x74], 0
jne 0x18004cf49
cmp byte [rbp - 0x58], 0
jne 0x18004cf49
cmp byte [rsp + 0x70], 0
je 0x18004cf44
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18004cf49
mov r13b, 1
jmp 0x18004cf4c
xor r13b, r13b
test r14b, r14b
je 0x18004cf65
mov ecx, dword [r10 + 0x80]
test ecx, ecx
js 0x18004cf65
call fcn.180026e00
test al, al
jne 0x18004cf7b
test r8b, r8b
je 0x18004cf95
mov ecx, dword [r10 + 0x60]
test ecx, ecx
js 0x18004cf95
call fcn.180026e00
test al, al
je 0x18004cf95
cmp byte [rbp - 0x58], 0
jne 0x18004cf95
cmp byte [rsp + 0x70], 0
je 0x18004cf90
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18004cf95
mov r14b, 1
jmp 0x18004cf98
xor r14b, r14b
movzx r8d, byte [rsp + 0x53]
test r8b, r8b
je 0x18004cfb7
mov ecx, dword [r10 + 0x84]
test ecx, ecx
js 0x18004cfb7
call fcn.180026e00
test al, al
jne 0x18004cfcd
test r9b, r9b
je 0x18004cfdc
mov ecx, dword [r10 + 0x60]
test ecx, ecx
js 0x18004cfdc
call fcn.180026e00
test al, al
je 0x18004cfdc
mov r9d, dword [rsp + 0x74]
test r9b, r9b
jne 0x18004cfe1
mov r10b, 1
jmp 0x18004cfe4
mov r9d, dword [rsp + 0x74]
xor r10b, r10b
test r8b, r8b
mov r8, qword [rsp + 0x58]
je 0x18004d012
mov ecx, dword [r8 + 0x90]
test ecx, ecx
js 0x18004d012
call fcn.180026e00
test al, al
je 0x18004d012
test r9b, r9b
jne 0x18004d012
cmp byte [rbp - 0x78], r9b
je 0x18004d012
mov r9b, 1
jmp 0x18004d01c
xor r9b, r9b
cmp byte [rsp + 0x53], r9b
je 0x18004d030
mov ecx, dword [r8 + 0x8c]
test ecx, ecx
js 0x18004d030
call fcn.180026e00
test al, al
jne 0x18004d049
test r11b, r11b
je 0x18004d05b
mov ecx, dword [r8 + 0x90]
test ecx, ecx
js 0x18004d05b
call fcn.180026e00
test al, al
je 0x18004d05b
cmp byte [rsp + 0x74], 0
jne 0x18004d05b
cmp byte [rbp - 0x78], 0
je 0x18004d05b
mov r8b, 1
jmp 0x18004d05e
xor r8b, r8b
mov r11, qword [rsp + 0x58]
mov ecx, dword [r11 + 0x40]
test ecx, ecx
js 0x18004d0c6
call fcn.180026e00
test al, al
je 0x18004d0c6
test r15b, r15b
je 0x18004d080
mov ecx, 0x200004
jmp 0x18004d090
mov ecx, 0x200000
mov eax, 0x20000c
test r12b, r12b
cmovne ecx, eax
or ecx, ebx
mov r8d, ecx
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aad0
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov rcx, qword [0x1800abbf8]
mov qword [rsp + 0x58], rcx
mov r14, rcx
jmp 0x18004d376
mov ecx, dword [r11 + 0x44]
test ecx, ecx
js 0x18004d0ed
call fcn.180026e00
test al, al
je 0x18004d0ed
test r15b, r15b
je 0x18004d0e3
mov ecx, 0x200005
jmp 0x18004d090
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x18004d08a
mov ecx, dword [r11 + 0x48]
test ecx, ecx
js 0x18004d14e
call fcn.180026e00
test al, al
je 0x18004d14e
cmp byte [rsp + 0x70], 0
je 0x18004d14e
test dil, dil
je 0x18004d13a
mov rdx, qword [rbp - 0x60]
xor r8d, r8d
mov r13, qword [rsp + 0x68]
mov r14, r11
movss xmm0, dword [rdx + 0x58]
subss xmm0, dword [r13 + 0x1910]
mov dword [rdx + 0x70], r8d
maxss xmm0, xmm12
movss dword [rdx + 0x68], xmm0
jmp 0x18004d37b
movzx eax, r15b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
jmp 0x18004d095
mov ecx, dword [r11 + 0x4c]
test ecx, ecx
js 0x18004d1b6
call fcn.180026e00
test al, al
je 0x18004d1b6
cmp byte [rsp + 0x70], 0
je 0x18004d1b6
test dil, dil
je 0x18004d1a2
mov rcx, qword [rbp - 0x60]
xor r8d, r8d
mov rax, qword [r11 + 0x1a18]
mov r14, r11
mov r13, qword [rsp + 0x68]
movss xmm0, dword [r13 + 0x1910]
addss xmm0, dword [rcx + 0x58]
minss xmm0, dword [rax + 0x60]
mov dword [rcx + 0x70], r8d
movss dword [rcx + 0x68], xmm0
jmp 0x18004d37b
movzx eax, r15b
lea r8d, [rax*4 + 0x200003]
or r8d, ebx
jmp 0x18004d095
mov ecx, dword [r11 + 0x58]
mov r15, r11
test ecx, ecx
js 0x18004d1e6
call fcn.180026e00
test al, al
je 0x18004d1e6
mov eax, ebx
mov r8d, 0x200004
or eax, 0x200006
or r8d, ebx
test dil, dil
cmovne r8d, eax
jmp 0x18004d095
mov ecx, dword [r11 + 0x5c]
test ecx, ecx
js 0x18004d213
call fcn.180026e00
test al, al
je 0x18004d213
mov eax, ebx
mov r8d, 0x200005
or eax, 0x200007
or r8d, ebx
test dil, dil
cmovne r8d, eax
jmp 0x18004d095
mov ecx, dword [r11 + 0x64]
test ecx, ecx
js 0x18004d23c
call fcn.180026e00
mov r11d, dword [rsp + 0x74]
test al, al
je 0x18004d241
test r11b, r11b
jne 0x18004d241
or ebx, 0x200008
mov r8d, ebx
jmp 0x18004d095
mov r11d, dword [rsp + 0x74]
mov ecx, dword [r15 + 0x68]
test ecx, ecx
js 0x18004d322
call fcn.180026e00
test al, al
je 0x18004d322
test r11b, r11b
jne 0x18004d322
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
jne 0x18004d293
test r12b, r12b
je 0x18004d2d2
lea rdx, [rsi + 0x4c]
mov r8d, 0x60000c
mov rcx, rsi
call fcn.18004aad0
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
mov r13, qword [rsp + 0x68]
or ebx, 0x200009
lea rdx, [rsi + 0x4c]
mov r8d, ebx
mov rcx, rsi
call fcn.18004aad0
mov rcx, qword [0x1800abbf8]
mov qword [rsp + 0x58], rcx
mov r14, rcx
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18004d37b
mov r13, qword [rsp + 0x68]
cmp byte [r13 + 0xc9], 0
je 0x18004d298
cmp byte [r13 + 0x14b], 0
je 0x18004d298
cmp byte [r13 + 0x14a], 0
jne 0x18004d298
test dil, dil
jne 0x18004d298
lea rdx, [rsi + 0x4c]
mov r8d, 0x600004
mov rcx, rsi
call fcn.18004aad0
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18004d298
mov ecx, dword [r15 + 0x70]
test ecx, ecx
js 0x18004d333
call fcn.180026e00
test al, al
jne 0x18004d34c
mov ecx, dword [r15 + 0x78]
test ecx, ecx
js 0x18004d3d6
call fcn.180026e00
test al, al
je 0x18004d3d6
mov ecx, dword [rbp + 0x1b8]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [rsp + 0x70], 0
je 0x18004d369
test al, al
je 0x18004d3a9
test dil, dil
jne 0x18004d3ae
mov byte [rsp + 0x52], 1
mov byte [rsp + 0x51], 1
mov r14, r15
mov r13, qword [rsp + 0x68]
xor cl, cl
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18004d76f
cmp byte [rsp + 0x54], 0
je 0x18004d76f
mov ebx, dword [rbp - 0x74]
mov al, 1
or byte [rsp + 0x50], al
mov eax, dword [r13 + 0x1a60]
jmp 0x18004d786
test dil, dil
jne 0x18004d369
test r11b, r11b
jne 0x18004d373
mov edx, ecx
mov dword [rbp - 0x78], 0xa
lea rcx, [rbp - 0x78]
call fcn.18004bb60
test al, al
je 0x18004d0b2
mov r8d, dword [rbp - 0x78]
jmp 0x18004d095
mov ecx, dword [r15 + 0x74]
test ecx, ecx
js 0x18004d3f7
call fcn.180026e00
test al, al
je 0x18004d3f7
mov r13, qword [rsp + 0x68]
mov cl, 1
mov byte [rsp + 0x52], cl
mov r14, r15
jmp 0x18004d37d
test r9b, r9b
jne 0x18004d729
test r8b, r8b
jne 0x18004d729
cmp byte [rsp + 0x53], r8b
je 0x18004d441
mov ecx, dword [r15 + 0x7c]
test ecx, ecx
js 0x18004d441
call fcn.180026e00
test al, al
je 0x18004d441
mov eax, dword [rsi + 4]
xor r8d, r8d
mov dword [rsi + 0x50], r8d
mov byte [rsi + 0x5b], r8b
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov byte [rsi + 0xe74], 1
jmp 0x18004d373
test r13b, r13b
jne 0x18004d5f6
test r14b, r14b
jne 0x18004d5f6
test r10b, r10b
je 0x18004d373
mov rax, qword [r15 + 0x100]
test rax, rax
je 0x18004d486
mov rcx, qword [r15 + 0x110]
call rax
mov rbx, rax
test rax, rax
je 0x18004d0b2
mov r15, qword [0x1800abbf8]
jmp 0x18004d48d
lea rbx, [0x180074bf3]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x18004d494
test r15, r15
je 0x18004d4a9
inc dword [r15 + 0x3bc]
mov rdx, qword [0x1800abbf0]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
xor r12d, r12d
mov qword [rbp + 0x60], rax
mov r15, rax
mov r14d, r12d
cmp byte [rbx], r12b
je 0x18004d526
mov r15d, dword [rbp + 0x1b8]
mov rdi, rax
nop dword [rax]
xor r8d, r8d
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.180021320
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x60], r12d
je 0x18004d522
mov edx, r15d
lea rcx, [rsp + 0x60]
call fcn.18004bb60
test al, al
je 0x18004d51d
movzx eax, word [rsp + 0x60]
inc r14d
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r12b
jne 0x18004d4e0
mov r15, qword [rbp + 0x60]
movsxd rax, r14d
mov word [r15 + rax*2], r12w
test r14d, r14d
jle 0x18004d5bc
mov edx, dword [rsi + 0x54]
mov ecx, dword [rsi + 0x50]
mov eax, dword [rsi + 4]
cmp ecx, edx
je 0x18004d55d
cmp ecx, eax
jle 0x18004d54d
mov dword [rsi + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x18004d556
mov dword [rsi + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x18004d55d
mov dword [rsi + 0x4c], ecx
cmp dword [rsi + 0x4c], eax
jle 0x18004d565
mov dword [rsi + 0x4c], eax
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aa30
mov edx, dword [rsi + 0x4c]
mov r9d, r14d
mov r8, r15
mov rcx, rsi
call fcn.18004a4f0
test al, al
je 0x18004d59f
mov edx, dword [rsi + 0x4c]
lea rcx, [rsi + 0x4c]
mov r8d, r14d
call fcn.18004bab0
add dword [rsi + 0x4c], r14d
mov byte [rsi + 0x5b], r12b
jmp 0x18004d5b5
movzx eax, word [rsi + 0xe62]
test ax, ax
je 0x18004d5b5
dec ax
mov word [rsi + 0xe62], ax
mov byte [rsi + 0xe74], 1
test r15, r15
je 0x18004d5d3
mov rax, qword [0x1800abbf8]
test rax, rax
je 0x18004d5d3
dec dword [rax + 0x3bc]
mov rdx, qword [0x1800abbf0]
mov rcx, r15
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, qword [0x1800abbf8]
mov qword [rsp + 0x58], rcx
mov r14, rcx
jmp 0x18004d376
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x108], 0
je 0x18004d6cc
mov ecx, dword [rsi + 0x54]
mov eax, dword [rsi + 0x50]
cmp eax, ecx
je 0x18004d61d
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x18004d626
mov edx, dword [rsi + 4]
xor r8d, r8d
mov ecx, r8d
mov rax, qword [rsi + 0x18]
movsxd r15, ecx
movsxd r14, edx
lea rcx, [rax + r15*2]
lea rdx, [rax + r14*2]
call fcn.180021640
lea edi, [rax + 1]
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x18004d650
inc dword [rax + 0x3bc]
mov rdx, qword [0x1800abbf0]
movsxd rcx, edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rcx, qword [rsi + 0x18]
mov edx, edi
mov rbx, rax
lea r9, [rcx + r14*2]
lea r8, [rcx + r15*2]
mov rcx, rax
call fcn.180021500
mov r9, qword [0x1800abbf8]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x18004d69e
mov rcx, qword [r9 + 0x110]
mov rdx, rbx
call rax
mov r9, qword [0x1800abbf8]
test rbx, rbx
je 0x18004d6af
test r9, r9
je 0x18004d6af
dec dword [r9 + 0x3bc]
mov rdx, qword [0x1800abbf0]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov r14, qword [0x1800abbf8]
mov qword [rsp + 0x58], r14
jmp 0x18004d6cf
mov r14, r15
test r13b, r13b
je 0x18004d376
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
jne 0x18004d6f2
xor eax, eax
mov byte [rsi + 0x5b], 0
mov dword [rsi + 0x50], eax
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov byte [rsi + 0xe74], 1
mov eax, dword [rsi + 0x54]
cmp dword [rsi + 0x50], eax
je 0x18004d376
lea rdx, [rsi + 0x4c]
mov rcx, rsi
call fcn.18004aa30
mov rcx, qword [0x1800abbf8]
mov qword [rsp + 0x58], rcx
mov r14, rcx
mov byte [rsi + 0x5b], 0
jmp 0x18004d376
movzx r8d, r9b
lea rdx, [rsi + 0x4c]
xor r8d, 1
mov rcx, rsi
add r8d, 0x20000a
call fcn.18004aad0
mov eax, dword [rsi + 0x4c]
mov r14, qword [0x1800abbf8]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x50], eax
mov qword [rsp + 0x58], r14
mov byte [rsi + 0xe74], 1
mov dword [rsi + 0xe70], 0xbe99999a
jmp 0x18004d376
mov ebx, dword [rbp - 0x74]
xor al, al
or byte [rsp + 0x50], al
mov eax, dword [r13 + 0x1a60]
jmp 0x18004d786
mov r14, qword [rsp + 0x58]
cmp eax, ebx
jne 0x18004dd8d
jmp 0x18004d795
mov r14, qword [rsp + 0x58]
xor r13d, r13d
mov qword [rbp + 0x88], r13
mov dword [rsp + 0x60], r13d
test cl, cl
je 0x18004d808
cmp byte [rsp + 0x74], r13b
jne 0x18004d7e7
mov r9, qword [rsi + 0x38]
mov rax, qword [rbp - 0x70]
mov r8, r9
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18004d7d3
inc rax
test ecx, ecx
jne 0x18004d7c0
test edx, edx
je 0x18004d7e7
mov eax, dword [rsi + 0x30]
dec eax
mov qword [rbp + 0x88], r9
mov dword [rsp + 0x60], eax
mov r9d, dword [rbp + 0x1b8]
cmp byte [rsp + 0x51], r13b
je 0x18004d7fb
test r9b, 0x20
jne 0x18004d80f
mov r15d, dword [rbp - 0x80]
mov r12, qword [rbp - 0x70]
jmp 0x18004dcbe
mov r9d, dword [rbp + 0x1b8]
cmp byte [rsp + 0x74], r13b
jne 0x18004d877
mov eax, dword [rsi + 0x10]
mov byte [rsi + 0x40], 1
mov ecx, dword [rsi + 0x24]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18004d85b
test ecx, ecx
je 0x18004d83a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004d83f
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x20]
mov edx, ebx
cmovg edx, eax
call fcn.180033c50
mov r14, qword [0x1800abbf8]
mov qword [rsp + 0x58], r14
mov dword [rsi + 0x20], ebx
xor r9d, r9d
mov r8, qword [rsi + 0x18]
mov edx, ebx
mov rcx, qword [rsi + 0x28]
call fcn.180021500
mov r9d, dword [rbp + 0x1b8]
test r9d, 0x1c0
je 0x18004dc75
mov r8d, 0x16
test r9b, 0x40
je 0x18004d8aa
mov ecx, dword [r14 + 0x3c]
test ecx, ecx
js 0x18004d8aa
call fcn.180026e00
test al, al
je 0x18004d8aa
lea eax, [r8 + 0x2a]
mov r8d, r13d
jmp 0x18004d8f5
test r9b, r9b
jns 0x18004d8e7
mov ecx, dword [r14 + 0x48]
test ecx, ecx
js 0x18004d8cb
call fcn.180026e00
test al, al
je 0x18004d8cb
mov eax, 0x80
lea r8d, [rax - 0x7d]
jmp 0x18004d8f5
mov ecx, dword [r14 + 0x4c]
test ecx, ecx
js 0x18004d8e7
call fcn.180026e00
test al, al
je 0x18004d8e7
mov eax, 0x80
lea r8d, [rax - 0x7c]
jmp 0x18004d8f5
mov eax, 0x100
test eax, r9d
je 0x18004dc75
mov rbx, qword [rsi + 0x18]
mov dword [rbp - 0x10], eax
mov rcx, rbx
mov rax, qword [rsi + 0x28]
mov qword [rbp + 8], rax
mov eax, dword [rsi + 8]
mov dword [rbp + 0x10], eax
mov eax, dword [rsi + 0x44]
mov dword [rbp + 0x14], eax
movsxd rax, dword [rsi + 0x4c]
mov dword [rbp], r13d
mov word [rbp + 0x19], r13w
mov byte [rbp + 0x1b], r13b
lea rdx, [rbx + rax*2]
mov dword [rbp - 0xc], r9d
mov qword [rbp - 8], r13
mov dword [rbp + 4], r8d
mov byte [rbp + 0x18], r13b
call fcn.180021640
movsxd rdx, dword [rsi + 0x50]
mov rcx, rbx
mov edi, eax
mov dword [rbp + 0x1c], eax
lea rdx, [rbx + rdx*2]
call fcn.180021640
movsxd rdx, dword [rsi + 0x54]
mov rcx, rbx
mov r13d, eax
mov dword [rbp + 0x20], eax
lea rdx, [rbx + rdx*2]
call fcn.180021640
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x58], eax
xor ebx, ebx
mov dword [rbp + 0x24], eax
call rbx
movsxd rcx, dword [rbp + 0x1c]
mov r8, qword [rbp + 8]
mov qword [rbp + 0x60], r8
cmp ecx, edi
je 0x18004da34
movzx r9d, byte [rsp + 0x51]
lea r15, [r8 + rcx]
movzx ecx, byte [rsp + 0x52]
mov rdx, r8
movzx r8d, byte [rsp + 0x50]
mov r12d, ebx
mov esi, 0xffff
nop dword [rax + rax]
test r15, r15
je 0x18004d9ba
cmp rdx, r15
jae 0x18004da21
cmp byte [rdx], 0
movzx ebx, r9b
mov byte [rsp + 0x51], bl
movzx edi, r8b
movzx r14d, cl
mov byte [rsp + 0x52], cl
mov byte [rsp + 0x50], r8b
je 0x18004da21
mov r8, r15
lea rcx, [rbp - 0x78]
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rbp - 0x78]
add rdx, rcx
mov byte [rsp + 0x52], r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x51], bl
test eax, eax
je 0x18004da21
cmp eax, esi
ja 0x18004da06
inc r12d
movzx ecx, r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x52], cl
movzx r8d, dil
movzx r9d, bl
mov byte [rsp + 0x51], bl
jmp 0x18004d9b0
mov rsi, qword [rbp - 0x38]
mov r8, qword [rbp + 0x60]
mov dword [rsi + 0x4c], r12d
mov byte [rsi + 0xe74], 1
movsxd rax, dword [rbp + 0x20]
cmp eax, r13d
je 0x18004dae3
movzx ecx, byte [rsp + 0x52]
lea r15, [r8 + rax]
movzx r9d, byte [rsp + 0x51]
xor r13d, r13d
mov rdx, r8
mov r12d, r13d
movzx r8d, byte [rsp + 0x50]
mov esi, 0xffff
test r15, r15
je 0x18004da6e
cmp rdx, r15
jae 0x18004dad5
movzx ebx, r9b
movzx edi, r8b
movzx r14d, cl
mov byte [rsp + 0x51], bl
mov byte [rsp + 0x52], cl
mov byte [rsp + 0x50], r8b
cmp byte [rdx], r13b
je 0x18004dad5
mov r8, r15
lea rcx, [rbp - 0x78]
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rbp - 0x78]
add rdx, rcx
mov byte [rsp + 0x52], r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x51], bl
test eax, eax
je 0x18004dad5
cmp eax, esi
ja 0x18004daba
inc r12d
movzx ecx, r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x52], cl
movzx r8d, dil
movzx r9d, bl
mov byte [rsp + 0x51], bl
jmp 0x18004da64
mov rsi, qword [rbp - 0x38]
mov r8, qword [rbp + 0x60]
mov dword [rsi + 0x50], r12d
jmp 0x18004dae6
xor r13d, r13d
movsxd rax, dword [rbp + 0x24]
cmp eax, dword [rsp + 0x58]
je 0x18004db8f
movzx ecx, byte [rsp + 0x52]
lea r15, [r8 + rax]
movzx r9d, byte [rsp + 0x51]
mov rdx, r8
movzx r8d, byte [rsp + 0x50]
mov r12d, r13d
mov esi, 0xffff
test r15, r15
je 0x18004db1e
cmp rdx, r15
jae 0x18004db87
cmp byte [rdx], 0
movzx ebx, r9b
mov byte [rsp + 0x51], bl
movzx edi, r8b
movzx r14d, cl
mov byte [rsp + 0x52], cl
mov byte [rsp + 0x50], r8b
je 0x18004db87
mov r8, r15
lea rcx, [rsp + 0x58]
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rsp + 0x58]
add rdx, rcx
mov byte [rsp + 0x52], r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x51], bl
test eax, eax
je 0x18004db87
cmp eax, esi
ja 0x18004db6c
inc r12d
movzx ecx, r14b
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x52], cl
movzx r8d, dil
movzx r9d, bl
mov byte [rsp + 0x51], bl
jmp 0x18004db14
mov rsi, qword [rbp - 0x38]
mov dword [rsi + 0x54], r12d
cmp byte [rbp + 0x18], 0
mov r15d, dword [rbp - 0x80]
je 0x18004dc60
mov ebx, dword [rbp + 0x10]
mov eax, dword [rbp - 0x7c]
cmp ebx, eax
jle 0x18004dbe7
test r15b, r15b
je 0x18004dbe7
mov ecx, dword [rsi + 0x14]
sub ebx, eax
add ebx, dword [rsi + 0x10]
cmp ebx, ecx
jle 0x18004dbe4
test ecx, ecx
je 0x18004dbc7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004dbcc
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180033ce0
mov rax, qword [rbp + 8]
mov qword [rbp + 0x60], rax
mov dword [rsi + 0x10], ebx
mov r14, qword [rsi + 0x18]
movsxd rdi, dword [rsi + 0x10]
mov rbx, r14
dec rdi
mov qword [rbp - 0x38], r14
lea rdi, [r14 + rdi*2]
cmp r14, rdi
jae 0x18004dc43
mov r14, qword [rbp + 0x60]
cmp byte [r14], 0
je 0x18004dc3f
xor r8d, r8d
lea rcx, [rsp + 0x58]
mov rdx, r14
call fcn.180021320
movsxd rcx, eax
mov eax, dword [rsp + 0x58]
add r14, rcx
test eax, eax
je 0x18004dc3f
mov ecx, 0xffff
cmp eax, ecx
ja 0x18004dc3a
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jb 0x18004dc06
mov r14, qword [rbp - 0x38]
mov word [rbx], r13w
sub rbx, r14
mov eax, dword [rbp + 0x10]
sar rbx, 1
mov dword [rsi + 4], ebx
mov dword [rsi + 8], eax
mov dword [rsi + 0xe70], 0xbe99999a
mov r14, qword [0x1800abbf8]
mov r9d, dword [rbp + 0x1b8]
mov qword [rsp + 0x58], r14
jmp 0x18004dc79
mov r15d, dword [rbp - 0x80]
cmp byte [rsp + 0x74], 0
mov r12, qword [rbp - 0x70]
jne 0x18004dcbe
mov r9, qword [rsi + 0x28]
mov r8, r12
mov rax, r9
sub r8, r9
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18004dca4
inc rax
test ecx, ecx
jne 0x18004dc91
test edx, edx
je 0x18004dcb7
mov ecx, dword [rsi + 8]
mov rdi, r9
mov r9d, dword [rbp + 0x1b8]
jmp 0x18004dcc9
mov r9d, dword [rbp + 0x1b8]
mov rdi, qword [rbp + 0x88]
mov ecx, dword [rsp + 0x60]
test rdi, rdi
je 0x18004dd75
cmp dword [rbp - 0x7c], ecx
je 0x18004dd37
test r15b, r15b
je 0x18004dd37
lea eax, [rcx + 1]
mov dword [rbp + 0x48], ecx
cmp dword [rsp + 0x78], eax
lea rcx, [rbp + 0x28]
xorps xmm0, xmm0
mov qword [rbp + 0x38], r13
cmovge eax, dword [rsp + 0x78]
mov dword [rbp + 0x4c], eax
movdqu xmmword [rbp + 0x50], xmm0
mov dword [rbp + 0x28], 0x40000
mov dword [rbp + 0x2c], r9d
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x30], r13
call r13
mov edx, dword [rbp + 0x4c]
mov r12, qword [rbp + 0x40]
mov r14, qword [0x1800abbf8]
mov qword [rbp - 0x70], r12
lea ecx, [rdx - 1]
mov qword [rsp + 0x58], r14
cmp dword [rbp + 0x48], ecx
cmovl ecx, dword [rbp + 0x48]
jmp 0x18004dd3b
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
cmp eax, edx
cmovl edx, eax
movsxd rbx, edx
cmp rbx, 1
jb 0x18004dd70
jbe 0x18004dd6a
lea r8, [rbx - 1]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r14, qword [0x1800abbf8]
mov qword [rsp + 0x58], r14
mov byte [r12 + rbx - 1], 0
mov byte [rsp + 0x7d], 1
mov ebx, dword [rbp - 0x74]
mov dword [rsi + 0xe78], r13d
mov qword [rsi + 0xe80], r13
mov qword [rsi + 0xe88], r13
cmp byte [rsp + 0x52], 0
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
je 0x18004de00
cmp dword [r12 + 0x1a60], ebx
jne 0x18004de00
mov ecx, dword [r13 + 0x1a60]
test ecx, ecx
setne al
mov byte [r13 + 0x1a6c], al
xor eax, eax
test ecx, ecx
je 0x18004ddd0
mov dword [r13 + 0x1a68], eax
mov word [r13 + 0x1a6e], ax
mov dword [r13 + 0x1a60], eax
mov byte [r13 + 0x1a6d], 0
mov qword [r13 + 0x1a90], rax
mov byte [r13 + 0x1a70], 0
mov qword [r13 + 0x1a74], 0
mov qword [r13 + 0x1a80], rax
mov r9d, dword [rsp + 0x70]
movaps xmmword [rsp + 0x1b0], xmm14
test r9b, r9b
jne 0x18004dee0
mov r8d, 1
lea rcx, [rbp - 0x20]
mov edx, ebx
call fcn.180022e80
mov rax, qword [0x1800abbf8]
lea rcx, [rbp + 0x60]
movups xmm0, xmmword [rax + 0x1678]
movups xmmword [rbp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1558]
movss dword [rbp + 0x6c], xmm0
call fcn.1800216e0
movss xmm0, dword [r12 + 0x1598]
mov r8d, eax
mov rdx, qword [rbp - 0x18]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.180022780
mov r13, qword [0x1800abbf8]
movaps xmm5, xmm8
mov r9d, dword [rsp + 0x70]
addss xmm5, xmm7
mov r10, qword [rbp - 0x60]
movaps xmm14, xmm9
movaps xmm0, xmm10
movss dword [rbp + 0x78], xmm7
addss xmm7, dword [r12 + 0x1590]
addss xmm0, dword [r12 + 0x1594]
addss xmm14, xmm10
movss dword [rbp + 0x7c], xmm10
movss dword [rbp + 0x80], xmm5
movss dword [rbp + 0x60], xmm7
movss dword [rbp + 0x64], xmm0
movss dword [rbp + 0x84], xmm14
jmp 0x18004df1f
mov r10, qword [rbp - 0x60]
movaps xmm5, xmm8
movaps xmm14, xmm10
movss dword [rbp + 0x78], xmm7
addss xmm5, xmm7
movss dword [rbp + 0x7c], xmm10
addss xmm14, xmm9
movss dword [rbp + 0x80], xmm5
movss dword [rbp + 0x84], xmm14
movsd xmm0, qword [r10 + 0xd0]
movsd qword [rbp + 0x60], xmm0
cmp byte [rsp + 0x7c], 0
lea rax, [rbp + 0x60]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x68], xmm0
movss dword [rsp + 0x78], xmm5
movss dword [rbp - 0x80], xmm12
movss dword [rsp + 0x60], xmm12
je 0x18004df51
mov r15, qword [rsi + 0x28]
mov qword [rbp - 0x70], r15
jmp 0x18004df55
mov r15, qword [rbp - 0x70]
movzx edi, byte [rsp + 0x55]
xor r11d, r11d
mov qword [rbp + 0x60], r11
mov r14d, r11d
test dil, dil
je 0x18004df90
mov rax, qword [rbp - 0x50]
mov r14, 0xffffffffffffffff
mov r15, rax
mov qword [rbp - 0x70], rax
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], r11b
jne 0x18004df80
add r14, rax
mov qword [rbp + 0x60], r14
movzx eax, byte [rsp + 0x54]
movzx ecx, byte [rsp + 0x50]
test al, al
jne 0x18004e0c7
test cl, cl
jne 0x18004e0c7
test r9b, r9b
je 0x18004e00a
movzx edx, byte [r15]
lea r14, [r15 + 1]
mov ecx, r11d
test dl, dl
je 0x18004dfd6
nop
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [r14]
cmovne eax, ecx
inc r14
mov ecx, eax
test dl, dl
jne 0x18004dfc0
movzx eax, byte [r14 - 1]
dec r14
cmp al, 0xa
je 0x18004dfe8
cmp al, 0xd
je 0x18004dfe8
inc ecx
movss dword [rbp - 0x80], xmm8
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
mulss xmm8, dword [r12 + 0x1910]
movss dword [rsp + 0x60], xmm8
jmp 0x18004e044
test dil, dil
jne 0x18004e032
cmp dword [r12 + 0x1a60], ebx
jne 0x18004e01f
movsxd r14, dword [rsi + 8]
jmp 0x18004e02f
mov r14, 0xffffffffffffffff
inc r14
cmp byte [r15 + r14], r11b
jne 0x18004e026
add r14, r15
mov rax, r14
sub rax, r15
cmp rax, 0x200000
jge 0x18004e95b
lea rax, [rdi + 0xb]
add rax, rax
lea r8, [rbp + 0x78]
test r9b, r9b
lea rcx, [rbp - 0x50]
cmovne r8, r11
movups xmm0, xmmword [r13 + rax*8 + 0x1558]
movups xmmword [rbp - 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp - 0x44], xmm0
call fcn.1800216e0
movss xmm2, dword [r12 + 0x1910]
lea r9, [rsp + 0x68]
mov rdx, qword [r12 + 0x1908]
mov rcx, qword [r10 + 0x2a8]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm12
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.18003dcd0
mov r13, qword [0x1800abbf8]
jmp 0x18004e916
movaps xmmword [rsp + 0x1c0], xmm13
movaps xmmword [rsp + 0x1a0], xmm15
test dil, dil
jne 0x18004e0e9
movsxd r14, dword [rsi + 8]
add r14, r15
mov qword [rbp + 0x60], r14
mov r15, qword [rsi + 0x18]
mov r8d, 0xfffffc18
mov ebx, r8d
movaps xmm7, xmm12
movaps xmm6, xmm12
mov r10, r11
mov rdi, r11
mov edx, r11d
test al, al
je 0x18004e11c
movsxd rax, dword [rsi + 0x4c]
mov edx, 1
lea r10, [r15 + rax*2]
lea r8d, [rdx - 2]
test cl, cl
je 0x18004e138
mov ecx, dword [rsi + 0x54]
mov ebx, 0xffffffff
cmp dword [rsi + 0x50], ecx
cmovl ecx, dword [rsi + 0x50]
inc edx
movsxd rax, ecx
lea rdi, [r15 + rax*2]
movzx ecx, word [r15]
movzx eax, r9b
mov r9d, r11d
add edx, eax
mov rax, r15
test cx, cx
je 0x18004e18d
nop dword [rax]
cmp cx, 0xa
jne 0x18004e180
inc r9d
cmp r8d, 0xffffffff
jne 0x18004e16d
cmp rax, r10
jb 0x18004e16d
dec edx
mov r8d, r9d
test edx, edx
jle 0x18004e18d
cmp ebx, 0xffffffff
jne 0x18004e180
cmp rax, rdi
jb 0x18004e180
dec edx
mov ebx, r9d
test edx, edx
jle 0x18004e18d
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x18004e150
inc r9d
mov rdx, r10
cmp r8d, 0xffffffff
mov r11d, r9d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r9d
cmp r10, r15
jbe 0x18004e1c3
nop word [rax + rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18004e1c3
mov rdx, rax
cmp rax, r15
ja 0x18004e1b0
mov r8, qword [r13 + 0x1908]
movaps xmm2, xmm12
movss xmm3, dword [r13 + 0x1910]
movaps xmm13, xmm12
divss xmm3, dword [r8 + 0x14]
cmp rdx, r10
jae 0x18004e233
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18004e207
maxss xmm2, xmm13
movaps xmm13, xmm12
jmp 0x18004e22e
cmp ecx, 0xd
je 0x18004e22e
cmp ecx, dword [r8]
jge 0x18004e21c
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18004e222
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm13, xmm0
cmp rdx, r10
jb 0x18004e1f0
movss xmm4, dword [r12 + 0x1910]
maxss xmm13, xmm2
movd xmm15, r11d
cvtdq2ps xmm15, xmm15
movss dword [rsp + 0x58], xmm13
mulss xmm15, xmm4
movss dword [rbp - 0x78], xmm15
test ebx, ebx
js 0x18004e2e0
mov rdx, rdi
cmp rdi, r15
jbe 0x18004e283
nop dword [rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18004e283
mov rdx, rax
cmp rax, r15
ja 0x18004e270
movaps xmm2, xmm12
movaps xmm6, xmm12
cmp rdx, rdi
jae 0x18004e2d1
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18004e2a6
maxss xmm2, xmm6
movaps xmm6, xmm12
jmp 0x18004e2cc
cmp ecx, 0xd
je 0x18004e2cc
cmp ecx, dword [r8]
jge 0x18004e2bb
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18004e2c1
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm6, xmm0
cmp rdx, rdi
jb 0x18004e290
movd xmm7, ebx
maxss xmm6, xmm2
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm4
mov r10d, dword [rsp + 0x70]
test r10b, r10b
je 0x18004e302
movd xmm5, r9d
cvtdq2ps xmm5, xmm5
movss dword [rbp - 0x80], xmm8
mulss xmm5, xmm4
movss dword [rsp + 0x60], xmm5
movzx r8d, byte [rsp + 0x54]
test r8b, r8b
je 0x18004e3fc
cmp byte [rsi + 0xe74], 0
je 0x18004e3fc
test dword [rbp + 0x1b8], 0x1000
jne 0x18004e373
movss xmm2, dword [rsi + 0x48]
movaps xmm0, xmm8
comiss xmm2, xmm13
mulss xmm0, dword [0x18009a584]
movaps xmm1, xmm13
jbe 0x18004e353
subss xmm1, xmm0
movaps xmm0, xmm12
maxss xmm0, xmm1
jmp 0x18004e361
subss xmm1, xmm8
comiss xmm1, xmm2
jb 0x18004e378
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x48], xmm0
jmp 0x18004e378
xor eax, eax
mov dword [rsi + 0x48], eax
test r10b, r10b
je 0x18004e3ec
mov rax, qword [rbp - 0x60]
movaps xmm2, xmm15
subss xmm2, dword [r12 + 0x1910]
movss xmm1, dword [rax + 0x58]
comiss xmm1, xmm2
jbe 0x18004e3a3
movaps xmm0, xmm12
maxss xmm0, xmm2
jmp 0x18004e3b0
movaps xmm0, xmm15
subss xmm0, xmm9
maxss xmm0, xmm1
movss xmm10, dword [rsp + 0x6c]
subss xmm1, xmm0
movss dword [rax + 0x58], xmm0
movss xmm14, dword [rbp + 0x84]
mov byte [rsi + 0xe74], 0
addss xmm10, xmm1
movss xmm1, dword [rbp + 0x80]
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x6c], xmm10
jmp 0x18004e403
movss xmm10, dword [rsp + 0x6c]
mov byte [rsi + 0xe74], 0
jmp 0x18004e403
movss xmm10, dword [rsp + 0x6c]
cmp byte [rsp + 0x50], 0
movss xmm11, dword [rsi + 0x48]
movss xmm9, dword [rsp + 0x68]
movss dword [rbp - 0x7c], xmm10
je 0x18004e6b1
mov edx, dword [rsi + 0x54]
mov eax, edx
mov ecx, dword [rsi + 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 0x18004e44d
movss xmm1, dword [0x18009a5e4]
jmp 0x18004e455
movss xmm1, dword [0x18009a5ac]
movups xmm0, xmmword [r13 + 0x18a8]
lea rcx, [rbp - 0x50]
mulss xmm1, dword [r13 + 0x1558]
movups xmmword [rbp - 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x44], xmm0
call fcn.1800216e0
mov r15d, eax
test r10b, r10b
je 0x18004e490
movss dword [rbp - 0x30], xmm12
jmp 0x18004e499
movss xmm12, dword [0x18009a60c]
movaps xmm4, xmm9
movaps xmm8, xmm10
addss xmm8, xmm7
xorps xmm7, xmm7
addss xmm4, xmm6
subss xmm8, xmm7
subss xmm4, xmm11
cmp rbx, rdi
jae 0x18004e6ad
movss xmm6, dword [r12 + 0x1910]
movss xmm13, dword [rsp + 0x78]
movaps xmm1, xmm6
movss xmm15, dword [rbp + 0x7c]
movss xmm10, dword [rbp + 0x78]
mov r14, qword [rbp - 0x60]
movaps xmm0, xmm14
addss xmm0, xmm1
comiss xmm8, xmm0
ja 0x18004e68a
comiss xmm15, xmm8
jbe 0x18004e520
cmp rbx, rdi
jae 0x18004e666
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x18004e666
cmp rbx, rdi
jb 0x18004e505
jmp 0x18004e666
mov rdx, qword [r13 + 0x1908]
movaps xmm5, xmm7
movss xmm3, dword [r13 + 0x1910]
movaps xmm1, xmm7
divss xmm3, dword [rdx + 0x14]
cmp rbx, rdi
jae 0x18004e581
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x18004e577
cmp ecx, 0xd
je 0x18004e570
cmp ecx, dword [rdx]
jge 0x18004e560
mov rax, qword [rdx + 8]
movss xmm2, dword [rax + rcx*4]
jmp 0x18004e565
movss xmm2, dword [rdx + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jb 0x18004e540
jmp 0x18004e581
movaps xmm5, xmm7
maxss xmm5, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm5
comiss xmm7, xmm1
jb 0x18004e5bd
mov rax, qword [r12 + 0x1908]
cmp dword [rax], 0x20
jle 0x18004e5a5
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18004e5aa
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x18009a5a4]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rbp - 0x30]
addss xmm1, xmm4
subss xmm2, xmm6
movaps xmm0, xmm12
addss xmm0, xmm8
addss xmm4, xmm7
minss xmm1, xmm13
addss xmm2, xmm8
minss xmm0, xmm14
maxss xmm4, xmm10
movss dword [rbp - 0x48], xmm1
maxss xmm2, xmm15
comiss xmm0, xmm15
movss dword [rbp - 0x4c], xmm2
movss dword [rbp - 0x50], xmm4
movss dword [rbp - 0x44], xmm0
jbe 0x18004e666
comiss xmm14, xmm2
jbe 0x18004e666
comiss xmm1, xmm10
jbe 0x18004e666
comiss xmm13, xmm4
jbe 0x18004e666
mov rcx, qword [r14 + 0x2a8]
lea r8, [rbp - 0x48]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x50]
mov r9d, r15d
movss dword [rsp + 0x20], xmm7
call fcn.18003d6c0
mov r13, qword [0x1800abbf8]
movss xmm14, dword [rbp + 0x84]
movss xmm13, dword [rbp + 0x80]
movss xmm15, dword [rbp + 0x7c]
movss xmm10, dword [rbp + 0x78]
movss xmm6, dword [r12 + 0x1910]
movaps xmm4, xmm9
subss xmm4, xmm11
movaps xmm1, xmm6
addss xmm8, xmm6
cmp rbx, rdi
jb 0x18004e4e4
movss xmm10, dword [rbp - 0x7c]
movss xmm15, dword [rbp - 0x78]
mov r14, qword [rbp + 0x60]
mov r10d, dword [rsp + 0x70]
movss dword [rsp + 0x78], xmm13
movss xmm13, dword [rsp + 0x58]
xorps xmm12, xmm12
mov r15, qword [rbp - 0x70]
test r10b, r10b
jne 0x18004e6cc
mov rax, r14
sub rax, r15
cmp rax, 0x200000
jge 0x18004e786
movzx edi, byte [rsp + 0x55]
lea r8, [rbp + 0x78]
movaps xmm1, xmm10
lea rcx, [rbp + 0x60]
subss xmm1, xmm12
lea rax, [rdi + 0xb]
add rax, rax
test r10b, r10b
movss dword [rbp - 0x4c], xmm1
movups xmm0, xmmword [r13 + rax*8 + 0x1558]
mov eax, 0
cmovne r8, rax
movups xmmword [rbp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp + 0x6c], xmm0
movaps xmm0, xmm9
subss xmm0, xmm11
movss dword [rbp - 0x50], xmm0
call fcn.1800216e0
mov rbx, qword [rbp - 0x60]
lea r9, [rbp - 0x50]
movss xmm2, dword [r12 + 0x1910]
mov rdx, qword [r12 + 0x1908]
mov qword [rsp + 0x40], r8
mov rcx, qword [rbx + 0x2a8]
movss dword [rsp + 0x38], xmm12
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.18003dcd0
mov r13, qword [0x1800abbf8]
movss xmm14, dword [rbp + 0x84]
movss xmm6, dword [rbp + 0x80]
jmp 0x18004e795
movss xmm6, dword [rsp + 0x78]
movzx edi, byte [rsp + 0x55]
mov rbx, qword [rbp - 0x60]
cmp byte [rsp + 0x54], 0
je 0x18004e8f8
movss xmm0, dword [r12 + 0x18]
addss xmm0, dword [rsi + 0xe70]
movss dword [rsi + 0xe70], xmm0
cmp byte [r12 + 0xca], 0
je 0x18004e7e6
comiss xmm12, xmm0
jae 0x18004e7e6
movss xmm1, dword [0x18009a5e8]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x18009a5cc]
comiss xmm1, xmm0
jae 0x18004e7e6
xor al, al
jmp 0x18004e7e8
mov al, 1
movss xmm7, dword [0x18009a5e4]
addss xmm10, xmm15
addss xmm9, xmm13
subss xmm10, xmm12
subss xmm9, xmm11
movaps xmm0, xmm10
movaps xmm1, xmm10
movss dword [rbp + 0x60], xmm9
movaps xmm2, xmm9
addss xmm2, xmm7
subss xmm0, dword [r12 + 0x1910]
subss xmm1, dword [0x18009a5f8]
movss dword [rbp + 0x68], xmm2
addss xmm0, dword [0x18009a5a4]
movss dword [rbp + 0x6c], xmm1
movss dword [rbp + 0x64], xmm0
test al, al
je 0x18004e8c6
comiss xmm1, dword [rbp + 0x7c]
jbe 0x18004e8c6
comiss xmm14, xmm0
jbe 0x18004e8c6
comiss xmm2, dword [rbp + 0x78]
jbe 0x18004e8c6
comiss xmm6, xmm9
jbe 0x18004e8c6
movups xmm0, xmmword [r13 + 0x1608]
lea rcx, [rbp + 0x88]
movss dword [rbp - 0x50], xmm9
movups xmmword [rbp + 0x88], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r13 + 0x1558]
movss dword [rbp - 0x4c], xmm1
movss dword [rbp + 0x94], xmm0
call fcn.1800216e0
mov rcx, qword [rbx + 0x2a8]
lea rdx, [rbp + 0x60]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea r8, [rbp - 0x50]
call fcn.18003d460
mov r13, qword [0x1800abbf8]
cmp byte [rsp + 0x74], 0
movss xmm11, dword [rbp - 0x40]
jne 0x18004e8fe
subss xmm10, dword [r12 + 0x1910]
subss xmm9, xmm7
movss dword [r12 + 0x2ee8], xmm10
movss dword [r12 + 0x2ee4], xmm9
jmp 0x18004e8fe
movss xmm11, dword [rbp - 0x40]
movss xmm10, dword [rbp - 0x1c]
movaps xmm13, xmmword [rsp + 0x1c0]
movaps xmm15, xmmword [rsp + 0x1a0]
cmp byte [rsp + 0x70], 0
je 0x18004e95b
movss xmm0, dword [rbp - 0x80]
lea rcx, [rbp - 0x50]
addss xmm0, xmm12
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rsp + 0x60]
addss xmm0, dword [r12 + 0x1910]
movss dword [rbp - 0x4c], xmm0
call fcn.1800475a0
call fcn.180027220
call fcn.18002d120
mov r13, qword [0x1800abbf8]
mov eax, dword [rbp - 0x58]
movaps xmm14, xmmword [rsp + 0x1b0]
test al, al
je 0x18004e9d5
test dil, dil
jne 0x18004e9d5
mov rax, qword [r13 + 0x1a18]
mov rbx, r13
mov rcx, qword [rax + 0x2a8]
dec dword [rcx + 0x70]
call fcn.18003b400
movsxd rcx, dword [r13 + 0x1b50]
lea eax, [rcx - 1]
mov dword [r13 + 0x1b50], eax
mov r13, qword [0x1800abbf8]
test eax, eax
jne 0x18004e9c1
mov rcx, qword [r13 + 0xb8]
test rcx, rcx
jne 0x18004e9cd
mov rax, qword [r13 + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
jmp 0x18004e9cd
mov rax, qword [rbx + 0x1b58]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.18002c660
mov eax, dword [rbp - 0x58]
cmp byte [r12 + 0x2f30], 0
je 0x18004ea00
test al, al
je 0x18004e9e9
test dil, dil
je 0x18004ea00
mov r8, r14
lea rcx, [rsp + 0x68]
mov rdx, r15
call fcn.180032470
mov r13, qword [0x1800abbf8]
comiss xmm11, xmm12
jbe 0x18004ea3e
movss xmm0, dword [rbp - 0x18]
mov r9b, 1
addss xmm0, dword [r12 + 0x15a8]
addss xmm10, dword [r12 + 0x1594]
mov rdx, qword [rbp - 0x28]
xor r8d, r8d
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.180022250
mov r13, qword [0x1800abbf8]
movzx edx, byte [rsp + 0x7d]
mov ecx, dword [rbp + 0x1b8]
test dl, dl
je 0x18004ea6b
bt ecx, 0x15
jb 0x18004ea6b
mov rax, qword [r13 + 0x1a18]
mov word [r13 + 0x1a6f], 0x101
or dword [rax + 0x114], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rsp + 0x51]
cmovne eax, ecx
jmp 0x18004c0e1