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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x288
mov r14, qword [0x1801a8b88]
xor edi, edi
movaps xmmword [rax - 0x58], xmm6
mov rsi, rcx
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
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [r14 + 0x3ec8]
mov qword [rbp + 8], r14
mov byte [rax + 0xb8], 1
mov r15, qword [r14 + 0x3ec8]
mov qword [rbp - 0x78], r15
cmp byte [r15 + 0xbb], dil
jne 0x18002b188
mov ebx, dword [rbp + 0x1f8]
mov eax, ebx
shr eax, 0xe
mov r13d, ebx
and al, 1
shr r13d, 0x1a
mov dword [rsp + 0x5c], eax
and r13b, 1
mov eax, ebx
mov dword [rsp + 0x64], ebx
shr eax, 0xf
and al, 1
mov dword [rsp + 0x58], r13d
mov dword [rbp - 0x6c], eax
mov eax, ebx
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x48], eax
mov eax, ebx
shr eax, 0x12
and al, 1
mov dword [rbp - 0x40], eax
test r13b, r13b
je 0x18002afeb
call fcn.180012f18
mov rdx, rsi
mov rcx, r15
call fcn.18000844c
movss xmm0, dword [0x180157680]
lea rcx, [rbp + 0x1d8]
mov r9b, 1
movss dword [rbp], xmm0
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
mov rdx, rsi
mov dword [rsp + 0x68], eax
mov r12d, eax
call fcn.18000b368
test r13b, r13b
je 0x18002b03d
movss xmm4, dword [r14 + 0x3c28]
mulss xmm4, dword [0x180157514]
jmp 0x18002b045
movss xmm4, dword [rbp + 0x1dc]
call fcn.180012d4c
movss xmm6, dword [r14 + 0x3834]
lea rcx, [rbp + 0x200]
mov rdx, qword [rbp + 0x1f0]
movaps xmm3, xmm6
addss xmm3, xmm6
movaps xmm2, xmm0
mov rdx, qword [rdx]
addss xmm3, xmm4
call fcn.180012dbc
movss xmm14, dword [rbp + 0x1d8]
xorps xmm10, xmm10
comiss xmm14, xmm10
movss dword [rbp - 0x18], xmm14
jbe 0x18002b09f
movaps xmm1, xmm14
addss xmm1, dword [r14 + 0x3848]
jmp 0x18002b0a2
xorps xmm1, xmm1
movss xmm9, dword [r15 + 0x104]
lea rcx, [rbp + 0x1d8]
movss xmm7, dword [r15 + 0x100]
movaps xmm0, xmm9
movss xmm11, dword [rbp + 0x204]
movaps xmm2, xmm9
movss xmm8, dword [rbp + 0x200]
addss xmm2, xmm11
addss xmm1, xmm8
movss dword [rbp - 0x50], xmm9
addss xmm0, xmm11
movss dword [rbp - 8], xmm11
movaps xmm13, xmm7
movss dword [rsp + 0x78], xmm7
addss xmm13, xmm8
movss dword [rsp + 0x7c], xmm9
movss dword [rbp - 0x2c], xmm2
subss xmm2, xmm9
addss xmm1, xmm7
movss dword [rbp - 0x38], xmm7
movss dword [rbp - 0x7c], xmm0
xorps xmm0, xmm0
movss dword [rbp - 0x34], xmm9
movss dword [rbp - 0x60], xmm13
movss dword [rbp - 0x80], xmm13
movss dword [rbp - 0x30], xmm1
subss xmm1, xmm7
movss dword [rbp + 0x1dc], xmm2
mov qword [rbp - 0x68], r15
movups xmmword [rbp + 0xa0], xmm0
movss dword [rbp + 0x1d8], xmm1
movaps xmm1, xmm6
call fcn.18001277c
test r13b, r13b
je 0x18002b339
mov r9d, 0x400
lea r8, [rsp + 0x78]
mov edx, r12d
lea rcx, [rbp - 0x38]
call fcn.1800128e0
test al, al
jne 0x18002b1dd
call fcn.180013040
xor al, al
lea r11, [rsp + 0x288]
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]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movups xmm0, xmmword [r14 + 0x4764]
mov edi, dword [r14 + 0x476c]
lea rdx, [r14 + 0x3940]
mov ecx, 3
movss dword [r15 + 0x100], xmm7
movups xmmword [rbp + 0xa0], xmm0
movss dword [r15 + 0x104], xmm9
call fcn.180006d58
movss xmm1, dword [r14 + 0x3838]
mov ecx, 7
call fcn.180006e08
movss xmm1, dword [r14 + 0x383c]
mov ecx, 8
call fcn.180006e08
and dword [rbp + 0x1d8], 0
lea rdx, [rbp + 0x1d8]
and dword [rbp + 0x1dc], 0
mov ecx, 2
call fcn.180006e80
movss xmm13, dword [rbp - 0x80]
lea r8, [rbp + 0x1d8]
movss xmm1, dword [rbp - 0x7c]
movaps xmm0, xmm13
movss xmm9, dword [rsp + 0x7c]
mov edx, r12d
movss xmm7, dword [rsp + 0x78]
subss xmm1, xmm9
subss xmm0, xmm7
movss dword [rbp - 0x60], xmm13
mov rcx, rsi
movss dword [rbp - 0x50], xmm9
mov dword [rsp + 0x20], 4
movss dword [rbp + 0x1dc], xmm1
movss dword [rbp + 0x1d8], xmm0
call fcn.18000b668
mov ecx, 3
mov bl, al
call fcn.180006f0c
mov ecx, 1
call fcn.180006db4
test bl, bl
jne 0x18002b2da
call fcn.18000b89c
jmp 0x18002b183
mov rbx, qword [r14 + 0x3ec8]
mov qword [rbp - 0x68], rbx
movsx ecx, word [rbx + 0x15e]
movss xmm0, dword [rbx + 0x100]
mov eax, dword [rbx + 0x158]
bts ecx, eax
subss xmm8, dword [rbx + 0xac]
mov word [rbx + 0x15e], cx
addss xmm0, dword [r14 + 0x3830]
movss dword [rbx + 0x100], xmm0
movss xmm1, dword [r14 + 0x3834]
addss xmm1, dword [rbx + 0x104]
movss dword [rbx + 0x104], xmm1
jmp 0x18002b387
bt ebx, 0x1c
jb 0x18002b37d
mov r9d, 0x400
lea r8, [rsp + 0x78]
mov edx, r12d
lea rcx, [rbp - 0x38]
call fcn.1800128e0
test al, al
je 0x18002b188
movss xmm13, dword [rbp - 0x80]
movss xmm9, dword [rsp + 0x7c]
movss xmm7, dword [rsp + 0x78]
movss dword [rbp - 0x60], xmm13
movss dword [rbp - 0x50], xmm9
mov edi, dword [r14 + 0x476c]
mov rbx, r15
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.180008978
xor r8d, r8d
mov byte [rsp + 0x60], al
mov cl, al
test al, al
je 0x18002b3ac
mov dword [r14 + 0x4a48], 1
mov rsi, qword [0x1801a8b88]
test r12d, r12d
je 0x18002b3ca
cmp dword [rsi + 0x4be0], r12d
jne 0x18002b3ca
add rsi, 0x4bd8
jmp 0x18002b3cd
mov rsi, r8
mov eax, dword [r14 + 0x3f28]
shr edi, 8
and dil, 1
mov dword [rbp - 0x10], edi
cmp eax, r12d
je 0x18002b40d
cmp dword [r14 + 0x48b8], r12d
jne 0x18002b40d
test byte [r14 + 0x48c4], 1
jne 0x18002b404
mov edx, 2
cmp dword [r14 + 0x48dc], edx
jne 0x18002b40d
mov byte [rbp + 0x208], 1
jmp 0x18002b414
mov byte [rbp + 0x208], r8b
test cl, cl
je 0x18002b424
mov r12b, 1
cmp byte [r14 + 0x3748], r8b
jne 0x18002b427
mov r12b, r8b
mov byte [rbp + 0x1d8], r12b
test r13b, r13b
je 0x18002b45b
test rsi, rsi
je 0x18002b45b
test eax, eax
jne 0x18002b45b
lea rdx, str.SCROLLY
mov rcx, rbx
call fcn.18000844c
cmp dword [r14 + 0x3f58], eax
jne 0x18002b458
mov bl, 1
jmp 0x18002b468
xor r8d, r8d
mov bl, r8b
test r13b, r13b
je 0x18002b48c
test rsi, rsi
je 0x18002b48c
mov rcx, qword [rbp - 0x68]
lea rdx, str.SCROLLY
call fcn.18000844c
xor r8d, r8d
cmp dword [r14 + 0x3f28], eax
jne 0x18002b48c
mov cl, 1
mov byte [rsp + 0x53], cl
jmp 0x18002b498
mov cl, r8b
mov byte [rsp + 0x53], cl
test r13b, r13b
je 0x18002b4a6
mov rax, qword [rbp - 0x68]
movss xmm6, dword [rax + 0x88]
jmp 0x18002b4b2
movss xmm6, dword [0x180157648]
mov byte [rsp + 0x53], cl
test rsi, rsi
je 0x18002b4c4
mov al, r13b
mov r13b, 1
xor al, 1
cmp byte [rsi + 0x6b], al
jne 0x18002b4c7
mov r13b, r8b
test r12b, r12b
jne 0x18002b4f0
test bl, bl
jne 0x18002b4f0
cmp byte [rbp + 0x208], r8b
jne 0x18002b4f0
test dil, dil
jne 0x18002b4f0
mov byte [rbp + 0x200], r8b
test cl, cl
jne 0x18002b4f7
mov byte [rsp + 0x54], r8b
jmp 0x18002b50a
mov byte [rbp + 0x200], 1
mov r12d, dword [rsp + 0x68]
mov byte [rsp + 0x54], 1
cmp dword [r14 + 0x3f28], r12d
jne 0x18002b51b
mov r12b, r8b
test r13b, r13b
je 0x18002b73c
mov r12d, dword [rsp + 0x68]
lea rsi, [r14 + 0x4bd8]
mov ecx, dword [rsi + 8]
mov dword [rsi + 0xe80], 0xbe99999a
call fcn.18002ae48
mov rcx, qword [rbp + 0x1e0]
or rbx, 0xffffffffffffffff
xor eax, eax
inc rbx
cmp byte [rcx + rbx], al
jne 0x18002b541
mov ecx, dword [rsi + 0x3c]
lea edi, [rbx + 1]
cmp edi, ecx
jle 0x18002b577
test ecx, ecx
je 0x18002b562
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002b567
mov eax, 8
cmp eax, edi
lea rcx, [rsi + 0x38]
mov edx, edi
cmovg edx, eax
call fcn.180019a2c
mov dword [rsi + 0x38], edi
mov rcx, qword [rsi + 0x40]
movsxd r8, edi
mov rdi, qword [rbp + 0x1e0]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
cmp dword [rsi + 8], r12d
jne 0x18002b5c3
test r13b, r13b
jne 0x18002b5c3
mov r15b, 1
cmp dword [rsi + 0x10], ebx
jne 0x18002b5c3
cmp byte [rsi + 0x48], r8b
je 0x18002b5c6
mov rcx, qword [rsi + 0x30]
mov rdx, rdi
movsxd r8, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
xor r8d, r8d
test eax, eax
je 0x18002b5c6
mov r15b, r8b
mov r13d, dword [rbp + 0x1e8]
mov dword [rsi + 8], r12d
mov ecx, dword [rsi + 0x1c]
mov qword [rbp - 0x38], r8
lea ebx, [r13 + 1]
cmp ebx, ecx
jle 0x18002b607
test ecx, ecx
je 0x18002b5ef
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002b5f4
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.180019ab0
xor r8d, r8d
mov dword [rsi + 0x18], ebx
mov ecx, dword [rsi + 0x2c]
test ecx, ecx
jns 0x18002b62e
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x28]
test eax, eax
cmovg edx, eax
call fcn.180019a2c
xor r8d, r8d
mov rbx, qword [rbp + 0x1e0]
lea rax, [rbp - 0x38]
mov dword [rsi + 0x28], r8d
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
mov edx, r13d
mov byte [rsi + 0x48], r8b
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.1800064c0
mov ecx, dword [rbp - 0x38]
xor r8d, r8d
sub ecx, ebx
mov dword [rsi + 0xc], eax
mov dword [rsi + 0x10], ecx
mov edx, eax
test r15b, r15b
je 0x18002b693
cmp dword [rsi + 0x54], eax
mov ecx, eax
cmovl ecx, dword [rsi + 0x54]
cmp dword [rsi + 0x58], eax
mov dword [rsi + 0x54], ecx
cmovl eax, dword [rsi + 0x58]
cmp dword [rsi + 0x5c], edx
mov ecx, dword [rsp + 0x58]
cmovl edx, dword [rsi + 0x5c]
mov dword [rsi + 0x5c], edx
mov dword [rsi + 0x58], eax
jmp 0x18002b6d7
mov ecx, dword [rsp + 0x58]
mov al, cl
xor al, 1
mov qword [rsi + 0x50], r8
mov byte [rsi + 0x6b], al
mov dword [rsi + 0xe72], 0x630000
mov dword [rsi + 0xe78], r8d
mov dword [rsi + 0xe7c], 0x3e7
mov qword [rsi + 0x58], r8
mov word [rsi + 0x69], 1
mov dword [rsi + 0x70], r8d
mov byte [rsi + 0x68], r8b
mov byte [rsi + 0x60], r8b
mov dword [rsi + 0x64], r8d
mov eax, dword [rsp + 0x64]
mov r12b, r8b
test cl, cl
jne 0x18002b726
mov r12d, eax
shr r12d, 4
and r12b, 1
cmp byte [rbp + 0x208], r8b
je 0x18002b708
test r15b, r15b
je 0x18002b705
test byte [r14 + 0x48c4], 4
jne 0x18002b708
mov r12b, 1
mov bl, byte [rbp + 0x1d8]
cmp byte [rbp - 0x10], r8b
jne 0x18002b721
test bl, bl
je 0x18002b72c
cmp byte [r14 + 0xe24], r8b
je 0x18002b72c
mov r12b, 1
jmp 0x18002b72c
mov bl, byte [rbp + 0x1d8]
mov r15, qword [rbp - 0x78]
bt eax, 0xd
jae 0x18002b742
mov byte [rsi + 0x60], 1
jmp 0x18002b742
mov bl, byte [rbp + 0x1d8]
mov r13b, byte [r14 + 0x79]
mov eax, dword [r14 + 0x3f28]
mov ecx, dword [rsp + 0x68]
mov dil, byte [rbp + 0x200]
mov byte [rsp + 0x6d], r13b
cmp eax, ecx
je 0x18002b78d
test dil, dil
je 0x18002b882
mov rdx, r15
call fcn.180008634
mov ecx, dword [rsp + 0x68]
mov rdx, r15
call fcn.180014728
mov rcx, r15
call fcn.18000fef8
mov eax, dword [r14 + 0x3f28]
mov r15d, dword [rsp + 0x68]
xor r8d, r8d
cmp eax, r15d
jne 0x18002b885
test bl, bl
je 0x18002b7bf
mov rax, qword [0x1801a8b88]
mov dword [rax + 0x4580], r15d
mov dword [rax + 0x457c], r15d
mov word [rax + 0x4584], r8w
mov eax, dword [r14 + 0x4738]
mov ecx, dword [rsp + 0x58]
or eax, 3
mov edx, dword [rsp + 0x64]
mov dword [r14 + 0x4738], eax
test cl, cl
jne 0x18002b7e0
test dl, dl
jns 0x18002b7ea
or eax, 0xc
mov dword [r14 + 0x4738], eax
mov rax, qword [0x1801a8b88]
mov dword [rax + 0x3fc8], r15d
mov dword [rax + 0x3fc4], r15d
mov word [rax + 0x3fcc], r8w
mov dword [rax + 0x3fd4], r15d
mov dword [rax + 0x3fd0], r15d
mov word [rax + 0x3fd8], r8w
test cl, cl
je 0x18002b84d
mov dword [rax + 0x3fb0], r15d
mov dword [rax + 0x3fac], r15d
mov word [rax + 0x3fb4], r8w
mov dword [rax + 0x3fbc], r15d
mov dword [rax + 0x3fb8], r15d
mov word [rax + 0x3fc0], r8w
test r13b, r13b
je 0x18002b868
mov dword [rax + 0x45ec], r15d
mov dword [rax + 0x45e8], r15d
mov word [rax + 0x45f0], r8w
test edx, 0x440
je 0x18002b885
mov edx, r15d
mov ecx, 0x200
call fcn.180010c24
xor r8d, r8d
jmp 0x18002b885
mov r15d, ecx
mov eax, dword [r14 + 0x3f28]
cmp eax, r15d
jne 0x18002b8d9
test rsi, rsi
jne 0x18002b8ae
xor edx, edx
xor ecx, ecx
call fcn.180008634
mov eax, dword [r14 + 0x3f28]
cmp eax, r15d
jne 0x18002b8d9
xor r8d, r8d
mov byte [rsp + 0x52], r8b
cmp byte [r14 + 0x3748], r8b
je 0x18002b8ed
mov byte [rsp + 0x52], r8b
cmp byte [rsp + 0x54], r8b
jne 0x18002b8ed
mov byte [rsp + 0x52], r8b
test dil, dil
jne 0x18002b8ed
mov byte [rsp + 0x52], 1
jmp 0x18002b8ed
xor r8d, r8d
test rsi, rsi
je 0x18002b8f1
mov byte [rsp + 0x52], r8b
cmp byte [rsp + 0x53], r8b
je 0x18002b8f1
mov cl, 1
jmp 0x18002b8f9
mov cl, r8b
mov byte [rsp + 0x52], r8b
mov byte [rbp + 0x200], cl
test rsi, rsi
je 0x18002b917
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x18002b911
test r12b, r12b
je 0x18002b917
mov al, 1
test cl, cl
jne 0x18002b91a
mov al, r8b
mov edx, dword [rsp + 0x5c]
mov byte [rbp + 0x1d8], al
mov byte [rsp + 0x50], r8b
mov byte [rsp + 0x54], r8b
test dl, dl
je 0x18002b9fe
test rsi, rsi
je 0x18002b9fe
test cl, cl
jne 0x18002b94b
test al, al
je 0x18002ba06
mov ebx, dword [rbp + 0x1e8]
mov ecx, dword [rsi + 0x1c]
inc ebx
mov qword [rbp - 0x38], r8
cmp ebx, ecx
jle 0x18002b982
test ecx, ecx
je 0x18002b96d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002b972
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.180019ab0
mov rdi, qword [rbp + 0x1e0]
lea rax, [rbp - 0x38]
mov dword [rsi + 0x18], ebx
mov r8, rdi
mov rcx, qword [rsi + 0x20]
xor r9d, r9d
mov edx, ebx
mov qword [rsp + 0x20], rax
call fcn.1800064c0
mov ecx, dword [rbp - 0x38]
mov r8d, eax
sub ecx, edi
mov dword [rsi + 0xc], eax
cmp dword [rsi + 0x54], eax
mov edx, eax
mov dword [rsi + 0x10], ecx
mov ecx, eax
cmovl ecx, dword [rsi + 0x54]
cmp dword [rsi + 0x58], eax
mov dword [rsi + 0x54], ecx
cmovl edx, dword [rsi + 0x58]
cmp dword [rsi + 0x5c], eax
mov dword [rsi + 0x58], edx
cmovl r8d, dword [rsi + 0x5c]
xor eax, eax
mov ecx, eax
mov dword [rsi + 0x5c], r8d
movzx eax, byte [rbp + 0x1d8]
cmp edx, r8d
mov edx, dword [rsp + 0x5c]
cmovne ecx, eax
xor r8d, r8d
mov al, cl
mov byte [rbp + 0x1d8], cl
mov cl, byte [rbp + 0x200]
test cl, cl
jne 0x18002ba0f
test al, al
jne 0x18002ba0f
cmp dword [r14 + 0x3f28], r15d
jne 0x18002ba23
test dl, dl
jne 0x18002ba23
test rsi, rsi
je 0x18002ba23
mov byte [rsp + 0x70], 1
cmp byte [rsi + 0x48], r8b
jne 0x18002ba28
mov byte [rsp + 0x70], r8b
cmp byte [rbp - 0x6c], r8b
je 0x18002bad5
mov rcx, qword [r14 + 0x3c20]
mov edx, 0x2a
call fcn.180020b74
mov ecx, dword [rcx + 0x14]
lea rdi, [r14 + 0x5a80]
mov rbx, qword [0x1801a8b88]
mov r9, rax
mov dword [rdi + 0x14], ecx
mov rcx, qword [r14 + 0x3c20]
mov qword [rbp - 0x38], rdi
mov edx, dword [rcx + 0x64]
mov dword [rdi + 0x64], edx
mov rcx, qword [r14 + 0x3c20]
mov edx, dword [rcx + 0x68]
mov dword [rdi + 0x68], edx
mov rcx, qword [r14 + 0x3c20]
mov edx, dword [rcx + 0x6c]
mov dword [rdi + 0x6c], edx
mov rcx, qword [r14 + 0x3c20]
mov rax, qword [rcx + 0x40]
mov rcx, rdi
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x38], r9
mov eax, dword [r9 + 4]
mov dword [rdi + 0x10], eax
call fcn.180010190
lea rdx, [rbp - 0x38]
lea rcx, [rbx + 0x4830]
call fcn.1800196f8
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x3ec8]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x298]
call fcn.18001b0a0
xor r8d, r8d
movss xmm0, dword [0x1801573dc]
mov dword [rbp - 0x10], r8d
mov dword [rbp - 0x38], 0xa
cmp dword [r14 + 0x3f28], r15d
jne 0x18002bea8
mov eax, dword [rsi + 0x10]
mov ebx, dword [rsp + 0x64]
mov byte [rsi + 0xe86], r8b
mov dword [rsi + 0xe88], ebx
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x1e8]
mov dword [rsi + 0x4c], eax
cmp byte [r14 + 0xe10], r8b
mov dword [r14 + 0x5e0c], 1
sete al
mov byte [r14 + 0x3f35], al
movss xmm2, dword [r14 + 0xe08]
subss xmm2, xmm7
subss xmm2, dword [r14 + 0x3830]
addss xmm2, dword [rsi + 0x50]
cmp byte [rsp + 0x58], r8b
je 0x18002bb6a
mov rax, qword [rbp - 0x68]
movss xmm3, dword [r14 + 0xe0c]
subss xmm3, dword [rax + 0x104]
jmp 0x18002bb77
movss xmm3, dword [r14 + 0x3c28]
mulss xmm3, xmm0
test r12b, r12b
je 0x18002bb99
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
mov byte [rsi + 0xe85], 1
jmp 0x18002bd5e
mov cl, byte [rsp + 0x60]
test cl, cl
je 0x18002bce8
mov eax, 2
cmp word [r14 + 0x3752], ax
jb 0x18002bce8
cmp byte [r14 + 0xe25], r8b
jne 0x18002bce8
lea rdi, [rsi + 0x54]
mov rcx, rsi
mov rdx, rdi
call fcn.180029700
test byte [r14 + 0x3752], 1
movsxd rdx, dword [rdi]
jne 0x18002bc8a
xor r10d, r10d
test edx, edx
je 0x18002bbff
mov rax, qword [rsi + 0x20]
lea r8d, [r10 + 0xa]
mov r9b, r10b
cmp word [rax + rdx*2 - 2], r8w
jne 0x18002bc02
mov r9b, 1
mov ecx, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x5c]
cmp ecx, r8d
jne 0x18002bc15
mov eax, edx
test r9b, r9b
jne 0x18002bc2d
mov edx, 0x20000c
mov rcx, rsi
call fcn.18002aa94
mov edx, dword [rdi]
mov eax, edx
mov ecx, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x5c]
cmp ecx, r8d
jne 0x18002bc46
mov edx, dword [rdi + 8]
cmp dword [rdi + 4], edx
jne 0x18002bc44
mov dword [rdi + 8], eax
mov edx, eax
mov dword [rdi + 4], eax
jmp 0x18002bc46
mov dword [rdi], edx
mov rcx, rsi
call fcn.1800292b0
mov dword [rdi], eax
mov dword [rsi + 0x5c], eax
mov ecx, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov eax, dword [rsi + 0xc]
cmp ecx, edx
je 0x18002bc78
cmp ecx, eax
jle 0x18002bc69
mov dword [rdi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x18002bc72
mov dword [rdi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x18002bc78
mov dword [rdi], ecx
xor r8d, r8d
cmp dword [rdi], eax
jle 0x18002bd54
mov dword [rdi], eax
jmp 0x18002bd54
mov rax, qword [rsi + 0x20]
mov rcx, rsi
movzx ebx, word [rax + rdx*2]
mov edx, 0x200004
call fcn.18002aa94
mov edx, 0x600005
mov rcx, rsi
call fcn.18002aa94
mov edx, 0x600001
mov rcx, rsi
call fcn.18002aa94
mov eax, 0xa
xor r8d, r8d
cmp bx, ax
je 0x18002bcdb
cmp byte [rsp + 0x58], r8b
je 0x18002bcdb
mov ecx, dword [rsi + 0x58]
mov eax, dword [rsi + 0x5c]
mov dword [rsi + 0x58], eax
mov dword [rsi + 0x5c], ecx
mov dword [rdi], ecx
mov ebx, dword [rsp + 0x64]
mov byte [rsi + 0xe84], r8b
jmp 0x18002bd54
mov al, byte [rsi + 0xe85]
cmp byte [r14 + 0x3748], r8b
je 0x18002bd1d
test al, al
jne 0x18002bd1d
test cl, cl
je 0x18002bd5e
lea rdx, [rsi + 0x54]
mov rcx, rsi
cmp byte [r14 + 0xe25], r8b
je 0x18002bd16
call fcn.180029760
jmp 0x18002bd51
call fcn.180029700
jmp 0x18002bd51
cmp byte [r14 + 0xe10], r8b
je 0x18002bd5e
test al, al
jne 0x18002bd5e
ucomiss xmm10, dword [r14 + 0xf8]
jne 0x18002bd3e
ucomiss xmm10, dword [r14 + 0xfc]
je 0x18002bd5e
lea rdx, [rsi + 0x54]
mov rcx, rsi
call fcn.180029760
mov byte [rsi + 0xe84], 1
xor r8d, r8d
mov dword [rsi + 0xe80], 0xbe99999a
cmp byte [rsi + 0xe85], r8b
je 0x18002bd77
cmp byte [r14 + 0xe10], r8b
jne 0x18002bd77
mov byte [rsi + 0xe85], r8b
bt ebx, 0xa
jae 0x18002bdce
xor r8d, r8d
mov edx, r15d
mov ecx, 0x200
call fcn.180012670
mov ecx, dword [rsp + 0x5c]
xor r8d, r8d
lea r12d, [r8 + 2]
test al, al
je 0x18002bdd8
test cl, cl
jne 0x18002bdd8
mov edx, ebx
mov dword [rbp - 0x78], 9
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x20], r12d
call fcn.18002aac0
xor r8d, r8d
test al, al
je 0x18002bdd4
mov edx, dword [rbp - 0x78]
mov rcx, rsi
call fcn.18002aa94
xor r8d, r8d
jmp 0x18002bdd4
mov r12d, 2
mov ecx, dword [rsp + 0x5c]
cmp byte [r14 + 0xe24], r8b
je 0x18002bdea
cmp byte [r14 + 0xe26], r8b
je 0x18002bdf8
test r13b, r13b
je 0x18002bdfc
cmp byte [r14 + 0xe27], r8b
je 0x18002bdfc
mov al, 1
jmp 0x18002bdff
mov al, r8b
lea rbx, [r14 + 0x37c0]
cmp dword [rbx], r8d
jle 0x18002bea8
test al, al
jne 0x18002be82
test cl, cl
jne 0x18002be82
cmp byte [rbp + 0x208], r8b
jne 0x18002be82
mov r13d, dword [rsp + 0x64]
mov r15d, r8d
mov rdi, r8
mov rax, qword [r14 + 0x37c8]
movzx ecx, word [rdi + rax]
mov dword [rbp + 0x208], ecx
cmp ecx, 9
je 0x18002be6a
mov edx, r13d
mov dword [rsp + 0x20], r12d
lea rcx, [rbp + 0x208]
call fcn.18002aac0
xor r8d, r8d
test al, al
je 0x18002be6d
mov edx, dword [rbp + 0x208]
mov rcx, rsi
call fcn.18002aa94
xor r8d, r8d
inc r15d
add rdi, r12
cmp r15d, dword [rbx]
jl 0x18002be2b
mov r13b, byte [rsp + 0x6d]
mov r15d, dword [rsp + 0x68]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x18002bea5
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.180019ab0
xor r8d, r8d
mov dword [rbx], r8d
mov ecx, dword [r14 + 0x3f28]
mov r12b, r8b
mov byte [rbp + 0x208], r8b
mov eax, ecx
cmp ecx, r15d
jne 0x18002c94d
cmp byte [r14 + 0x3f34], r8b
jne 0x18002c94d
cmp byte [rsp + 0x52], r8b
jne 0x18002c94d
movaps xmm0, xmm11
mov ebx, 1
subss xmm0, dword [r14 + 0x3834]
mov ecx, ebx
divss xmm0, dword [r14 + 0x3c28]
cvttss2si eax, xmm0
cmp eax, ebx
cmovge ecx, eax
mov dword [rsi + 0x64], ecx
mov al, byte [r14 + 0xe25]
neg al
mov dword [rbp - 0x78], ecx
sbb r15d, r15d
and r15d, 0x400000
test r13b, r13b
je 0x18002bf54
mov al, byte [r14 + 0xe26]
mov byte [rsp + 0x51], al
cmp byte [r14 + 0xe27], r8b
je 0x18002bf5f
mov byte [rsp + 0x51], al
cmp byte [r14 + 0xe24], r8b
jne 0x18002bf5f
mov byte [rsp + 0x51], al
cmp al, r8b
jne 0x18002bf5f
mov byte [rsp + 0x53], bl
mov byte [rsp + 0x51], al
jmp 0x18002bf64
mov al, byte [r14 + 0xe24]
mov byte [rsp + 0x51], al
mov byte [rsp + 0x53], r8b
mov edi, dword [rsp + 0x68]
mov r8d, ebx
mov edx, edi
mov ecx, 0xa39
call fcn.180012670
xor ecx, ecx
test al, al
jne 0x18002bf92
mov r8d, ebx
mov edx, edi
mov ecx, 0x220a
call fcn.180012670
xor ecx, ecx
test al, al
je 0x18002bfb8
mov r12d, dword [rsp + 0x5c]
mov ebx, dword [rsp + 0x58]
test r12b, r12b
jne 0x18002bfc1
cmp byte [rbp - 0x6c], cl
jne 0x18002bfc1
test bl, bl
je 0x18002bfb1
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x18002bfc1
mov byte [rsp + 0x6c], 1
jmp 0x18002bfc5
mov ebx, dword [rsp + 0x58]
mov r12d, dword [rsp + 0x5c]
mov byte [rsp + 0x6c], cl
xor r8d, r8d
mov edx, edi
mov ecx, 0xa24
call fcn.180012670
test al, al
jne 0x18002bfeb
xor r8d, r8d
mov edx, edi
mov ecx, 0x1209
call fcn.180012670
test al, al
je 0x18002c007
xor eax, eax
cmp byte [rbp - 0x6c], al
jne 0x18002c007
test bl, bl
je 0x18002bffe
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x18002c007
mov byte [rsp + 0x6f], 1
xor ebx, ebx
jmp 0x18002c00d
xor ebx, ebx
mov byte [rsp + 0x6f], bl
mov r8d, 1
mov edx, edi
mov ecx, 0xa37
call fcn.180012670
test al, al
jne 0x18002c039
mov r8d, 1
mov edx, edi
mov ecx, 0x2209
call fcn.180012670
test al, al
je 0x18002c043
mov byte [rsp + 0x60], 1
test r12b, r12b
je 0x18002c047
mov byte [rsp + 0x60], bl
mov r8d, 1
mov edx, edi
mov ecx, 0xa3b
call fcn.180012670
mov ebx, dword [rbp - 0x48]
test al, al
je 0x18002c06e
test r12b, r12b
jne 0x18002c06e
mov byte [rsp + 0x6e], 1
test bl, bl
jne 0x18002c073
mov byte [rsp + 0x6e], 0
mov r8d, 1
mov edx, edi
mov ecx, 0xa3a
call fcn.180012670
xor ecx, ecx
test al, al
jne 0x18002c0a6
test r13b, r13b
je 0x18002c0b2
lea r8d, [rcx + 1]
mov edx, edi
mov ecx, 0x2a3b
call fcn.180012670
xor ecx, ecx
test al, al
je 0x18002c0b2
test r12b, r12b
jne 0x18002c0b2
mov r13b, 1
test bl, bl
jne 0x18002c0b5
mov r13b, cl
xor r8d, r8d
mov edx, edi
mov ecx, 0xa22
call fcn.180012670
mov byte [rbp - 0x70], al
mov eax, 2
test byte [r14 + 8], al
je 0x18002c0df
test byte [r14 + 0xc], 1
je 0x18002c0df
mov bl, 1
xor edi, edi
jmp 0x18002c0e4
xor edi, edi
mov bl, dil
xor edx, edx
mov ecx, 0x20d
lea r8d, [rdx + 1]
call fcn.180010d64
test al, al
jne 0x18002c10f
xor edx, edx
mov ecx, 0x267
lea r8d, [rdx + 1]
call fcn.180010d64
mov r12b, dil
test al, al
je 0x18002c112
mov r12b, 1
test bl, bl
je 0x18002c13f
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180010d64
test al, al
jne 0x18002c13c
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180010d64
test al, al
je 0x18002c13f
mov dil, 1
mov edx, dword [rsp + 0x68]
mov r8d, 1
mov ecx, 0x20e
call fcn.180012670
xor ecx, ecx
test al, al
jne 0x18002c179
test bl, bl
je 0x18002c175
mov edx, dword [rsp + 0x68]
lea r8d, [rcx + 1]
mov ecx, 0x26c
call fcn.180012670
xor ecx, ecx
test al, al
jne 0x18002c179
mov bl, cl
jmp 0x18002c17b
mov bl, 1
xor edx, edx
mov ecx, 0x201
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c1bf
neg byte [rsp + 0x51]
mov eax, 0x200004
sbb edx, edx
and edx, 0xc
add edx, 0x200000
cmp byte [rsp + 0x53], cl
cmovne edx, eax
or edx, r15d
mov rcx, rsi
call fcn.18002aa94
xor r8d, r8d
jmp 0x18002c91a
xor edx, edx
mov ecx, 0x202
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c1eb
neg byte [rsp + 0x51]
mov eax, 0x200005
sbb edx, edx
and edx, 0xc
add edx, 0x200001
jmp 0x18002c1a5
xor edx, edx
mov ecx, 0x203
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c258
cmp byte [rsp + 0x58], cl
je 0x18002c258
cmp byte [r14 + 0xe24], cl
je 0x18002c247
mov r8, qword [rbp - 0x68]
movss xmm0, dword [r8 + 0x88]
subss xmm0, dword [r14 + 0x3c28]
mov dword [r8 + 0xa0], ecx
mov dword [r8 + 0xa8], ecx
maxss xmm0, xmm10
movss dword [r8 + 0x98], xmm0
jmp 0x18002c1b7
movzx eax, byte [rsp + 0x53]
lea edx, [rax*4 + 0x200002]
jmp 0x18002c1ac
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.180010d64
xor r8d, r8d
test al, al
je 0x18002c2d6
cmp byte [rsp + 0x58], r8b
je 0x18002c2d6
cmp byte [r14 + 0xe24], r8b
je 0x18002c2c5
mov rdx, qword [rbp - 0x68]
mov rax, qword [0x1801a8b88]
movss xmm0, dword [rdx + 0x88]
addss xmm0, dword [r14 + 0x3c28]
mov rcx, qword [rax + 0x3ec8]
minss xmm0, dword [rcx + 0x90]
mov dword [rdx + 0xa0], r8d
mov dword [rdx + 0xa8], r8d
movss dword [rdx + 0x98], xmm0
jmp 0x18002c91a
movzx eax, byte [rsp + 0x53]
lea edx, [rax*4 + 0x200003]
jmp 0x18002c1ac
xor edx, edx
mov ecx, 0x205
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c31e
cmp byte [rsp + 0x58], cl
je 0x18002c31e
or r15d, 0x20000e
mov rcx, rsi
mov edx, r15d
call fcn.18002aa94
movd xmm0, dword [rbp - 0x78]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x3c28]
subss xmm6, xmm0
jmp 0x18002c1b7
xor edx, edx
mov ecx, 0x206
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c366
cmp byte [rsp + 0x58], cl
je 0x18002c366
or r15d, 0x20000f
mov rcx, rsi
mov edx, r15d
call fcn.18002aa94
movd xmm0, dword [rbp - 0x78]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x3c28]
addss xmm6, xmm0
jmp 0x18002c1b7
xor edx, edx
mov ecx, 0x207
lea r8d, [rdx + 1]
call fcn.180010d64
test al, al
je 0x18002c394
mov al, byte [r14 + 0xe24]
neg al
mov eax, 0x200004
sbb edx, edx
and edx, 2
add edx, eax
jmp 0x18002c1ac
xor edx, edx
mov ecx, 0x208
lea r8d, [rdx + 1]
call fcn.180010d64
test al, al
je 0x18002c3b8
mov al, byte [r14 + 0xe24]
neg al
mov eax, 0x200005
jmp 0x18002c388
xor edx, edx
mov ecx, 0x20a
lea r8d, [rdx + 1]
call fcn.180010d64
xor ecx, ecx
test al, al
je 0x18002c404
cmp byte [rsp + 0x5c], cl
jne 0x18002c404
cmp byte [rsp + 0x6c], cl
jne 0x18002c404
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x18002c3f5
cmp byte [rsp + 0x51], cl
je 0x18002c3f5
mov edx, 0x60000d
mov rcx, rsi
call fcn.18002aa94
or r15d, 0x200008
mov edx, r15d
jmp 0x18002c1af
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.180010d64
mov r8d, dword [rsp + 0x5c]
xor r9d, r9d
test al, al
je 0x18002c473
test r8b, r8b
jne 0x18002c473
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x18002c46a
cmp byte [rsp + 0x51], r9b
je 0x18002c43b
mov edx, 0x60000c
jmp 0x18002c462
cmp byte [rsp + 0x6d], r9b
je 0x18002c46a
cmp byte [r14 + 0xe27], r9b
je 0x18002c46a
cmp byte [r14 + 0xe26], r9b
jne 0x18002c46a
cmp byte [r14 + 0xe24], r9b
jne 0x18002c46a
mov edx, 0x600004
mov rcx, rsi
call fcn.18002aa94
or r15d, 0x200009
jmp 0x18002c3fc
test r12b, r12b
jne 0x18002c88f
test dil, dil
jne 0x18002c88f
xor r8d, r8d
test bl, bl
je 0x18002c4e0
test dword [rsp + 0x64], 0x100000
je 0x18002c4c0
mov eax, dword [rsi + 0x10]
test eax, eax
jg 0x18002c4b0
mov byte [rbp + 0x1d8], r8b
mov byte [rbp + 0x200], r8b
mov byte [rsp + 0x52], 1
setg r12b
mov byte [rbp + 0x208], r12b
jmp 0x18002c921
mov r12b, 1
mov dl, r8b
mov byte [rbp + 0x208], r12b
mov cl, r8b
mov byte [rsp + 0x52], r12b
mov byte [rbp + 0x200], dl
jmp 0x18002c92d
movzx eax, byte [rsp + 0x6e]
test al, al
jne 0x18002c86e
test r13b, r13b
jne 0x18002c86e
cmp byte [rbp - 0x70], r8b
je 0x18002c519
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
mov byte [rsi + 0xe84], 1
jmp 0x18002c91a
mov r13b, byte [rsp + 0x6c]
test r13b, r13b
jne 0x18002c725
cmp byte [rsp + 0x6f], r8b
jne 0x18002c725
cmp byte [rsp + 0x60], r8b
je 0x18002c91a
mov rax, qword [0x1801a8b88]
mov rdx, qword [rax + 0xb0]
test rdx, rdx
je 0x18002c571
mov rcx, qword [rax + 0xc0]
call rdx
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x18002c91a
mov rax, qword [0x1801a8b88]
jmp 0x18002c578
lea rbx, [0x1800eeb18]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rbx + rcx], r8b
jne 0x18002c57c
test rax, rax
je 0x18002c590
inc dword [rax + 0xf4]
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r13d, r13d
mov qword [rbp - 0x48], rax
mov r12, rax
mov r15d, r13d
cmp byte [rbx], r13b
je 0x18002c604
mov r14d, dword [rsp + 0x64]
lea r12d, [r13 + 2]
mov rdi, rax
xor r8d, r8d
lea rcx, [rbp - 0x78]
mov rdx, rbx
call fcn.180006320
movsxd rcx, eax
mov edx, r14d
add rbx, rcx
mov dword [rsp + 0x20], 4
lea rcx, [rbp - 0x78]
call fcn.18002aac0
test al, al
je 0x18002c5f7
movzx eax, word [rbp - 0x78]
inc r15d
mov word [rdi], ax
add rdi, r12
cmp byte [rbx], r13b
jne 0x18002c5bd
mov r14, qword [rbp + 8]
mov r12, qword [rbp - 0x48]
movsxd rax, r15d
mov word [r12 + rax*2], r13w
test r15d, r15d
jle 0x18002c700
mov ecx, dword [rsi + 0xc]
lea rbx, [rsi + 0x54]
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x18002c64d
mov edx, eax
cmp eax, ecx
jle 0x18002c633
mov dword [rbx + 4], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x18002c641
mov dword [rbx + 8], ecx
mov r9d, ecx
mov eax, edx
mov r8d, r9d
cmp edx, r9d
jne 0x18002c64d
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, ecx
jle 0x18002c657
mov dword [rbx], ecx
mov edx, ecx
mov ecx, dword [rsi + 0xc]
cmp eax, r8d
je 0x18002c68b
mov r9d, eax
cmp eax, ecx
jle 0x18002c66c
mov dword [rbx + 4], ecx
mov r9d, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x18002c67a
mov dword [rbx + 8], ecx
mov r10d, ecx
mov eax, r9d
mov r8d, r10d
cmp r9d, r10d
jne 0x18002c68b
mov dword [rbx], r9d
mov edx, r9d
cmp edx, ecx
jle 0x18002c693
mov dword [rbx], ecx
mov edx, ecx
cmp eax, r8d
je 0x18002c6cf
mov rdx, rbx
mov rcx, rsi
jge 0x18002c6b6
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.180029934
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x18002c6c7
sub eax, r8d
mov r9d, eax
call fcn.180029934
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
mov edx, eax
mov byte [rbx + 0x16], r13b
mov r9d, r15d
mov r8, r12
mov rcx, rsi
call fcn.180029470
test al, al
je 0x18002c6f9
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, r15d
xor r8d, r8d
call fcn.18002a44c
add dword [rbx], r15d
mov byte [rbx + 0x16], r13b
mov byte [rsi + 0xe84], 1
test r12, r12
je 0x18002c717
mov rax, qword [0x1801a8b88]
test rax, rax
je 0x18002c717
dec dword [rax + 0xf4]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002c1b7
cmp qword [r14 + 0xb8], r8
je 0x18002c7c5
mov eax, dword [rsi + 0x58]
mov ecx, dword [rsi + 0x5c]
cmp eax, ecx
je 0x18002c746
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x18002c74c
mov edx, dword [rsi + 0xc]
mov ecx, r8d
mov rax, qword [rsi + 0x20]
movsxd r12, ecx
movsxd r15, edx
lea rcx, [rax + r12*2]
lea rdx, [rax + r15*2]
call fcn.180006720
lea edi, [rax + 1]
mov rax, qword [0x1801a8b88]
test rax, rax
je 0x18002c778
inc dword [rax + 0xf4]
movsxd rcx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [rsi + 0x20]
mov edx, edi
mov rbx, rax
lea r9, [rcx + r15*2]
lea r8, [rcx + r12*2]
mov rcx, rax
call fcn.180006680
mov rcx, rbx
call fcn.180008b6c
test rbx, rbx
je 0x18002c7b9
mov rcx, qword [0x1801a8b88]
test rcx, rcx
je 0x18002c7b9
dec dword [rcx + 0xf4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r8d, r8d
test r13b, r13b
je 0x18002c91a
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x18002c7e7
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
lea rbx, [rsi + 0x54]
mov byte [rsi + 0xe84], 1
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x18002c1b7
mov ecx, dword [rsi + 0xc]
cmp eax, ecx
jle 0x18002c80e
mov dword [rbx + 4], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x18002c819
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x18002c824
mov dword [rbx], eax
mov edx, eax
jmp 0x18002c826
mov edx, dword [rbx]
cmp edx, ecx
jle 0x18002c82c
mov dword [rbx], ecx
cmp eax, r8d
je 0x18002c862
mov rdx, rbx
mov rcx, rsi
jge 0x18002c84f
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.180029934
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x18002c860
sub eax, r8d
mov r9d, eax
call fcn.180029934
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
xor r8d, r8d
mov byte [rbx + 0x16], r8b
jmp 0x18002c91a
mov edx, eax
mov rcx, rsi
xor edx, 1
add edx, 0x20000a
call fcn.18002aa94
mov eax, dword [rsi + 0x54]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x58], eax
jmp 0x18002c1b7
mov edx, dword [rsp + 0x64]
mov eax, edx
mov ecx, dword [rsp + 0x58]
shr eax, 0xb
and al, 1
test cl, cl
je 0x18002c8ba
test dil, dil
jne 0x18002c8ba
mov cl, byte [r14 + 0xe24]
test al, al
je 0x18002c8df
test cl, cl
jne 0x18002c8e3
mov ecx, dword [rsp + 0x58]
xor r8d, r8d
mov byte [rsp + 0x54], 1
cmp byte [r14 + 0x7c], r8b
je 0x18002c915
test cl, cl
jne 0x18002c915
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
jmp 0x18002c91a
test cl, cl
jne 0x18002c8b6
test r8b, r8b
jne 0x18002c1b7
mov eax, 0xa
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x78], eax
mov eax, 2
mov dword [rsp + 0x20], eax
call fcn.18002aac0
xor r8d, r8d
test al, al
je 0x18002c91a
mov edx, dword [rbp - 0x78]
jmp 0x18002c1af
mov byte [rsp + 0x52], 1
mov r12b, byte [rbp + 0x208]
mov cl, byte [rbp + 0x1d8]
mov dl, byte [rbp + 0x200]
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x18002c93b
mov al, 1
test dl, dl
jne 0x18002c93e
mov al, r8b
or cl, al
mov eax, dword [r14 + 0x3f28]
mov byte [rbp + 0x1d8], cl
mov r13, r8
mov qword [rbp - 0x48], r8
mov r15d, r8d
cmp eax, dword [rsp + 0x68]
jne 0x18002cb32
test r12b, r12b
je 0x18002caab
cmp byte [rsp + 0x5c], r8b
jne 0x18002cb1c
test dword [rsp + 0x64], 0x100000
je 0x18002c9bc
mov r9d, dword [rsi + 0xc]
lea rdx, [rsi + 0x54]
mov dword [rsp + 0x20], r8d
lea r13, [0x1800eeb18]
xor r8d, r8d
mov rcx, rsi
call fcn.18002a9a4
mov r8d, dword [rsi + 0xc]
xor edx, edx
mov rcx, rsi
call fcn.1800293e4
xor r8d, r8d
mov qword [rsi + 0x58], r8
mov dword [rsi + 0x54], r8d
jmp 0x18002cab6
mov rax, qword [rbp + 0x1e0]
mov r8, qword [rsi + 0x40]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002c9dd
inc rax
test ecx, ecx
jne 0x18002c9ca
xor r8d, r8d
test edx, edx
je 0x18002cab6
mov r15d, dword [rsi + 0x38]
mov ebx, r8d
mov r13, qword [rsi + 0x40]
dec r15d
mov byte [rsp + 0x50], 1
mov edi, r8d
test r15d, r15d
jle 0x18002ca6d
movsxd r12, r15d
mov rcx, r13
add r12, r13
mov rdx, r12
call fcn.180006560
xor edx, edx
lea ebx, [rax + 1]
test ebx, ebx
jle 0x18002ca4e
lea ecx, [rdi + 8]
mov eax, ebx
cmp ebx, ecx
cmovl eax, ecx
test eax, eax
jle 0x18002ca4e
mov rcx, qword [0x1801a8b88]
test rcx, rcx
je 0x18002ca3d
inc dword [rcx + 0xf4]
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
xor edx, edx
mov qword [rsp + 0x20], rdx
mov r9, r12
mov edx, ebx
mov r8, r13
mov rcx, rdi
call fcn.1800064c0
mov r12b, byte [rbp + 0x208]
xor r8d, r8d
mov r9d, r8d
lea ecx, [rbx - 1]
test r15d, r15d
lea rdx, [rsi + 0x54]
mov r8, rdi
cmovg r9d, ecx
mov rcx, rsi
call fcn.18002aa10
test rdi, rdi
je 0x18002cab6
mov rax, qword [0x1801a8b88]
test rax, rax
je 0x18002caa0
dec dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002cab6
cmp byte [rsp + 0x5c], r8b
jne 0x18002cc62
mov al, byte [rsp + 0x50]
mov byte [rsp + 0x50], al
mov eax, dword [rsi + 0x18]
mov byte [rsi + 0x48], 1
mov ecx, dword [rsi + 0x2c]
mov qword [rbp - 0x48], r13
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18002cafb
test ecx, ecx
je 0x18002cae6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002caeb
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x28]
mov edx, ebx
cmovg edx, eax
call fcn.180019a2c
mov dword [rsi + 0x28], ebx
xor r9d, r9d
mov r8, qword [rsi + 0x20]
mov edx, ebx
mov rcx, qword [rsi + 0x30]
call fcn.180006680
xor r8d, r8d
test r12b, r12b
je 0x18002cc62
cmp byte [rsp + 0x54], r8b
je 0x18002cb32
mov r12d, dword [rsp + 0x64]
test r12b, 0x20
jne 0x18002cc67
mov ebx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0x1e0]
mov r11b, byte [rsp + 0x50]
mov r12d, dword [rsp + 0x68]
cmp dword [r14 + 0x5a68], r12d
jne 0x18002cbcf
cmp dword [r14 + 0x3f28], r12d
je 0x18002cbc8
mov r9, qword [0x1801a8b88]
call fcn.18000b628
xor r8d, r8d
test al, al
je 0x18002cbc8
cmp byte [r9 + 0x3f5d], r8b
jne 0x18002cb87
cmp dword [r9 + 0x3f28], r8d
jne 0x18002cbc8
cmp byte [r9 + 0x3f38], r8b
je 0x18002cbc8
test bl, bl
jne 0x18002cbc8
mov r13, qword [r14 + 0x5a78]
mov r8, r10
mov r15d, dword [r14 + 0x5a70]
mov rax, r13
dec r15d
sub r8, r13
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002cbb8
inc rax
test ecx, ecx
jne 0x18002cba5
xor r8d, r8d
test edx, edx
setne al
or r11b, al
mov byte [rsp + 0x50], r11b
mov dword [r14 + 0x5a68], r8d
test r13, r13
je 0x18002cf44
cmp byte [rbp - 0x40], r8b
je 0x18002cf09
mov eax, dword [rsp + 0x64]
lea rcx, [rbp + 0x60]
mov dword [rbp + 0x6c], eax
xorps xmm0, xmm0
lea eax, [r15 + 1]
mov qword [rbp + 0x78], r8
cmp dword [rbp + 0x1e8], eax
movdqa xmmword [rbp + 0x90], xmm0
cmovge eax, dword [rbp + 0x1e8]
mov dword [rbp + 0x8c], eax
mov qword [rbp + 0x60], r14
mov dword [rbp + 0x68], 0x40000
mov qword [rbp + 0x80], r10
mov dword [rbp + 0x88], r15d
mov qword [rbp + 0x70], r8
call r8
mov ecx, dword [rbp + 0x8c]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x1e0], rax
lea r15d, [rcx - 1]
cmp dword [rbp + 0x88], r15d
cmovl r15d, dword [rbp + 0x88]
xor r8d, r8d
jmp 0x18002cf0f
mov r12d, dword [rsp + 0x64]
test r12d, 0x801c0
je 0x18002ceb9
mov ebx, 0x40
mov edi, r8d
test bl, r12b
je 0x18002cca0
mov edx, dword [rsp + 0x68]
xor r8d, r8d
mov ecx, 0x200
call fcn.180012670
xor r8d, r8d
test al, al
je 0x18002cca0
mov edi, 0x200
jmp 0x18002cd07
mov ebx, 0x80
test bl, r12b
je 0x18002cce6
xor edx, edx
lea r8d, [rbx - 0x7f]
mov ecx, 0x203
call fcn.180010d64
xor r8d, r8d
test al, al
je 0x18002ccc8
mov edi, 0x203
jmp 0x18002cd07
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.180010d64
xor r8d, r8d
test al, al
je 0x18002cce6
mov edi, 0x204
jmp 0x18002cd07
mov ebx, 0x80000
test ebx, r12d
je 0x18002ccf9
cmp byte [rsi + 0xe86], r8b
jne 0x18002cd07
mov ebx, 0x100
test ebx, r12d
je 0x18002ceb9
mov rax, qword [rbp + 0x1e0]
mov dword [rbp + 0x38], r8d
mov word [rbp + 0x51], r8w
mov byte [rbp + 0x53], r8b
mov qword [rbp + 0x20], r14
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x2c], r12d
mov qword [rbp + 0x30], r8
cmp byte [rsp + 0x5c], r8b
jne 0x18002cd35
mov rax, qword [rsi + 0x30]
mov r11, qword [rsi + 0x20]
mov qword [rbp + 0x40], rax
mov rcx, r11
mov eax, dword [rsi + 0x10]
mov dword [rbp + 0x48], eax
mov eax, dword [rsi + 0x4c]
mov dword [rbp + 0x4c], eax
movsxd rax, dword [rsi + 0x54]
mov dword [rbp + 0x3c], edi
mov byte [rbp + 0x50], r8b
lea rdx, [r11 + rax*2]
call fcn.180006720
movsxd rdx, dword [rsi + 0x58]
mov rcx, r11
mov ebx, eax
mov dword [rbp + 0x54], eax
lea rdx, [r11 + rdx*2]
call fcn.180006720
movsxd rdx, dword [rsi + 0x5c]
mov rcx, r11
mov dword [rbp + 0x208], eax
mov dword [rbp + 0x58], eax
lea rdx, [r11 + rdx*2]
call fcn.180006720
mov dword [rbp - 0x78], eax
lea rcx, [rbp + 0x20]
mov dword [rbp + 0x5c], eax
xor eax, eax
call rax
movsxd r13, dword [rbp + 0x54]
mov rdi, qword [rbp + 0x40]
mov r12b, byte [rbp + 0x50]
cmp r13d, ebx
jne 0x18002cdb5
xor r8d, r8d
test r12b, r12b
je 0x18002cdce
lea rdx, [rdi + r13]
mov rcx, rdi
call fcn.180006560
mov dword [rsi + 0x54], eax
xor r8d, r8d
mov byte [rsi + 0xe84], 1
movsxd rbx, dword [rbp + 0x58]
cmp ebx, dword [rbp + 0x208]
jne 0x18002cddf
test r12b, r12b
je 0x18002cdfb
cmp ebx, r13d
jne 0x18002cde9
mov eax, dword [rsi + 0x54]
jmp 0x18002cdf5
lea rdx, [rdi + rbx]
mov rcx, rdi
call fcn.180006560
mov dword [rsi + 0x58], eax
xor r8d, r8d
movsxd rax, dword [rbp + 0x5c]
cmp eax, dword [rbp - 0x78]
jne 0x18002ce0d
test r12b, r12b
je 0x18002ceb5
cmp eax, ebx
jne 0x18002ce16
mov eax, dword [rsi + 0x58]
jmp 0x18002ce25
lea rdx, [rdi + rax]
mov rcx, rdi
call fcn.180006560
xor r8d, r8d
mov dword [rsi + 0x5c], eax
test r12b, r12b
je 0x18002ceb5
mov r8d, dword [rbp + 0x48]
mov rdx, rdi
mov rcx, rsi
call fcn.18002ac98
mov eax, dword [rbp - 0x10]
mov ebx, dword [rbp + 0x48]
cmp ebx, eax
jle 0x18002ce85
xor edx, edx
cmp byte [rbp - 0x40], dl
je 0x18002ce85
lea rdi, [rsi + 0x18]
sub ebx, eax
add ebx, dword [rdi]
mov ecx, dword [rdi + 4]
cmp ebx, ecx
jle 0x18002ce83
test ecx, ecx
je 0x18002ce6f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002ce74
mov eax, 8
cmp eax, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, eax
call fcn.180019ab0
mov dword [rdi], ebx
mov r8, qword [rbp + 0x40]
xor eax, eax
mov edx, dword [rsi + 0x18]
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800064c0
mov dword [rsi + 0xc], eax
xor r8d, r8d
mov eax, dword [rbp + 0x48]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0xe80], 0xbe99999a
mov r13, qword [rbp - 0x48]
mov ebx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0x1e0]
test bl, bl
jne 0x18002cb3d
mov rax, qword [rsi + 0x30]
mov r8, r10
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002cee9
inc rax
test ecx, ecx
jne 0x18002ced6
xor r8d, r8d
test edx, edx
je 0x18002cb3d
mov r13, qword [rsi + 0x30]
mov r11b, 1
mov r15d, dword [rsi + 0x10]
mov byte [rsp + 0x50], r11b
jmp 0x18002cb42
mov ecx, dword [rbp + 0x1e8]
lea eax, [r15 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x18002cf44
mov r15, qword [rbp + 0x1e0]
jbe 0x18002cf3d
lea r8, [rbx - 1]
mov rdx, r13
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
xor r8d, r8d
mov byte [rbx + r15 - 1], r8b
jmp 0x18002cf4b
mov r15, qword [rbp + 0x1e0]
cmp byte [rsp + 0x52], r8b
je 0x18002cf67
cmp dword [r14 + 0x3f28], r12d
jne 0x18002cf67
xor edx, edx
xor ecx, ecx
call fcn.180008634
xor r8d, r8d
mov r11d, dword [rsp + 0x58]
test r11b, r11b
jne 0x18002cfe3
mov r8d, 1
lea rcx, [rsp + 0x78]
mov edx, r12d
call fcn.180007704
mov rax, qword [0x1801a8b88]
lea rcx, [rbp + 8]
movdqu xmm0, xmmword [rax + 0x3940]
movups xmmword [rbp + 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x14], xmm0
call fcn.180006814
movss xmm0, dword [r14 + 0x3838]
mov r8d, eax
mov rdx, qword [rbp - 0x80]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.180007438
mov r11d, dword [rsp + 0x58]
xor r8d, r8d
mov rbx, qword [rbp - 0x68]
movaps xmm0, xmm8
movss dword [rbp - 0x28], xmm7
movaps xmm12, xmm9
movss dword [rbp - 0x24], xmm9
addss xmm0, xmm7
addss xmm12, xmm11
lea rax, [rbp + 0x208]
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm12
test r11b, r11b
je 0x18002d02c
movsd xmm0, qword [rbx + 0x100]
movsd qword [rbp + 0x208], xmm0
jmp 0x18002d052
addss xmm7, dword [r14 + 0x3830]
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x3834]
movss dword [rbp + 0x208], xmm7
movss dword [rbp + 0x20c], xmm0
movaps xmm15, xmm10
movsd xmm0, qword [rax]
movsd qword [rbp - 0x58], xmm0
movss dword [rbp + 0x208], xmm10
cmp byte [rsp + 0x70], r8b
je 0x18002d07a
mov r15, qword [rsi + 0x30]
mov qword [rbp + 0x1e0], r15
mov r10b, byte [rbp + 0x200]
mov dl, byte [rbp + 0x1d8]
test r10b, r10b
jne 0x18002d1a7
test dl, dl
jne 0x18002d1a7
test r11b, r11b
je 0x18002d0f0
mov dl, byte [r15]
lea rdi, [r15 + 1]
mov ecx, r8d
test dl, dl
je 0x18002d0c5
mov r9d, 0xa
cmp dl, r9b
lea eax, [rcx + 1]
mov dl, byte [rdi]
cmovne eax, ecx
inc rdi
mov ecx, eax
test dl, dl
jne 0x18002d0b1
dec rdi
mov eax, 0xa
cmp byte [rdi], al
je 0x18002d0d8
cmp byte [rdi], 0xd
je 0x18002d0d8
inc ecx
movd xmm15, ecx
movaps xmm6, xmm8
cvtdq2ps xmm15, xmm15
mulss xmm15, dword [r14 + 0x3c28]
jmp 0x18002d129
cmp dword [r14 + 0x3f28], r12d
jne 0x18002d0ff
movsxd rdi, dword [rsi + 0x10]
jmp 0x18002d10c
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [r15 + rdi], r8b
jne 0x18002d103
movss xmm6, dword [rbp + 0x208]
add rdi, r15
mov rax, rdi
sub rax, r15
cmp rax, 0x200000
jge 0x18002da19
mov rax, qword [0x1801a8b88]
lea r8, [rbp - 0x28]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
xor eax, eax
test r11b, r11b
cmovne r8, rax
movss dword [rbp - 0x7c], xmm0
call fcn.180006814
movss xmm2, dword [r14 + 0x3c28]
lea r9, [rbp - 0x58]
mov rdx, qword [r14 + 0x3c20]
mov rcx, qword [rbx + 0x298]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.18001ecbc
xor r8d, r8d
jmp 0x18002da19
movsxd r13, dword [rsi + 0x10]
xor eax, eax
mov r12, qword [rsi + 0x20]
mov r9, r8
movaps xmm7, xmm10
movaps xmm14, xmm10
mov ecx, eax
lea rdi, [r15 + r13]
mov r15, r8
mov qword [rbp - 0x10], rdi
mov r8d, 0xfffffc18
mov ebx, r8d
test r10b, r10b
je 0x18002d1e7
movsxd rax, dword [rsi + 0x54]
or r8d, 0xffffffff
lea r9, [r12 + rax*2]
lea ecx, [r8 + 2]
test dl, dl
je 0x18002d200
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
cmovl eax, dword [rsi + 0x58]
or ebx, 0xffffffff
cdqe
inc ecx
lea r15, [r12 + rax*2]
movzx edx, word [r12]
movzx eax, r11b
xor r11d, r11d
add ecx, eax
mov r10d, r11d
mov rax, r12
test dx, dx
je 0x18002d25c
lea edi, [r11 + 2]
cmp dx, word [rbp - 0x38]
jne 0x18002d24d
inc r10d
cmp r8d, 0xffffffff
jne 0x18002d23a
cmp rax, r9
jb 0x18002d23a
dec ecx
mov r8d, r10d
test ecx, ecx
jle 0x18002d258
cmp ebx, 0xffffffff
jne 0x18002d24d
cmp rax, r15
jb 0x18002d24d
dec ecx
mov ebx, r10d
test ecx, ecx
jle 0x18002d258
add rax, rdi
movzx edx, word [rax]
test dx, dx
jne 0x18002d21d
mov rdi, qword [rbp - 0x10]
inc r10d
mov rdx, r9
cmp r8d, 0xffffffff
mov r11d, r10d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r10d
cmp r9, r12
jbe 0x18002d28f
mov ecx, 0xa
lea rax, [rdx - 2]
cmp word [rax], cx
je 0x18002d28f
mov rdx, rax
cmp rax, r12
ja 0x18002d27e
mov r8, qword [r14 + 0x3c20]
movaps xmm2, xmm10
movss xmm4, dword [r14 + 0x3c28]
movaps xmm11, xmm10
movaps xmm3, xmm4
divss xmm3, dword [r8 + 0x14]
cmp rdx, r9
jae 0x18002d306
mov eax, 0xa
movzx ecx, word [rdx]
add rdx, 2
cmp cx, ax
jne 0x18002d2d5
maxss xmm11, xmm2
movaps xmm2, xmm11
movaps xmm11, xmm10
jmp 0x18002d301
cmp ecx, 0xd
je 0x18002d301
cmp ecx, dword [r8]
jge 0x18002d2ea
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18002d2f0
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mov eax, 0xa
mulss xmm0, xmm1
addss xmm11, xmm0
cmp rdx, r9
jb 0x18002d2ba
movd xmm13, r11d
maxss xmm11, xmm2
cvtdq2ps xmm13, xmm13
movss dword [rbp - 0x38], xmm11
mulss xmm13, xmm4
movss dword [rbp - 0x40], xmm13
test ebx, ebx
js 0x18002d3ba
mov rdx, r15
mov r9d, 0xa
cmp r15, r12
jbe 0x18002d34d
lea rax, [rdx - 2]
cmp word [rax], r9w
je 0x18002d34d
mov rdx, rax
cmp rax, r12
ja 0x18002d33b
movaps xmm2, xmm10
movaps xmm7, xmm10
cmp rdx, r15
jae 0x18002d3a8
mov eax, 2
movzx ecx, word [rdx]
add rdx, rax
cmp cx, r9w
jne 0x18002d378
maxss xmm7, xmm2
movaps xmm2, xmm7
movaps xmm7, xmm10
jmp 0x18002d3a3
cmp ecx, 0xd
je 0x18002d3a3
cmp ecx, dword [r8]
jge 0x18002d38d
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18002d393
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mov eax, 2
mulss xmm0, xmm1
addss xmm7, xmm0
cmp rdx, r15
jb 0x18002d35f
movd xmm14, ebx
maxss xmm7, xmm2
cvtdq2ps xmm14, xmm14
mulss xmm14, xmm4
mov r11d, dword [rsp + 0x58]
xor r8d, r8d
test r11b, r11b
je 0x18002d3de
movd xmm15, r10d
cvtdq2ps xmm15, xmm15
movss dword [rbp + 0x208], xmm8
mulss xmm15, xmm4
mov r15b, byte [rbp + 0x200]
test r15b, r15b
je 0x18002d508
cmp byte [rsi + 0xe84], r8b
je 0x18002d508
test dword [rsp + 0x64], 0x1000
jne 0x18002d455
comiss xmm11, dword [rsi + 0x50]
movaps xmm1, xmm8
movaps xmm0, xmm11
mulss xmm1, dword [0x1801573a0]
subss xmm8, dword [r14 + 0x3830]
jae 0x18002d434
subss xmm0, xmm1
maxss xmm0, xmm10
cvttss2si eax, xmm0
jmp 0x18002d447
subss xmm0, xmm8
comiss xmm0, dword [rsi + 0x50]
jb 0x18002d459
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x50], xmm0
jmp 0x18002d459
mov dword [rsi + 0x50], r8d
test r11b, r11b
je 0x18002d4fb
movss xmm2, dword [r14 + 0x3834]
movaps xmm0, xmm13
subss xmm0, dword [r14 + 0x3c28]
movss xmm4, dword [rbp - 8]
comiss xmm0, xmm6
jae 0x18002d48c
movaps xmm6, xmm0
maxss xmm6, xmm10
jmp 0x18002d4b3
movaps xmm3, xmm2
movaps xmm1, xmm4
addss xmm3, xmm2
movaps xmm0, xmm13
subss xmm1, xmm3
subss xmm0, xmm1
comiss xmm0, xmm6
jb 0x18002d4b3
movaps xmm6, xmm13
subss xmm6, xmm4
addss xmm6, xmm3
comiss xmm6, xmm10
jae 0x18002d4bf
movaps xmm2, xmm10
jmp 0x18002d4d5
addss xmm2, xmm2
addss xmm2, xmm15
subss xmm2, xmm4
maxss xmm2, xmm10
minss xmm2, xmm6
movss xmm1, dword [rbp - 0x54]
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x88]
subss xmm0, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x54], xmm1
movss dword [rax + 0x88], xmm2
mov byte [rsi + 0xe84], r8b
movss xmm12, dword [rbp - 0x1c]
movss xmm9, dword [rsi + 0x50]
movss xmm8, dword [0x18015743c]
cmp byte [rbp + 0x1d8], r8b
je 0x18002d791
mov edx, dword [rsi + 0x5c]
mov eax, edx
mov ecx, dword [rsi + 0x58]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea r8, [r12 + rax*2]
movsxd rax, edx
lea rbx, [r12 + rax*2]
xor r12d, r12d
test r15b, r15b
je 0x18002d54f
movaps xmm1, xmm8
jmp 0x18002d557
movss xmm1, dword [0x1801573e4]
mov rax, qword [0x1801a8b88]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x3bc0]
mulss xmm1, dword [rax + 0x37f4]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x7c], xmm0
call fcn.180006814
mov r15d, eax
test r11b, r11b
je 0x18002d59c
xorps xmm0, xmm0
movss dword [rbp], xmm0
jmp 0x18002d5a5
movss xmm10, dword [0x180157490]
movss xmm6, dword [rbp - 0x54]
mov qword [rbp + 0x1d8], r8
addss xmm6, xmm14
addss xmm7, dword [rbp - 0x58]
subss xmm7, xmm9
cmp r8, rbx
jae 0x18002d783
movss xmm1, dword [r14 + 0x3c28]
xorps xmm8, xmm8
movss xmm14, dword [rbp - 0x24]
movss xmm11, dword [0x1801573dc]
movss xmm13, dword [rbp]
mov rdi, qword [rbp - 0x68]
movaps xmm0, xmm12
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x18002d765
comiss xmm6, xmm14
jae 0x18002d638
cmp r8, rbx
jae 0x18002d745
mov ecx, 0xa
lea edx, [rcx - 8]
movzx eax, word [r8]
add r8, rdx
mov qword [rbp + 0x1d8], r8
cmp ax, cx
je 0x18002d745
cmp r8, rbx
jb 0x18002d617
jmp 0x18002d745
lea rax, [rbp + 0x1d8]
mov byte [rsp + 0x30], 1
mov r9, rbx
mov qword [rsp + 0x20], rax
mov rdx, r14
lea rcx, [rbp]
call fcn.180029034
movss xmm5, dword [rbp]
comiss xmm5, xmm8
ja 0x18002d697
mov rax, qword [r14 + 0x3c20]
cmp dword [rax], 0x20
jle 0x18002d67d
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18002d682
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [rbp], xmm5
movss xmm14, dword [rbp - 0x24]
movaps xmm3, xmm7
movss xmm12, dword [rbp - 0x1c]
addss xmm3, xmm5
movss xmm4, dword [rbp - 0x28]
movaps xmm2, xmm13
subss xmm2, dword [r14 + 0x3c28]
movss xmm5, dword [rbp - 0x20]
maxss xmm7, xmm4
movaps xmm1, xmm10
movaps xmm0, xmm12
addss xmm1, xmm6
minss xmm3, xmm5
addss xmm2, xmm6
movss dword [rsp + 0x78], xmm7
minss xmm0, xmm1
movss dword [rbp - 0x80], xmm3
maxss xmm2, xmm14
comiss xmm14, xmm0
movss dword [rsp + 0x7c], xmm2
movss dword [rbp - 0x7c], xmm0
jae 0x18002d73e
comiss xmm12, xmm2
jbe 0x18002d73e
comiss xmm4, xmm3
jae 0x18002d73e
comiss xmm5, xmm7
jbe 0x18002d73e
mov rcx, qword [rdi + 0x298]
lea r8, [rbp - 0x80]
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x78]
mov r9d, r15d
movss dword [rsp + 0x20], xmm8
call fcn.18001d59c
movss xmm12, dword [rbp - 0x1c]
movss xmm14, dword [rbp - 0x24]
mov r8, qword [rbp + 0x1d8]
movss xmm7, dword [rbp - 0x58]
movss xmm1, dword [r14 + 0x3c28]
subss xmm7, xmm9
addss xmm6, xmm1
cmp r8, rbx
jb 0x18002d5ef
movss xmm8, dword [0x18015743c]
movss xmm11, dword [rbp - 0x38]
movss xmm13, dword [rbp - 0x40]
mov rdi, qword [rbp - 0x10]
mov r11d, dword [rsp + 0x58]
mov r15b, byte [rbp + 0x200]
xor r8d, r8d
xorps xmm10, xmm10
test r11b, r11b
jne 0x18002d7a3
cmp r13, 0x200000
jge 0x18002d84b
mov rax, qword [0x1801a8b88]
lea r8, [rbp - 0x28]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
xor eax, eax
test r11b, r11b
cmovne r8, rax
movss dword [rbp - 0x7c], xmm0
movss xmm0, dword [rbp - 0x58]
subss xmm0, xmm9
movss dword [rbp + 0x1d8], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp + 0x1dc], xmm0
call fcn.180006814
mov rcx, qword [rbp + 0x1e0]
lea r9, [rbp + 0x1d8]
mov rbx, qword [rbp - 0x68]
movss xmm2, dword [r14 + 0x3c28]
mov rdx, qword [r14 + 0x3c20]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbx + 0x298]
mov dword [rsp + 0x20], eax
call fcn.18001ecbc
xor r8d, r8d
jmp 0x18002d84f
mov rbx, qword [rbp - 0x68]
test r15b, r15b
je 0x18002d9f3
movss xmm0, dword [r14 + 0x18]
addss xmm0, dword [rsi + 0xe80]
movss dword [rsi + 0xe80], xmm0
cmp byte [r14 + 0x7b], r8b
je 0x18002d896
comiss xmm0, xmm10
jbe 0x18002d896
movss xmm1, dword [0x180157454]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
xor r8d, r8d
comiss xmm0, dword [0x180157400]
mov cl, r8b
ja 0x18002d898
mov cl, 1
movss xmm0, dword [rbp - 0x54]
addss xmm0, xmm13
addss xmm11, dword [rbp - 0x58]
subss xmm11, xmm9
cvttss2si eax, xmm11
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cvttss2si eax, xmm0
movss dword [rsp + 0x78], xmm6
movaps xmm3, xmm6
addss xmm3, xmm8
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x80], xmm3
movaps xmm1, xmm7
movaps xmm2, xmm7
subss xmm1, dword [r14 + 0x3c28]
subss xmm2, dword [0x18015747c]
addss xmm1, dword [0x1801573dc]
movss dword [rbp - 0x7c], xmm2
movss dword [rsp + 0x7c], xmm1
test cl, cl
je 0x18002d997
movss xmm0, dword [rbp - 0x24]
comiss xmm0, xmm2
jae 0x18002d997
movss xmm0, dword [rbp - 0x1c]
comiss xmm0, xmm1
jbe 0x18002d997
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm3
jae 0x18002d997
movss xmm0, dword [rbp - 0x20]
comiss xmm0, xmm6
jbe 0x18002d997
mov rax, qword [0x1801a8b88]
lea rcx, [rbp + 8]
movss dword [rbp + 0x1d8], xmm6
movss dword [rbp + 0x1dc], xmm2
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rbp + 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x14], xmm0
call fcn.180006814
mov rcx, qword [rbx + 0x298]
lea rdx, [rsp + 0x78]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0x1d8]
call fcn.18001d35c
xor r8d, r8d
movss xmm9, dword [rbp - 0x50]
movss xmm13, dword [rbp - 0x60]
movss xmm14, dword [rbp - 0x18]
mov r12d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x1e0]
cmp byte [rsp + 0x5c], r8b
jne 0x18002da11
movss xmm0, dword [r14 + 0x3c28]
subss xmm6, xmm8
subss xmm7, xmm0
movss dword [r14 + 0x5ba4], xmm0
mov byte [r14 + 0x5b98], 1
movss dword [r14 + 0x5b9c], xmm6
movss dword [r14 + 0x5ba0], xmm7
jmp 0x18002da11
movss xmm9, dword [rbp - 0x50]
movss xmm13, dword [rbp - 0x60]
movss xmm14, dword [rbp - 0x18]
mov r12d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x1e0]
movss xmm6, dword [rbp + 0x208]
mov ebx, dword [rbp - 0x6c]
test bl, bl
je 0x18002da28
call fcn.18001022c
xor r8d, r8d
cmp byte [rsp + 0x58], r8b
je 0x18002dabd
addss xmm15, dword [r14 + 0x3834]
lea rcx, [rbp + 0x1d8]
movss dword [rbp + 0x1d8], xmm6
movss dword [rbp + 0x1dc], xmm15
call fcn.180026a70
mov ebx, dword [r14 + 0x4748]
mov eax, ebx
or eax, 0x401
mov dword [r14 + 0x4748], eax
call fcn.18000b89c
mov eax, dword [r14 + 0x476c]
mov esi, dword [rbp + 0xa8]
and eax, 0x80
or esi, eax
mov dword [r14 + 0x4748], ebx
call fcn.180013040
mov ebx, dword [rbp - 0x6c]
xor r8d, r8d
cmp dword [r14 + 0x4764], r8d
jne 0x18002dabd
mov eax, dword [rbp + 0xa4]
mov dword [r14 + 0x4768], eax
mov dword [r14 + 0x4764], r12d
mov dword [r14 + 0x476c], esi
cmp byte [r14 + 0x5c50], r8b
je 0x18002dafc
test bl, bl
jne 0x18002dafc
mov rax, qword [0x1801a8b88]
lea rcx, [0x1800eec0c]
mov r8, rdi
mov rdx, r15
mov qword [rax + 0x5c70], rcx
lea rcx, [0x1800eec08]
mov qword [rax + 0x5c78], rcx
lea rcx, [rbp - 0x58]
call fcn.180017a90
comiss xmm14, xmm10
jbe 0x18002db33
addss xmm13, dword [r14 + 0x3848]
addss xmm9, dword [r14 + 0x3834]
mov rdx, qword [rbp + 0x1d0]
mov r9b, 1
xor r8d, r8d
movaps xmm0, xmm13
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.180006f98
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x64]
test r9b, r9b
je 0x18002db52
bt r8d, 0x1b
jb 0x18002db52
mov ecx, r12d
call fcn.180008790
movzx ecx, byte [rsp + 0x54]
test r8b, 0x20
mov eax, r9d
cmovne eax, ecx
jmp 0x18002b18a