Function at 0x18002c720
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 - 0x168]
sub rsp, 0x228
mov rbx, qword [0x180049df0]
mov r15, rcx
movaps xmmword [rax - 0x58], xmm6
mov r13, rbx
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 [rbx + 0x1ae0]
mov qword [rsp + 0x60], rbx
mov byte [rax + 0x90], 1
mov r14, qword [rbx + 0x1ae0]
mov qword [rbp - 0x30], r14
cmp byte [r14 + 0x93], 0
jne 0x18002cb3b
mov ecx, dword [rbp + 0x198]
mov eax, ecx
shr eax, 0xe
mov edi, ecx
and al, 1
shr edi, 0x14
mov dword [rsp + 0x58], eax
and dil, 1
mov eax, ecx
mov dword [rsp + 0x50], edi
shr eax, 0xf
and al, 1
mov dword [rbp - 0x70], eax
mov eax, ecx
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x6c], eax
mov eax, ecx
shr eax, 0x12
and al, 1
mov dword [rbp - 0x7c], eax
test dil, dil
je 0x18002c81b
call fcn.18000da00
mov rbx, qword [0x180049df0]
movsxd rcx, dword [r14 + 0xc8]
xor edx, edx
mov rax, qword [r14 + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
mov rcx, r15
call fcn.1800024a0
mov r12d, eax
mov dword [rbp - 0x78], eax
cmp dword [rbx + 0x1b30], eax
jne 0x18002c84c
mov dword [rbx + 0x1b34], eax
cmp dword [rbx + 0x1b70], r12d
jne 0x18002c85c
mov byte [rbx + 0x1b74], 1
mov rcx, r15
cmp r15, 0xffffffffffffffff
jae 0x18002c87e
movzx eax, byte [rcx]
test al, al
je 0x18002c87e
cmp al, 0x23
jne 0x18002c875
cmp byte [rcx + 1], al
je 0x18002c87e
inc rcx
cmp rcx, 0xffffffffffffffff
jb 0x18002c865
movss xmm1, dword [0x180040c30]
movss xmm15, dword [0x180040c24]
movss xmm0, dword [rbx + 0x1980]
movss dword [rbp + 8], xmm1
movss dword [rbp - 0x48], xmm15
cmp r15, rcx
jne 0x18002c8ac
xorps xmm7, xmm7
jmp 0x18002c8f9
mov qword [rsp + 0x30], rcx
lea rdx, [rbp + 0x178]
mov rcx, qword [rbx + 0x1978]
movaps xmm3, xmm15
mov qword [rsp + 0x28], r15
movaps xmm2, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.1800222a0
movss xmm0, dword [rbp + 0x178]
addss xmm0, dword [0x180040b80]
cvttss2si eax, xmm0
movss xmm0, dword [rbp + 0x17c]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0xc], xmm7
xorps xmm6, xmm6
test dil, dil
je 0x18002c917
movss xmm0, dword [r13 + 0x1980]
mulss xmm0, dword [0x180040bd8]
movss xmm10, dword [r13 + 0x159c]
movaps xmm3, xmm10
addss xmm3, xmm10
addss xmm3, xmm0
call fcn.18000d880
mov rdx, qword [rbp + 0x190]
lea rcx, [rbp - 0x38]
movaps xmm2, xmm0
mov rdx, qword [rdx]
call fcn.18000d900
comiss xmm7, xmm6
jbe 0x18002c959
movaps xmm6, xmm7
addss xmm6, dword [r13 + 0x15b0]
movss xmm11, dword [r14 + 0xd8]
movss xmm12, dword [r14 + 0xdc]
movaps xmm13, xmm11
movss xmm0, dword [rbp - 0x38]
movaps xmm14, xmm12
movss dword [rbp - 0x18], xmm0
addss xmm6, xmm0
movss dword [rbp - 0x28], xmm11
movaps xmm7, xmm12
movss dword [rbp - 0x24], xmm12
addss xmm13, xmm0
movss dword [rsp + 0x70], xmm11
movaps xmm9, xmm11
movss dword [rsp + 0x74], xmm12
movaps xmm8, xmm12
mov qword [rbp - 0x68], r14
addss xmm6, xmm11
addss xmm14, dword [rbp - 0x34]
movss dword [rbp - 0x20], xmm13
addss xmm7, dword [rbp - 0x34]
movss dword [rsp + 0x78], xmm6
movss dword [rbp - 0x1c], xmm14
movss dword [rsp + 0x7c], xmm7
test dil, dil
je 0x18002cdc2
mov rdi, qword [rbx + 0x1ae0]
test r12d, r12d
je 0x18002ca81
mov ecx, dword [rdi + 0x154]
mov eax, dword [rdi + 0x14c]
bts ecx, eax
mov dword [rdi + 0x154], ecx
cmp dword [rbx + 0x1ca8], r12d
je 0x18002ca18
cmp byte [rbx + 0x1cf8], 0
je 0x18002ca81
mov rcx, qword [rbx + 0x1ca0]
mov rax, qword [rdi + 0x3a0]
cmp qword [rcx + 0x3a0], rax
jne 0x18002ca81
cmp rdi, rcx
je 0x18002ca40
mov eax, dword [rdi + 0xc]
or eax, dword [rcx + 0xc]
bt eax, 0x17
jae 0x18002ca81
mov r8d, r12d
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.18000f6b0
movss xmm14, dword [rbp - 0x1c]
movss xmm13, dword [rbp - 0x20]
movss xmm12, dword [rbp - 0x24]
movss xmm11, dword [rbp - 0x28]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
movss xmm8, dword [rsp + 0x74]
movss xmm9, dword [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x70]
xor esi, esi
mov dword [rdi + 0x124], r12d
mov dword [rdi + 0x128], esi
movups xmmword [rdi + 0x12c], xmm0
mov dword [rbx + 0x1bf8], esi
mov rax, qword [rbx + 0x1ae0]
comiss xmm7, dword [rax + 0x25c]
jbe 0x18002cadb
movss xmm0, dword [rax + 0x264]
comiss xmm0, xmm8
jbe 0x18002cadb
comiss xmm6, dword [rax + 0x258]
jbe 0x18002cadb
movss xmm0, dword [rax + 0x260]
comiss xmm0, xmm9
ja 0x18002cb90
test r12d, r12d
je 0x18002cafa
cmp r12d, dword [rbx + 0x1b30]
je 0x18002cb90
cmp r12d, dword [rbx + 0x1ca8]
je 0x18002cb90
cmp byte [rbx + 0x2f5c], sil
jne 0x18002cb90
movss xmm1, dword [r13 + 0x159c]
subss xmm6, xmm9
subss xmm7, xmm8
lea rcx, [rbp + 0x178]
movss dword [rbp + 0x178], xmm6
movss dword [rbp + 0x17c], xmm7
call fcn.18000d530
call fcn.18000db20
xor al, al
lea r11, [rsp + 0x228]
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
mov r8b, 1
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.180007a20
test al, al
je 0x18002cbad
or dword [rdi + 0x128], 1
movups xmm0, xmmword [rbx + 0x1654]
lea rcx, [rbx + 0x1c10]
mov dword [rbp - 0x10], 3
lea rdx, [rbp - 0x10]
movups xmmword [rbp - 0xc], xmm0
call fcn.180013d20
movups xmm0, xmmword [r13 + 0x1694]
mov ecx, 6
movups xmmword [rbx + 0x1654], xmm0
movss xmm1, dword [r13 + 0x15a0]
call fcn.180002dc0
movss xmm1, dword [r13 + 0x15a4]
mov ecx, 7
call fcn.180002dc0
subss xmm13, xmm11
mov edx, r12d
subss xmm14, xmm12
mov rcx, r15
lea r8, [rbp + 0x178]
movss dword [rbp + 0x178], xmm13
movss dword [rbp + 0x17c], xmm14
call fcn.180007bb0
mov r8, qword [0x180049df0]
lea rbx, [0x18003baf0]
movzx r11d, al
movsxd rcx, dword [r8 + 0x1c20]
mov r9, qword [r8 + 0x1c28]
lea rdx, [rcx + rcx*2]
movsxd rcx, dword [r9 + rdx*4 - 0xc]
lea r10, [rcx + rcx*2]
cmp dword [rbx + r10*4], 8
mov ecx, dword [rbx + r10*4 + 8]
jne 0x18002cca3
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x18002cc84
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1560], eax
jmp 0x18002cca3
cmp eax, 2
jne 0x18002cca3
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1560], eax
mov eax, dword [r9 + rdx*4 - 4]
mov dword [rcx + r8 + 0x1564], eax
movsxd rcx, dword [r8 + 0x1c20]
lea eax, [rcx - 1]
mov dword [r8 + 0x1c20], eax
lea rax, [rcx - 2]
mov rdx, qword [r8 + 0x1c28]
lea rcx, [rax + rax*2]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
cmp dword [rbx + r10*4], 8
mov r9d, dword [rbx + r10*4 + 8]
jne 0x18002cd0c
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x18002ccef
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1560], eax
jmp 0x18002cd0c
cmp eax, 2
jne 0x18002cd0c
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1560], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x1564], eax
dec dword [r8 + 0x1c20]
movsxd rax, dword [r8 + 0x1c10]
mov rcx, qword [r8 + 0x1c18]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x1624], xmm0
dec dword [r8 + 0x1c10]
test r11b, r11b
jne 0x18002cd51
call fcn.180007e20
jmp 0x18002cb36
mov r15, qword [r13 + 0x1ae0]
mov qword [rbp - 0x68], r15
movss xmm0, dword [r15 + 0xd8]
mov ecx, dword [r15 + 0x154]
mov eax, dword [r15 + 0x14c]
bts ecx, eax
mov dword [r15 + 0x154], ecx
addss xmm0, dword [r13 + 0x1598]
movss dword [r15 + 0xd8], xmm0
movss xmm1, dword [r13 + 0x159c]
movss xmm0, dword [rbp - 0x38]
addss xmm1, dword [r15 + 0xdc]
subss xmm0, dword [r15 + 0x84]
movss dword [r15 + 0xdc], xmm1
movss dword [rbp - 0x18], xmm0
jmp 0x18002cf14
movaps xmm0, xmm6
lea rcx, [rbp + 0x178]
movaps xmm2, xmm7
subss xmm0, xmm11
subss xmm2, xmm12
movaps xmm1, xmm10
movss dword [rbp + 0x178], xmm0
movss dword [rbp + 0x17c], xmm2
call fcn.18000d530
mov rdi, qword [0x180049df0]
mov rbx, qword [rdi + 0x1ae0]
test r12d, r12d
je 0x18002ce7d
mov ecx, dword [rbx + 0x154]
mov eax, dword [rbx + 0x14c]
bts ecx, eax
mov dword [rbx + 0x154], ecx
cmp dword [rdi + 0x1ca8], r12d
je 0x18002ce2c
cmp byte [rdi + 0x1cf8], 0
je 0x18002ce7d
mov rcx, qword [rdi + 0x1ca0]
mov rax, qword [rbx + 0x3a0]
cmp qword [rcx + 0x3a0], rax
jne 0x18002ce7d
cmp rbx, rcx
je 0x18002ce54
mov eax, dword [rcx + 0xc]
or eax, dword [rbx + 0xc]
bt eax, 0x17
jae 0x18002ce7d
mov r8d, r12d
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.18000f6b0
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
movss xmm8, dword [rsp + 0x74]
movss xmm9, dword [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x70]
xor esi, esi
mov dword [rbx + 0x124], r12d
mov dword [rbx + 0x128], esi
movups xmmword [rbx + 0x12c], xmm0
mov dword [rdi + 0x1bf8], esi
mov rax, qword [rdi + 0x1ae0]
comiss xmm7, dword [rax + 0x25c]
jbe 0x18002ced3
movss xmm0, dword [rax + 0x264]
comiss xmm0, xmm8
jbe 0x18002ced3
comiss xmm6, dword [rax + 0x258]
jbe 0x18002ced3
movss xmm0, dword [rax + 0x260]
comiss xmm0, xmm9
ja 0x18002cef7
test r12d, r12d
je 0x18002ceea
cmp r12d, dword [rdi + 0x1b30]
je 0x18002cef7
cmp r12d, dword [rdi + 0x1ca8]
je 0x18002cef7
cmp byte [rdi + 0x2f5c], sil
je 0x18002cb3b
mov r8b, 1
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.180007a20
test al, al
je 0x18002cf14
or dword [rbx + 0x128], 1
mov edx, r12d
lea rcx, [rbp - 0x28]
call fcn.180004230
movzx ebx, al
mov byte [rbp - 0x74], al
mov eax, 1
test bl, bl
je 0x18002cf36
mov dword [r13 + 0x1e20], eax
mov r15, qword [0x180049df0]
mov edx, r12d
add r15, 0x1f80
mov rcx, r14
cmp dword [r15], r12d
cmovne r15, rsi
mov qword [rsp + 0x70], r15
call fcn.180004450
movzx esi, al
test al, al
je 0x18002cf9c
cmp qword [r13 + 0x1df8], r14
jne 0x18002cf9c
mov ecx, dword [r14 + 0x1c4]
cmp dword [r13 + 0x1e08], ecx
jne 0x18002cf9c
mov byte [rbp + 0x188], 1
mov byte [rbp + 0x1a0], 0
test bl, bl
je 0x18002cfb8
cmp byte [r13 + 0x420], 0
je 0x18002cfb8
mov r14b, 1
jmp 0x18002cfbb
mov byte [rbp + 0x188], 0
test sil, sil
je 0x18002cf82
mov byte [rbp + 0x1a0], 1
mov byte [rbp + 0x188], 0
jmp 0x18002cf89
xor r14b, r14b
mov edi, dword [r13 + 0x1b30]
mov byte [rbp + 0x1a8], r14b
cmp edi, r12d
je 0x18002cfef
cmp dword [r13 + 0x1cbc], r12d
je 0x18002cfea
cmp dword [r13 + 0x1cb0], r12d
jne 0x18002cfef
cmp dword [r13 + 0x1cd4], 3
jne 0x18002cfef
mov r12b, 1
jmp 0x18002cff2
xor r12b, r12b
mov eax, dword [rsp + 0x50]
mov byte [rsp + 0x5c], r12b
test al, al
je 0x18002d03e
test r15, r15
je 0x18002d03e
test edi, edi
jne 0x18002d03e
mov rax, qword [rbp - 0x68]
xor edx, edx
movsxd rcx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
lea rcx, str.SCROLLY
call fcn.1800024a0
cmp dword [r13 + 0x1b70], eax
jne 0x18002d03a
mov bl, 1
jmp 0x18002d049
mov eax, dword [rsp + 0x50]
xor bl, bl
test al, al
je 0x18002d076
test r15, r15
je 0x18002d076
mov r13, qword [rbp - 0x68]
lea rcx, str.SCROLLY
movsxd rdx, dword [r13 + 0xc8]
mov rax, qword [r13 + 0xd0]
mov r8d, dword [rax + rdx*4 - 4]
xor edx, edx
call fcn.1800024a0
cmp edi, eax
jne 0x18002d07a
mov cl, 1
jmp 0x18002d07c
mov r13, qword [rbp - 0x68]
xor cl, cl
mov edx, dword [rbp - 0x78]
mov byte [rsp + 0x54], cl
mov byte [rbp + 0x178], 0
cmp edi, edx
je 0x18002d0ab
test byte [rbp + 0x198], 0x10
jne 0x18002d09c
test r12b, r12b
je 0x18002d0ab
mov eax, dword [rsp + 0x50]
test al, al
jne 0x18002d0af
mov byte [rsp + 0x68], 1
jmp 0x18002d0c4
mov eax, dword [rsp + 0x50]
mov byte [rsp + 0x68], 0
test al, al
je 0x18002d0c4
movss xmm15, dword [r13 + 0x60]
movss dword [rbp - 0x48], xmm15
test r15, r15
je 0x18002d0d6
xor al, 1
cmp byte [r15 + 0x63], al
je 0x18002d0d6
mov r15b, 1
jmp 0x18002d0d9
xor r15b, r15b
test sil, sil
jne 0x18002d0f5
test r14b, r14b
jne 0x18002d0f5
test bl, bl
jne 0x18002d0f5
test r12b, r12b
jne 0x18002d0f5
test cl, cl
jne 0x18002d0f8
xor r13b, r13b
jmp 0x18002d0ff
mov r12b, 1
mov r13b, 1
cmp edi, edx
jne 0x18002d108
test r15b, r15b
je 0x18002d328
mov rsi, qword [rsp + 0x60]
mov rax, 0xffffffffffffffff
mov r14, qword [rbp + 0x180]
add rsi, 0x1f80
mov qword [rsp + 0x70], rsi
mov dword [rsi + 0xe78], 0xbe99999a
cmp byte [r14 + rax + 1], 0
lea rax, [rax + 1]
jne 0x18002d131
mov ecx, dword [rsi + 0x34]
lea ebx, [rax + 1]
cmp ebx, ecx
jle 0x18002d16b
test ecx, ecx
je 0x18002d156
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d15b
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x30]
mov edx, ebx
cmovg edx, eax
call fcn.180014180
mov dword [rsi + 0x30], ebx
mov rdx, r14
mov rcx, qword [rsi + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsi + 0x14]
cmp ecx, 0x21
jge 0x18002d1ac
test ecx, ecx
je 0x18002d194
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d199
mov eax, 8
mov edx, 0x21
lea rcx, [rsi + 0x10]
cmp eax, edx
cmovg edx, eax
call fcn.180014210
mov dword [rsi + 0x10], 0x21
mov ecx, dword [rsi + 0x24]
test ecx, ecx
jns 0x18002d1d7
mov eax, ecx
xor r9d, r9d
cdq
sub eax, edx
mov edx, r9d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x20]
test eax, eax
cmovg edx, eax
call fcn.180014180
xor ecx, ecx
mov rdi, r14
mov dword [rsi + 0x20], ecx
mov r14, qword [rsi + 0x18]
mov byte [rsi + 0x40], cl
mov rbx, r14
lea rsi, [r14 + 0x3e]
cmp r14, rsi
jae 0x18002d221
cmp byte [rdi], 0
je 0x18002d21f
xor r8d, r8d
lea rcx, [rbp - 0x44]
mov rdx, rdi
call fcn.1800027b0
movsxd rcx, eax
mov eax, dword [rbp - 0x44]
add rdi, rcx
test eax, eax
je 0x18002d21f
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002d1f2
xor ecx, ecx
mov rdx, qword [rbp + 0x180]
mov word [rbx], cx
sub edi, edx
sub rbx, r14
mov r14, qword [rsp + 0x70]
sar rbx, 1
mov dword [r14 + 8], edi
mov edi, dword [rbp - 0x78]
mov dword [r14 + 4], ebx
cmp dword [r14], edi
jne 0x18002d27e
test r15b, r15b
jne 0x18002d27e
cmp dword [r14 + 0x4c], ebx
mov ecx, ebx
cmovl ecx, dword [r14 + 0x4c]
cmp dword [r14 + 0x50], ebx
mov dword [r14 + 0x4c], ecx
mov ecx, ebx
cmovl ecx, dword [r14 + 0x50]
cmp dword [r14 + 0x54], ebx
mov dword [r14 + 0x50], ecx
cmovl ebx, dword [r14 + 0x54]
mov dword [r14 + 0x54], ebx
mov ebx, dword [rsp + 0x50]
jmp 0x18002d2f1
mov ebx, dword [rsp + 0x50]
movzx eax, bl
xor al, 1
mov dword [r14], edi
mov qword [r14 + 0x48], 0
mov dword [r14 + 0xe6a], 0x630000
mov dword [r14 + 0xe70], ecx
mov dword [r14 + 0xe74], 0x3e7
mov qword [r14 + 0x50], 0
mov word [r14 + 0x61], 1
mov dword [r14 + 0x68], ecx
mov byte [r14 + 0x60], 0
mov byte [r14 + 0x63], al
mov byte [r14 + 0x58], 0
mov dword [r14 + 0x5c], ecx
test bl, bl
jne 0x18002d2f1
mov edx, dword [rsp + 0x68]
mov eax, 1
cmp byte [rbp + 0x188], bl
movzx edx, dl
cmovne edx, eax
mov dword [rsp + 0x68], edx
test dword [rbp + 0x198], 0x2000
je 0x18002d302
mov byte [r14 + 0x58], 1
test bl, bl
jne 0x18002d333
cmp byte [rbp + 0x1a0], bl
jne 0x18002d323
cmp byte [rbp + 0x1a8], bl
je 0x18002d333
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x140], bl
je 0x18002d333
mov r15b, 1
jmp 0x18002d338
mov r14, qword [rsp + 0x70]
mov edi, edx
mov ebx, dword [rsp + 0x50]
mov r15d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
cmp dword [rsi + 0x1b30], edi
je 0x18002d3cd
test r12b, r12b
je 0x18002d3cd
mov rdx, qword [rbp - 0x30]
mov ecx, edi
call fcn.1800040c0
call fcn.18000f0e0
mov rcx, rdx
call fcn.18000cb10
mov eax, dword [rsi + 0x1b44]
mov ecx, dword [rbp + 0x198]
or eax, 3
mov dword [rsi + 0x1b44], eax
test bl, bl
jne 0x18002d387
test cl, cl
jns 0x18002d390
or eax, 0xc
mov dword [rsi + 0x1b44], eax
mov rax, qword [rsi + 0x1b50]
or dword [rsi + 0x1b48], 2
or rax, 0x180
mov qword [rsi + 0x1b50], rax
test bl, bl
je 0x18002d3ba
or rax, 0x60
mov qword [rsi + 0x1b50], rax
test ecx, 0x440
je 0x18002d3cd
or rax, 1
mov qword [rsi + 0x1b50], rax
mov eax, dword [rsi + 0x1b30]
cmp eax, edi
jne 0x18002d465
test r14, r14
jne 0x18002d446
mov rdx, qword [0x180049df0]
mov ecx, dword [rdx + 0x1b30]
test ecx, ecx
setne al
mov byte [rdx + 0x1b3c], al
xor eax, eax
test ecx, ecx
je 0x18002d40b
mov dword [rdx + 0x1b38], eax
mov word [rdx + 0x1b3f], ax
mov dword [rdx + 0x1b30], eax
mov word [rdx + 0x1b3d], 0
mov qword [rdx + 0x1b60], rax
mov word [rdx + 0x1b41], 0
mov qword [rdx + 0x1b44], 0
mov qword [rdx + 0x1b50], rax
mov eax, dword [rsi + 0x1b30]
cmp eax, edi
jne 0x18002d465
cmp byte [rsi + 0x420], 0
je 0x18002d471
test r13b, r13b
jne 0x18002d471
test r12b, r12b
jne 0x18002d471
mov byte [rbp + 0x178], 1
mov r12b, 1
jmp 0x18002d479
test r14, r14
je 0x18002d476
cmp byte [rsp + 0x54], 0
je 0x18002d476
mov r12b, 1
jmp 0x18002d479
xor r12b, r12b
mov byte [rbp + 0x1a8], r12b
test r14, r14
je 0x18002d499
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x18002d499
test r12b, r12b
je 0x18002d499
mov r13b, 1
jmp 0x18002d49c
xor r13b, r13b
mov eax, dword [rsp + 0x58]
mov byte [rbp + 0x188], r13b
mov byte [rbp - 0x7f], 0
mov byte [rbp + 0x1a0], 0
test al, al
je 0x18002d5c6
test r14, r14
je 0x18002d5c6
test r12b, r12b
jne 0x18002d4d1
test r13b, r13b
je 0x18002d5d0
mov ecx, dword [r14 + 0x14]
cmp ecx, 0x21
jge 0x18002d501
test ecx, ecx
je 0x18002d4e9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002d4ee
mov eax, 8
mov edx, 0x21
lea rcx, [r14 + 0x10]
cmp eax, edx
cmovg edx, eax
call fcn.180014210
mov rax, qword [rbp + 0x180]
mov dword [r14 + 0x10], 0x21
mov rdi, rax
mov r14, qword [r14 + 0x18]
mov rbx, r14
lea rsi, [r14 + 0x40]
cmp r14, rsi
jae 0x18002d55d
cmp byte [rdi], 0
je 0x18002d556
xor r8d, r8d
lea rcx, [rbp + 0x188]
mov rdx, rdi
call fcn.1800027b0
movsxd rcx, eax
mov eax, dword [rbp + 0x188]
add rdi, rcx
test eax, eax
je 0x18002d556
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002d523
mov rax, qword [rbp + 0x180]
mov rsi, qword [rsp + 0x60]
sub edi, eax
xor r8d, r8d
movzx eax, r13b
mov word [rbx], r8w
sub rbx, r14
mov r14, qword [rsp + 0x70]
sar rbx, 1
mov ecx, ebx
mov edx, ebx
cmp dword [r14 + 0x4c], ebx
mov dword [r14 + 4], ebx
cmovl ecx, dword [r14 + 0x4c]
cmp dword [r14 + 0x50], ebx
mov dword [r14 + 0x4c], ecx
mov ecx, r8d
cmovl edx, dword [r14 + 0x50]
cmp dword [r14 + 0x54], ebx
mov dword [r14 + 8], edi
cmovl ebx, dword [r14 + 0x54]
mov edi, dword [rbp - 0x78]
cmp edx, ebx
mov dword [r14 + 0x50], edx
cmovne ecx, eax
mov dword [r14 + 0x54], ebx
mov eax, dword [rsp + 0x58]
movzx r13d, cl
mov byte [rbp + 0x188], cl
test r12b, r12b
jne 0x18002d5d8
test r13b, r13b
jne 0x18002d5d8
cmp dword [rsi + 0x1b30], edi
jne 0x18002d5eb
test al, al
jne 0x18002d5eb
test r14, r14
je 0x18002d5eb
mov byte [rbp - 0x80], 1
cmp byte [r14 + 0x40], al
jne 0x18002d5ef
mov byte [rbp - 0x80], 0
cmp byte [rbp - 0x70], 0
je 0x18002d683
mov rdx, qword [rsi + 0x1978]
cmp dword [rdx + 0x18], 0x2a
ja 0x18002d60c
mov r8, qword [rdx + 0x38]
jmp 0x18002d630
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x18002d624
mov r8, qword [rdx + 0x38]
jmp 0x18002d630
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r8, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea rcx, [rsi + 0x2e18]
mov dword [rcx + 0x14], eax
mov rax, qword [rsi + 0x1978]
mov edx, dword [rax + 0x58]
mov dword [rcx + 0x58], edx
mov rax, qword [rsi + 0x1978]
mov edx, dword [rax + 0x5c]
mov dword [rcx + 0x5c], edx
mov rax, qword [rsi + 0x1978]
mov edx, dword [rax + 0x60]
mov dword [rcx + 0x60], edx
mov rax, qword [rsi + 0x1978]
mov rdx, qword [rax + 0x40]
mov qword [rcx + 0x40], rdx
mov qword [rcx + 0x38], r8
mov eax, dword [r8 + 4]
mov dword [rcx + 0x10], eax
call fcn.18000ced0
movss xmm7, dword [rbp - 0x28]
xor r12d, r12d
mov edx, 0x20000c
mov dword [rbp - 0x44], r12d
cmp dword [rsi + 0x1b30], edi
jne 0x18002daa3
mov eax, dword [r14 + 8]
mov r8d, dword [rbp + 0x198]
mov dword [r14 + 0xe80], r8d
mov byte [r14 + 0xe7e], r12b
mov dword [r14 + 0x44], 0x20
mov qword [r14 + 0xe88], r12
mov qword [r14 + 0xe90], r12
cmp byte [rsi + 0x130], r12b
mov dword [rbp - 0x44], eax
sete al
mov byte [rsi + 0x1b3d], al
mov eax, 1
mov dword [rsi + 0x31ac], eax
movss xmm6, dword [rsi + 0x128]
subss xmm6, xmm7
subss xmm6, dword [rsi + 0x1598]
addss xmm6, dword [r14 + 0x48]
cmp byte [rsp + 0x50], r12b
je 0x18002d724
mov rax, qword [rbp - 0x68]
movss xmm2, dword [rsi + 0x12c]
subss xmm2, dword [rax + 0xdc]
jmp 0x18002d734
movss xmm2, dword [rsi + 0x1980]
mulss xmm2, dword [0x180040b50]
movzx edi, byte [rsi + 0xc9]
test r15b, r15b
jne 0x18002d8bd
movzx ecx, byte [rbp - 0x74]
test cl, cl
je 0x18002d760
movzx eax, byte [rsi + 0x425]
test dil, dil
jne 0x18002d7d1
test al, al
jne 0x18002d8bd
movzx eax, byte [r14 + 0xe7d]
cmp byte [rsi + 0x420], r12b
je 0x18002d828
test al, al
jne 0x18002d828
test cl, cl
je 0x18002d8d9
cmp byte [r14 + 0x63], r12b
je 0x18002d79f
xor r8d, r8d
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.18002aa40
movss xmm2, dword [rbp - 4]
movaps xmm1, xmm6
mov rcx, r14
call fcn.18002af00
mov r8d, dword [rbp + 0x198]
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x62], r12b
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x18002d8d9
test al, al
je 0x18002d760
mov r8d, edx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.18002b3a0
mov r8d, 0x60000d
mov byte [r14 + 0xe7c], 1
lea rdx, [r14 + 0x4c]
mov dword [r14 + 0xe78], 0xbe99999a
mov rcx, r14
call fcn.18002b3a0
mov r8d, dword [rbp + 0x198]
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x18002d8d9
cmp byte [rsi + 0x130], r12b
je 0x18002d8d9
test al, al
jne 0x18002d8d9
movss xmm0, dword [rsi + 0x3b8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x18002d862
jne 0x18002d862
movss xmm0, dword [rsi + 0x3bc]
ucomiss xmm0, xmm1
jp 0x18002d862
je 0x18002d8d9
cmp byte [r14 + 0x63], r12b
je 0x18002d87c
xor r8d, r8d
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.18002aa40
movss xmm2, dword [rbp - 4]
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
jne 0x18002d88e
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x50], eax
movaps xmm1, xmm6
mov rcx, r14
call fcn.18002af00
mov r8d, dword [rbp + 0x198]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0xe78], 0xbe99999a
mov byte [r14 + 0xe7c], 1
jmp 0x18002d8d9
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], r12d
mov byte [r14 + 0x62], r12b
mov byte [r14 + 0xe7d], 1
cmp byte [r14 + 0xe7d], r12b
je 0x18002d8f2
cmp byte [rsi + 0x130], r12b
jne 0x18002d8f2
mov byte [r14 + 0xe7d], r12b
cmp byte [rsi + 0x140], r12b
je 0x18002d904
cmp byte [rsi + 0x142], r12b
je 0x18002d912
test dil, dil
je 0x18002d916
cmp byte [rsi + 0x143], r12b
je 0x18002d916
mov bl, 1
jmp 0x18002d918
xor bl, bl
bt r8d, 0xa
jae 0x18002d9c1
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x18002d9c1
call fcn.180007af0
test al, al
mov eax, dword [rsp + 0x58]
je 0x18002d9c5
test bl, bl
jne 0x18002d9c5
cmp byte [rsi + 0x141], r12b
jne 0x18002d9c5
test al, al
jne 0x18002d9c5
mov rcx, qword [rsi + 0x1558]
movsxd rax, dword [rsi + 0x1550]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x18002d984
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x18002d9c1
cmp rcx, rdx
jb 0x18002d972
mov edx, r8d
mov dword [rsp + 0x68], 9
lea rcx, [rsp + 0x68]
call fcn.18002c580
test al, al
je 0x18002d9c1
mov r8d, dword [rsp + 0x68]
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18002b3a0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mov eax, dword [rsp + 0x58]
cmp dword [rsi + 0x1550], r12d
jle 0x18002da9b
test bl, bl
jne 0x18002da6d
test al, al
jne 0x18002da6d
cmp byte [rsp + 0x5c], r12b
jne 0x18002da6d
mov rdx, qword [rsp + 0x60]
mov edi, r12d
mov r13d, dword [rbp + 0x198]
mov rbx, r12
nop
mov rax, qword [rdx + 0x1558]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x68], ecx
cmp ecx, 9
jne 0x18002da1d
cmp byte [rdx + 0x141], r12b
jne 0x18002da57
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.18002c580
test al, al
je 0x18002da52
mov r8d, dword [rsp + 0x68]
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18002b3a0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mov rdx, qword [rsp + 0x60]
inc edi
add rbx, 2
cmp edi, dword [rsi + 0x1550]
jl 0x18002da00
movzx r13d, byte [rbp + 0x188]
mov ecx, dword [rsi + 0x1554]
test ecx, ecx
jns 0x18002da94
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x1550]
test eax, eax
cmovg edx, eax
call fcn.180014210
mov dword [rsi + 0x1550], r12d
mov edi, dword [rbp - 0x78]
mov rsi, qword [rsp + 0x60]
mov eax, dword [rsi + 0x1b30]
xor cl, cl
movss xmm6, dword [rbp - 0x34]
cmp eax, edi
jne 0x18002eff6
movzx r10d, byte [rbp + 0x178]
cmp byte [rsi + 0x1b3c], cl
jne 0x18002e5ff
test r10b, r10b
jne 0x18002e5ff
movaps xmm0, xmm6
mov r15d, 1
subss xmm0, dword [rsi + 0x159c]
divss xmm0, dword [rsi + 0x1980]
cvttss2si eax, xmm0
cmp eax, r15d
cmovge r15d, eax
mov dword [r14 + 0x5c], r15d
movzx eax, byte [rsi + 0x141]
movzx r13d, byte [rsi + 0xc9]
neg al
sbb ebx, ebx
and ebx, 0x400000
test r13b, r13b
je 0x18002db2f
cmp dword [rsi + 0x3c0], 0xa
jne 0x18002db2f
mov r9b, 1
mov r8d, 0xa
jmp 0x18002db3e
mov r8d, dword [rsi + 0x3c0]
xor r9b, r9b
test r13b, r13b
je 0x18002db60
movzx r12d, byte [rsi + 0x142]
cmp byte [rsi + 0x143], cl
je 0x18002db68
cmp byte [rsi + 0x140], cl
jne 0x18002db68
test r12b, r12b
jne 0x18002db68
mov r11b, 1
jmp 0x18002db6b
movzx r12d, byte [rsi + 0x140]
xor r11b, r11b
test r13b, r13b
je 0x18002db76
cmp r8d, 8
jmp 0x18002db7a
cmp r8d, 1
sete r14b
test r14b, r14b
je 0x18002db9d
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x18002db9d
call fcn.180007af0
test al, al
jne 0x18002dbba
cmp r8d, 2
jne 0x18002dbe8
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x18002dbe8
call fcn.180007af0
test al, al
je 0x18002dbe8
cmp byte [rsp + 0x58], 0
mov esi, dword [rbp - 0x70]
mov edi, dword [rsp + 0x50]
mov r10, qword [rsp + 0x70]
jne 0x18002dbf4
test sil, sil
jne 0x18002dbf4
test dil, dil
je 0x18002dbe1
mov eax, dword [r10 + 0x54]
cmp dword [r10 + 0x50], eax
je 0x18002dbf4
mov byte [rsp + 0x5c], 1
jmp 0x18002dbf9
mov r10, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov esi, dword [rbp - 0x70]
mov byte [rsp + 0x5c], 0
test r14b, r14b
je 0x18002dc18
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x18002dc18
call fcn.180007af0
test al, al
jne 0x18002dc35
cmp r8d, 1
jne 0x18002dc4e
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x18002dc4e
call fcn.180007af0
test al, al
je 0x18002dc4e
test sil, sil
jne 0x18002dc4e
test dil, dil
je 0x18002dc49
mov eax, dword [r10 + 0x54]
cmp dword [r10 + 0x50], eax
je 0x18002dc4e
mov sil, 1
jmp 0x18002dc51
xor sil, sil
test r14b, r14b
je 0x18002dc70
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x18002dc70
call fcn.180007af0
test al, al
jne 0x18002dc8d
cmp r8d, 2
jne 0x18002dc9c
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x18002dc9c
call fcn.180007af0
test al, al
je 0x18002dc9c
mov r8d, dword [rsp + 0x58]
test r8b, r8b
jne 0x18002dca1
mov dil, 1
jmp 0x18002dca4
mov r8d, dword [rsp + 0x58]
xor dil, dil
test r14b, r14b
je 0x18002dcd7
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18002dcd7
call fcn.180007af0
test al, al
je 0x18002dcd7
test r8b, r8b
mov r8d, dword [rsp + 0x6c]
jne 0x18002dcdc
test r8b, r8b
je 0x18002dcdc
mov r10b, 1
jmp 0x18002dce4
mov r8d, dword [rsp + 0x6c]
xor r10b, r10b
test r14b, r14b
je 0x18002dcfe
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x18002dcfe
call fcn.180007af0
test al, al
jne 0x18002dd1d
test r9b, r9b
je 0x18002dd2e
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18002dd2e
call fcn.180007af0
test al, al
je 0x18002dd2e
cmp byte [rsp + 0x58], 0
jne 0x18002dd2e
test r8b, r8b
je 0x18002dd2e
mov r9b, 1
jmp 0x18002dd31
xor r9b, r9b
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x18002dd84
call fcn.180007af0
test al, al
je 0x18002dd84
test r11b, r11b
je 0x18002dd54
mov ecx, 0x200004
jmp 0x18002dd64
mov ecx, 0x200000
mov eax, 0x20000c
test r12b, r12b
cmovne ecx, eax
or ecx, ebx
mov r8d, ecx
mov r14, qword [rsp + 0x70]
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.18002b3a0
mov rsi, qword [rsp + 0x60]
jmp 0x18002e1a6
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x18002ddb1
call fcn.180007af0
test al, al
je 0x18002ddb1
test r11b, r11b
je 0x18002dda7
mov ecx, 0x200005
jmp 0x18002dd64
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x18002dd5e
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18002de27
call fcn.180007af0
test al, al
je 0x18002de27
cmp byte [rsp + 0x50], 0
je 0x18002de27
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
cmp byte [rsi + 0x140], 0
je 0x18002de13
mov rdx, qword [rbp - 0x68]
xor r12d, r12d
movss xmm0, dword [rdx + 0x60]
subss xmm0, dword [rsi + 0x1980]
mov dword [rdx + 0x78], r12d
mov dword [rdx + 0x80], r12d
maxss xmm0, dword [0x180040b08]
movss dword [rdx + 0x70], xmm0
jmp 0x18002e248
movzx eax, r11b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
jmp 0x18002e19a
mov r8, qword [0x180049df0]
mov ecx, dword [r8 + 0x4c]
test ecx, ecx
js 0x18002dea2
call fcn.180007af0
test al, al
je 0x18002dea2
cmp byte [rsp + 0x50], 0
je 0x18002dea2
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
cmp byte [rsi + 0x140], 0
je 0x18002de8e
mov rcx, qword [rbp - 0x68]
xor r12d, r12d
mov rax, qword [r8 + 0x1ae0]
movss xmm0, dword [rcx + 0x60]
addss xmm0, dword [rsi + 0x1980]
minss xmm0, dword [rax + 0x68]
mov dword [rcx + 0x78], r12d
mov dword [rcx + 0x80], r12d
movss dword [rcx + 0x70], xmm0
jmp 0x18002e248
movzx eax, r11b
lea r8d, [rax*4 + 0x200003]
or r8d, ebx
jmp 0x18002e19a
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x18002df1a
call fcn.180007af0
mov r8d, dword [rsp + 0x50]
test al, al
je 0x18002df1f
test r8b, r8b
je 0x18002df1f
mov r14, qword [rsp + 0x70]
or ebx, 0x20000e
mov r8d, ebx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.18002b3a0
mov rsi, qword [rsp + 0x60]
xor cl, cl
movd xmm0, r15d
xor r12d, r12d
cvtdq2ps xmm0, xmm0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mulss xmm0, dword [rsi + 0x1980]
subss xmm15, xmm0
movss dword [rbp - 0x48], xmm15
jmp 0x18002e24a
mov r8d, dword [rsp + 0x50]
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x18002df92
call fcn.180007af0
test al, al
je 0x18002df92
test r8b, r8b
je 0x18002df92
mov r14, qword [rsp + 0x70]
or ebx, 0x20000f
mov r8d, ebx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.18002b3a0
mov rsi, qword [rsp + 0x60]
xor cl, cl
movd xmm0, r15d
xor r12d, r12d
cvtdq2ps xmm0, xmm0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mulss xmm0, dword [rsi + 0x1980]
addss xmm15, xmm0
movss dword [rbp - 0x48], xmm15
jmp 0x18002e24a
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x18002dfce
call fcn.180007af0
test al, al
je 0x18002dfce
mov eax, ebx
mov r8d, 0x200004
or eax, 0x200006
mov rsi, qword [rsp + 0x60]
or r8d, ebx
cmp byte [rsi + 0x140], 0
cmovne r8d, eax
jmp 0x18002e195
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x18002dff4
call fcn.180007af0
test al, al
je 0x18002dff4
mov eax, ebx
mov r8d, 0x200005
or eax, 0x200007
jmp 0x18002dfb6
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x18002e023
call fcn.180007af0
mov r11d, dword [rsp + 0x58]
test al, al
je 0x18002e028
test r11b, r11b
jne 0x18002e028
or ebx, 0x200008
mov r8d, ebx
jmp 0x18002dd69
mov r11d, dword [rsp + 0x58]
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x18002e0f4
call fcn.180007af0
test al, al
je 0x18002e0f4
test r11b, r11b
jne 0x18002e0f4
mov r14, qword [rsp + 0x70]
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
jne 0x18002e089
test r12b, r12b
je 0x18002e09c
lea rdx, [r14 + 0x4c]
mov r8d, 0x60000c
mov rcx, r14
call fcn.18002b3a0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mov rsi, qword [rsp + 0x60]
or ebx, 0x200009
mov r8d, ebx
jmp 0x18002e19a
test r13b, r13b
je 0x18002e089
mov rsi, qword [rsp + 0x60]
cmp byte [rsi + 0x143], 0
je 0x18002e08e
cmp byte [rsi + 0x142], 0
jne 0x18002e08e
cmp byte [rsi + 0x140], 0
jne 0x18002e08e
lea rdx, [r14 + 0x4c]
mov r8d, 0x600004
mov rcx, r14
call fcn.18002b3a0
or ebx, 0x200009
mov byte [r14 + 0xe7c], 1
mov r8d, ebx
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x18002e19a
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x18002e10b
call fcn.180007af0
test al, al
jne 0x18002e12a
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x18002e1c3
call fcn.180007af0
test al, al
je 0x18002e1c3
mov edx, dword [rbp + 0x198]
mov eax, edx
mov rsi, qword [rsp + 0x60]
shr eax, 0xb
and al, 1
test r8b, r8b
je 0x18002e150
movzx ecx, byte [rsi + 0x140]
test al, al
je 0x18002e16d
test cl, cl
jne 0x18002e171
mov byte [rbp + 0x178], 1
mov byte [rbp + 0x1a0], 1
mov r14, qword [rsp + 0x70]
xor cl, cl
xor r12d, r12d
jmp 0x18002e24a
test cl, cl
jne 0x18002e150
test r11b, r11b
jne 0x18002e15e
lea rcx, [rsp + 0x6c]
mov dword [rsp + 0x6c], 0xa
call fcn.18002c580
test al, al
je 0x18002e2b6
mov r8d, dword [rsp + 0x6c]
mov r14, qword [rsp + 0x70]
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18002b3a0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
xor cl, cl
xor r12d, r12d
jmp 0x18002e24a
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x18002e1f1
call fcn.180007af0
test al, al
je 0x18002e1f1
mov r14, qword [rsp + 0x70]
mov cl, 1
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
mov byte [rbp + 0x178], cl
jmp 0x18002e24a
test r10b, r10b
jne 0x18002e588
test r9b, r9b
jne 0x18002e588
test r14b, r14b
je 0x18002e26c
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x18002e26c
call fcn.180007af0
test al, al
je 0x18002e26c
mov r14, qword [rsp + 0x70]
xor r12d, r12d
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], r12d
mov byte [r14 + 0x62], r12b
mov byte [r14 + 0xe7c], 1
mov rsi, qword [rsp + 0x60]
xor cl, cl
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x18002e5d2
cmp byte [rbp + 0x1a8], 0
je 0x18002e5d2
mov al, 1
jmp 0x18002e5d4
movzx r12d, byte [rsp + 0x5c]
test r12b, r12b
jne 0x18002e428
test sil, sil
jne 0x18002e428
test dil, dil
je 0x18002e5be
mov rcx, qword [0x180049df0]
mov rax, qword [rcx + 0x100]
test rax, rax
je 0x18002e2c2
mov rcx, qword [rcx + 0x110]
call rax
mov rbx, rax
test rax, rax
jne 0x18002e2c9
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
xor cl, cl
xor r12d, r12d
jmp 0x18002e24a
lea rbx, [0x18003b8ce]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x18002e2d0
mov rcx, qword [0x180049df0]
test rcx, rcx
je 0x18002e2eb
inc dword [rcx + 0x3b4]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r12d, r12d
mov qword [rbp - 0x30], rax
mov r14, rax
mov esi, r12d
cmp byte [rbx], r12b
je 0x18002e365
mov r14d, dword [rbp + 0x198]
mov rdi, rax
nop dword [rax + rax]
xor r8d, r8d
lea rcx, [rsp + 0x6c]
mov rdx, rbx
call fcn.1800027b0
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x6c], r12d
je 0x18002e361
mov edx, r14d
lea rcx, [rsp + 0x6c]
call fcn.18002c580
test al, al
je 0x18002e35c
movzx eax, word [rsp + 0x6c]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r12b
jne 0x18002e320
mov r14, qword [rbp - 0x30]
movsxd rax, esi
mov word [r14 + rax*2], r12w
test esi, esi
jle 0x18002e3fe
mov rdi, qword [rsp + 0x70]
mov edx, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x50]
mov eax, dword [rdi + 4]
cmp ecx, edx
je 0x18002e3a0
cmp ecx, eax
jle 0x18002e390
mov dword [rdi + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x18002e399
mov dword [rdi + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x18002e3a0
mov dword [rdi + 0x4c], ecx
cmp dword [rdi + 0x4c], eax
jle 0x18002e3a8
mov dword [rdi + 0x4c], eax
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002b260
mov edx, dword [rdi + 0x4c]
mov r9d, esi
mov r8, r14
mov rcx, rdi
call fcn.18002ad70
test al, al
je 0x18002e3e1
mov edx, dword [rdi + 0x4c]
lea rcx, [rdi + 0x4c]
mov r8d, esi
call fcn.18002c4d0
add dword [rdi + 0x4c], esi
mov byte [rdi + 0x62], r12b
jmp 0x18002e3f7
movzx eax, word [rdi + 0xe6a]
test ax, ax
je 0x18002e3f7
dec ax
mov word [rdi + 0xe6a], ax
mov byte [rdi + 0xe7c], 1
test r14, r14
je 0x18002e415
mov rax, qword [0x180049df0]
test rax, rax
je 0x18002e415
dec dword [rax + 0x3b4]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, qword [rsp + 0x70]
jmp 0x18002e243
mov rsi, qword [rsp + 0x60]
cmp qword [rsi + 0x108], 0
je 0x18002e52d
mov r15, qword [rsp + 0x70]
mov ecx, dword [r15 + 0x54]
mov eax, dword [r15 + 0x50]
cmp eax, ecx
je 0x18002e459
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
xor r9d, r9d
jmp 0x18002e463
mov edx, dword [r15 + 4]
xor r9d, r9d
mov ecx, r9d
mov rax, qword [r15 + 0x18]
mov r10d, 0x800
movsxd rsi, edx
movsxd r14, ecx
mov ecx, r9d
mov r9d, 0x80
lea r8, [rax + rsi*2]
lea rdx, [rax + r14*2]
test r8, r8
je 0x18002e48e
cmp rdx, r8
jae 0x18002e4b1
movzx eax, word [rdx]
test ax, ax
je 0x18002e4b1
add rdx, 2
cmp ax, r9w
jae 0x18002e4a4
inc ecx
jmp 0x18002e484
cmp ax, r10w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x18002e484
mov rax, qword [0x180049df0]
lea edi, [rcx + 1]
test rax, rax
je 0x18002e4c6
inc dword [rax + 0x3b4]
movsxd rcx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r15 + 0x18]
mov edx, edi
mov rbx, rax
lea r9, [rcx + rsi*2]
lea r8, [rcx + r14*2]
mov rcx, rax
call fcn.180002960
mov r9, qword [0x180049df0]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x18002e50e
mov rcx, qword [r9 + 0x110]
mov rdx, rbx
call rax
mov r9, qword [0x180049df0]
test rbx, rbx
je 0x18002e51f
test r9, r9
je 0x18002e51f
dec dword [r9 + 0x3b4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
test r12b, r12b
je 0x18002e1b9
mov eax, dword [r14 + 0x54]
xor r12d, r12d
cmp dword [r14 + 0x50], eax
jne 0x18002e55c
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], r12d
mov byte [r14 + 0x62], r12b
mov byte [r14 + 0xe7c], 1
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x18002e248
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18002b260
mov byte [r14 + 0x62], 0
jmp 0x18002e248
mov r14, qword [rsp + 0x70]
movzx r8d, r10b
mov rcx, r14
xor r8d, 1
add r8d, 0x20000a
lea rdx, [r14 + 0x4c]
call fcn.18002b3a0
mov eax, dword [r14 + 0x4c]
mov rsi, qword [rsp + 0x60]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x50], eax
jmp 0x18002e1a6
mov r14, qword [rsp + 0x70]
xor cl, cl
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x18002e24a
xor al, al
movzx r13d, byte [rbp + 0x188]
mov edi, dword [rbp - 0x78]
or r13b, al
mov eax, dword [rsi + 0x1b30]
mov byte [rbp + 0x188], r13b
cmp eax, edi
jne 0x18002eff6
movzx r10d, byte [rbp + 0x178]
mov qword [rbp - 0x30], r12
mov dword [rsp + 0x68], r12d
test cl, cl
je 0x18002e8c9
cmp byte [rsp + 0x58], 0
jne 0x18002e8a3
mov r9, qword [r14 + 0x38]
mov rax, qword [rbp + 0x180]
mov r8, r9
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002e643
inc rax
test ecx, ecx
jne 0x18002e630
test edx, edx
je 0x18002e8a3
mov r12d, dword [r14 + 0x30]
xor ecx, ecx
dec r12d
mov qword [rbp - 0x30], r9
mov dword [rsp + 0x68], r12d
mov r13d, ecx
mov qword [rbp - 0x10], rcx
mov esi, ecx
mov qword [rbp - 8], rcx
test r12d, r12d
jle 0x18002e80a
movzx eax, byte [rbp + 0x188]
mov rdi, r9
movzx ecx, byte [rbp + 0x1a0]
movsxd rbx, r12d
add rbx, r9
nop word [rax + rax]
test rbx, rbx
je 0x18002e69a
cmp rdi, rbx
jae 0x18002e702
cmp byte [rdi], 0
movzx esi, cl
movzx r14d, al
mov byte [rbp + 0x188], al
movzx r15d, r10b
mov byte [rbp + 0x1a0], cl
je 0x18002e702
mov r8, rbx
lea rcx, [rbp + 0x178]
mov rdx, rdi
call fcn.1800027b0
movsxd rcx, eax
movzx r10d, r15b
add rdi, rcx
mov byte [rbp + 0x188], r14b
cmp dword [rbp + 0x178], 0
mov byte [rbp + 0x1a0], sil
je 0x18002e702
movzx eax, r14b
movzx ecx, sil
mov byte [rbp + 0x188], al
inc r13d
mov byte [rbp + 0x1a0], cl
jmp 0x18002e690
inc r13d
mov byte [rbp + 0x178], r10b
test r13d, r13d
jle 0x18002e731
cmp r13d, 8
lea rcx, [rbp - 0x10]
mov edx, r13d
mov eax, 8
cmovl edx, eax
call fcn.180014210
movzx r10d, byte [rbp + 0x178]
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp - 0x30]
movsxd rax, r13d
dec rax
lea rax, [rsi + rax*2]
mov qword [rbp - 0x40], rax
cmp rsi, rax
jae 0x18002e7fa
movzx ecx, byte [rbp + 0x188]
movzx edx, byte [rbp + 0x1a0]
nop
test rbx, rbx
je 0x18002e76e
cmp rdi, rbx
jae 0x18002e7f5
cmp byte [rdi], 0
movzx r14d, dl
movzx r15d, cl
mov byte [rbp + 0x178], r10b
movzx r12d, r10b
mov byte [rbp + 0x188], cl
mov byte [rbp + 0x1a0], dl
je 0x18002e7f5
mov r8, rbx
lea rcx, [rsp + 0x6c]
mov rdx, rdi
call fcn.1800027b0
movsxd rcx, eax
mov eax, dword [rsp + 0x6c]
add rdi, rcx
mov byte [rbp + 0x178], r12b
mov byte [rbp + 0x188], r15b
mov byte [rbp + 0x1a0], r14b
test eax, eax
je 0x18002e7f5
mov word [rsi], ax
movzx ecx, r15b
add rsi, 2
mov byte [rbp + 0x178], r12b
movzx edx, r14b
movzx r10d, r12b
mov byte [rbp + 0x188], cl
mov byte [rbp + 0x1a0], dl
cmp rsi, qword [rbp - 0x40]
jb 0x18002e760
mov r12d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
xor r9d, r9d
mov word [rsi], r9w
mov rsi, qword [rbp - 8]
movsxd rdi, dword [r14 + 4]
lea ebx, [r13 - 1]
test r12d, r12d
lea rcx, [r14 + 0x6c]
mov r12d, 0
mov r8d, edi
cmovle ebx, r12d
xor edx, edx
mov r9d, ebx
call fcn.18002c170
mov r9, rax
test rax, rax
je 0x18002e855
test edi, edi
jle 0x18002e855
mov edx, r12d
nop
mov rcx, qword [r14 + 0x18]
movzx eax, word [rcx + rdx*2]
mov word [r9 + rdx*2], ax
inc rdx
cmp rdx, rdi
jl 0x18002e840
mov r8d, dword [r14 + 4]
xor edx, edx
mov rcx, r14
call fcn.18002aca0
test ebx, ebx
jle 0x18002e883
mov r9d, ebx
mov r8, rsi
xor edx, edx
mov rcx, r14
call fcn.18002ad70
test al, al
je 0x18002e883
mov dword [r14 + 0x4c], ebx
mov byte [r14 + 0x62], r12b
test rsi, rsi
je 0x18002e8a3
mov rax, qword [0x180049df0]
test rax, rax
je 0x18002e89a
dec dword [rax + 0x3b4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [rbp + 0x1a0], 0
mov r9d, dword [rbp + 0x198]
je 0x18002e8b9
test r9b, 0x20
jne 0x18002e8d0
mov r15d, dword [rbp - 0x7c]
mov rdi, qword [rbp + 0x180]
jmp 0x18002ef31
mov r9d, dword [rbp + 0x198]
cmp byte [rsp + 0x58], 0
jne 0x18002e9d5
mov eax, dword [r14 + 0x10]
mov byte [r14 + 0x40], 1
mov ecx, dword [r14 + 0x24]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18002e917
test ecx, ecx
je 0x18002e902
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002e907
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x20]
mov edx, ebx
cmovg edx, eax
call fcn.180014180
mov dword [r14 + 0x20], ebx
mov rdx, qword [r14 + 0x28]
mov r8, qword [r14 + 0x18]
movsxd r9, ebx
add r9, rdx
lea r10, [r9 - 1]
cmp rdx, r10
jae 0x18002e9cb
mov r14d, 0x80
nop dword [rax]
movzx eax, word [r8]
test ax, ax
je 0x18002e9c6
add r8, 2
mov ecx, eax
cmp eax, r14d
jae 0x18002e95b
mov byte [rdx], cl
inc rdx
jmp 0x18002e9bd
mov eax, r9d
sub eax, edx
dec eax
cmp ecx, 0x800
jae 0x18002e98d
cmp eax, 2
jge 0x18002e974
mov rax, r12
jmp 0x18002e9ba
mov eax, ecx
and cl, 0x3f
shr eax, 6
sub al, 0x40
add cl, 0x80
mov byte [rdx], al
mov byte [rdx + 1], cl
mov eax, 2
jmp 0x18002e9ba
cmp eax, 3
jge 0x18002e997
mov rax, r12
jmp 0x18002e9ba
mov eax, ecx
shr eax, 0xc
sub al, 0x20
mov byte [rdx], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
add al, 0x80
add cl, 0x80
mov byte [rdx + 1], al
mov byte [rdx + 2], cl
mov eax, 3
add rdx, rax
cmp rdx, r10
jb 0x18002e940
mov r14, qword [rsp + 0x70]
mov r9d, dword [rbp + 0x198]
mov byte [rdx], 0
test r9d, 0x801c0
je 0x18002eed6
mov r8d, 0x16
test r9b, 0x40
je 0x18002ea0e
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x18002ea0e
call fcn.180007af0
test al, al
je 0x18002ea0e
lea eax, [r8 + 0x2a]
mov r8d, r12d
jmp 0x18002ea81
test r9b, r9b
jns 0x18002ea5f
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18002ea39
call fcn.180007af0
test al, al
je 0x18002ea39
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7d]
jmp 0x18002ea87
mov rax, qword [0x180049df0]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x18002ea5f
call fcn.180007af0
test al, al
je 0x18002ea5f
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7c]
jmp 0x18002ea87
mov eax, 0x80000
test eax, r9d
je 0x18002ea73
cmp byte [r14 + 0xe7e], 0
jne 0x18002ea81
mov eax, 0x100
test eax, r9d
je 0x18002eed6
mov r10d, 0x80
mov dword [rbp + 0x10], eax
mov ebx, r12d
mov rax, qword [r14 + 0x28]
mov qword [rbp + 0x28], rax
mov eax, dword [r14 + 8]
mov dword [rbp + 0x30], eax
mov eax, dword [r14 + 0x44]
mov dword [rbp + 0x34], eax
movsxd rax, dword [r14 + 0x4c]
mov dword [rbp + 0x24], r8d
mov r8, qword [r14 + 0x18]
mov dword [rbp + 0x14], r9d
mov rcx, r8
mov dword [rbp + 0x20], r12d
mov r9d, 0x800
mov qword [rbp + 0x39], r12
lea rdx, [r8 + rax*2]
mov dword [rbp + 0x41], r12d
mov word [rbp + 0x45], r12w
mov byte [rbp + 0x47], 0
mov qword [rbp + 0x18], r12
mov byte [rbp + 0x38], 0
nop dword [rax]
test rdx, rdx
je 0x18002eaea
cmp rcx, rdx
jae 0x18002eb0d
movzx eax, word [rcx]
test ax, ax
je 0x18002eb0d
add rcx, 2
cmp ax, r10w
jae 0x18002eb00
inc ebx
jmp 0x18002eae0
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x18002eae0
movsxd rax, dword [r14 + 0x50]
mov rcx, r8
mov dword [rbp + 0x3c], ebx
mov r13d, r12d
lea rdx, [r8 + rax*2]
nop
test rdx, rdx
je 0x18002eb2a
cmp rcx, rdx
jae 0x18002eb4f
movzx eax, word [rcx]
test ax, ax
je 0x18002eb4f
add rcx, 2
cmp ax, r10w
jae 0x18002eb41
inc r13d
jmp 0x18002eb20
cmp ax, r9w
sbb eax, eax
add eax, 3
add r13d, eax
jmp 0x18002eb20
movsxd rax, dword [r14 + 0x54]
mov edx, r12d
mov dword [rbp + 0x40], r13d
lea rcx, [r8 + rax*2]
nop
test rcx, rcx
je 0x18002eb6a
cmp r8, rcx
jae 0x18002eb8e
movzx eax, word [r8]
test ax, ax
je 0x18002eb8e
add r8, 2
cmp ax, r10w
jae 0x18002eb81
inc edx
jmp 0x18002eb60
cmp ax, r9w
sbb eax, eax
add eax, 3
add edx, eax
jmp 0x18002eb60
lea rcx, [rbp + 0x10]
mov dword [rsp + 0x6c], edx
mov dword [rbp + 0x44], edx
call r12
movsxd rcx, dword [rbp + 0x3c]
movzx edx, byte [rbp + 0x38]
mov byte [rsp + 0x54], dl
cmp ecx, ebx
jne 0x18002ebb4
test dl, dl
je 0x18002ec72
mov rbx, qword [rbp + 0x28]
movzx eax, byte [rbp + 0x178]
movzx edx, byte [rbp + 0x188]
movzx r8d, byte [rbp + 0x1a0]
lea r15, [rbx + rcx]
test r15, r15
je 0x18002ebdc
cmp rbx, r15
jae 0x18002ec56
cmp byte [rbx], 0
movzx edi, r8b
movzx esi, dl
mov byte [rbp + 0x178], al
movzx r14d, al
mov byte [rbp + 0x188], dl
mov byte [rbp + 0x1a0], r8b
je 0x18002ec56
mov r8, r15
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.1800027b0
movsxd rcx, eax
add rbx, rcx
mov byte [rbp + 0x178], r14b
cmp dword [rbp - 0x40], 0
mov byte [rbp + 0x188], sil
mov byte [rbp + 0x1a0], dil
je 0x18002ec56
movzx eax, r14b
mov byte [rbp + 0x1a0], dil
movzx edx, sil
mov byte [rbp + 0x178], al
mov byte [rbp + 0x188], dl
inc r12d
movzx r8d, dil
jmp 0x18002ebd2
mov r14, qword [rsp + 0x70]
mov ecx, dword [rbp + 0x3c]
movzx edx, byte [rsp + 0x54]
mov dword [r14 + 0x4c], r12d
xor r12d, r12d
mov byte [r14 + 0xe7c], 1
movsxd rax, dword [rbp + 0x40]
cmp eax, r13d
jne 0x18002ec83
test dl, dl
je 0x18002ed45
cmp eax, ecx
jne 0x18002ec90
mov r12d, dword [r14 + 0x4c]
jmp 0x18002ed3c
mov rbx, qword [rbp + 0x28]
movzx ecx, byte [rbp + 0x178]
movzx edx, byte [rbp + 0x188]
movzx r8d, byte [rbp + 0x1a0]
lea r15, [rbx + rax]
nop
test r15, r15
je 0x18002ecba
cmp rbx, r15
jae 0x18002ed34
cmp byte [rbx], 0
movzx edi, r8b
movzx esi, dl
mov byte [rbp + 0x178], cl
movzx r14d, cl
mov byte [rbp + 0x188], dl
mov byte [rbp + 0x1a0], r8b
je 0x18002ed34
mov r8, r15
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.1800027b0
movsxd rcx, eax
add rbx, rcx
mov byte [rbp + 0x178], r14b
cmp dword [rbp - 0x40], 0
mov byte [rbp + 0x188], sil
mov byte [rbp + 0x1a0], dil
je 0x18002ed34
movzx ecx, r14b
mov byte [rbp + 0x1a0], dil
movzx edx, sil
mov byte [rbp + 0x178], cl
mov byte [rbp + 0x188], dl
inc r12d
movzx r8d, dil
jmp 0x18002ecb0
mov eax, dword [rbp + 0x40]
mov r14, qword [rsp + 0x70]
movzx edx, byte [rsp + 0x54]
mov dword [r14 + 0x50], r12d
movsxd rcx, dword [rbp + 0x44]
cmp ecx, dword [rsp + 0x6c]
jne 0x18002ed57
test dl, dl
je 0x18002eedc
xor r13d, r13d
cmp ecx, eax
jne 0x18002ed67
mov r12d, dword [r14 + 0x50]
jmp 0x18002ee0a
mov rbx, qword [rbp + 0x28]
mov r12d, r13d
movzx eax, byte [rbp + 0x178]
movzx edx, byte [rbp + 0x1a0]
lea r15, [rbx + rcx]
movzx ecx, byte [rbp + 0x188]
test r15, r15
je 0x18002ed91
cmp rbx, r15
jae 0x18002ee05
movzx edi, dl
movzx esi, cl
movzx r14d, al
mov byte [rbp + 0x178], al
mov byte [rbp + 0x188], cl
mov byte [rbp + 0x1a0], dl
cmp byte [rbx], r13b
je 0x18002ee05
mov r8, r15
lea rcx, [rbp - 0x40]
mov rdx, rbx
call fcn.1800027b0
movsxd rcx, eax
add rbx, rcx
mov byte [rbp + 0x178], r14b
mov byte [rbp + 0x188], sil
mov byte [rbp + 0x1a0], dil
cmp dword [rbp - 0x40], r13d
je 0x18002ee05
movzx eax, r14b
movzx ecx, sil
movzx edx, dil
mov byte [rbp + 0x178], al
mov byte [rbp + 0x188], cl
inc r12d
mov byte [rbp + 0x1a0], dl
jmp 0x18002ed87
mov r14, qword [rsp + 0x70]
cmp byte [rsp + 0x54], 0
mov r15d, dword [rbp - 0x7c]
mov dword [r14 + 0x54], r12d
je 0x18002eee0
mov ebx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x44]
cmp ebx, eax
jle 0x18002ee62
test r15b, r15b
je 0x18002ee62
mov ecx, dword [r14 + 0x14]
sub ebx, eax
add ebx, dword [r14 + 0x10]
cmp ebx, ecx
jle 0x18002ee5e
test ecx, ecx
je 0x18002ee49
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002ee4e
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180014210
mov dword [r14 + 0x10], ebx
mov r14, qword [r14 + 0x18]
mov r10, qword [rsp + 0x70]
mov rbx, r14
mov rdi, qword [rbp + 0x28]
movsxd rsi, dword [r10 + 0x10]
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x18002eeaf
cmp byte [rdi], 0
je 0x18002eeaf
xor r8d, r8d
lea rcx, [rbp - 0x40]
mov rdx, rdi
call fcn.1800027b0
movsxd rcx, eax
mov eax, dword [rbp - 0x40]
add rdi, rcx
test eax, eax
je 0x18002eeaf
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x18002ee82
mov word [rbx], r13w
sub rbx, r14
mov r14, qword [rsp + 0x70]
mov eax, dword [rbp + 0x30]
sar rbx, 1
mov dword [r14 + 4], ebx
mov dword [r14 + 8], eax
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x18002eee0
mov r15d, dword [rbp - 0x7c]
jmp 0x18002eee7
mov r15d, dword [rbp - 0x7c]
mov r9d, dword [rbp + 0x198]
cmp byte [rsp + 0x58], 0
mov rdi, qword [rbp + 0x180]
jne 0x18002ef31
mov r9, qword [r14 + 0x28]
mov r8, rdi
mov rax, r9
sub r8, r9
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18002ef15
inc rax
test ecx, ecx
jne 0x18002ef02
test edx, edx
je 0x18002ef2a
mov ecx, dword [r14 + 8]
mov qword [rbp - 0x30], r9
mov r9d, dword [rbp + 0x198]
jmp 0x18002ef35
mov r9d, dword [rbp + 0x198]
mov ecx, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x18002efd3
test r15b, r15b
je 0x18002efa2
lea eax, [rcx + 1]
mov dword [rbp + 0x68], ecx
xor edx, edx
mov dword [rbp + 0x48], 0x40000
cmp eax, 0x20
mov qword [rbp + 0x58], rdx
mov ecx, 0x20
mov dword [rbp + 0x4c], r9d
cmovle eax, ecx
mov qword [rbp + 0x60], rdi
xorps xmm0, xmm0
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x50], rdx
movdqu xmmword [rbp + 0x70], xmm0
call rdx
mov r8d, dword [rbp + 0x6c]
mov rdi, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x30]
mov qword [rbp + 0x180], rdi
lea ecx, [r8 - 1]
cmp dword [rbp + 0x68], ecx
cmovl ecx, dword [rbp + 0x68]
jmp 0x18002efa8
mov r8d, 0x20
lea eax, [rcx + 1]
cmp eax, r8d
cmovl r8d, eax
movsxd rbx, r8d
cmp rbx, 1
jb 0x18002efcf
jbe 0x18002efca
lea r8, [rbx - 1]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + rdi - 1], 0
mov byte [rbp - 0x7f], 1
movzx r13d, byte [rbp + 0x188]
xor r12d, r12d
mov edi, dword [rbp - 0x78]
mov dword [r14 + 0xe80], r12d
mov qword [r14 + 0xe88], r12
mov qword [r14 + 0xe90], r12
cmp byte [rbp + 0x178], 0
mov r10, qword [rsp + 0x60]
je 0x18002f06b
cmp dword [r10 + 0x1b30], edi
jne 0x18002f06b
mov rdx, qword [0x180049df0]
mov ecx, dword [rdx + 0x1b30]
test ecx, ecx
setne al
mov byte [rdx + 0x1b3c], al
test ecx, ecx
je 0x18002f039
mov dword [rdx + 0x1b38], r12d
mov word [rdx + 0x1b3f], 0
mov dword [rdx + 0x1b30], r12d
mov word [rdx + 0x1b3d], 0
mov qword [rdx + 0x1b60], r12
mov word [rdx + 0x1b41], 0
mov qword [rdx + 0x1b44], 0
mov qword [rdx + 0x1b50], r12
mov r8d, dword [rsp + 0x50]
test r8b, r8b
jne 0x18002f136
mov r8d, 1
lea rcx, [rbp - 0x28]
mov edx, edi
call fcn.1800037b0
movss xmm9, dword [0x180040b84]
mov ecx, 7
movaps xmm1, xmm9
call fcn.180002ce0
mov rdx, qword [rbp - 0x20]
mov r8d, eax
mov rax, qword [rsp + 0x60]
mov r9b, 1
mov rcx, qword [rbp - 0x28]
movss xmm0, dword [rax + 0x15a0]
movss dword [rsp + 0x20], xmm0
call fcn.180003370
movss xmm1, dword [rbp - 0x24]
movaps xmm15, xmm7
mov r10, qword [rsp + 0x60]
movaps xmm12, xmm1
movss xmm4, dword [rbp - 0x18]
addss xmm12, xmm6
mov r11, qword [rbp - 0x68]
movaps xmm13, xmm4
mov r8d, dword [rsp + 0x50]
addss xmm13, xmm7
movaps xmm0, xmm1
movss dword [rbp - 0x58], xmm7
addss xmm7, dword [r10 + 0x1598]
addss xmm0, dword [r10 + 0x159c]
movss dword [rbp - 0x54], xmm1
movaps xmm14, xmm1
movss dword [rbp - 0x50], xmm13
movss dword [rbp - 0x4c], xmm12
movss dword [rbp + 0x178], xmm7
movss dword [rbp + 0x17c], xmm0
jmp 0x18002f18e
movss xmm0, dword [rbp - 0x24]
movaps xmm15, xmm7
movss xmm4, dword [rbp - 0x18]
movaps xmm12, xmm0
mov r11, qword [rbp - 0x68]
addss xmm12, xmm6
movss xmm9, dword [0x180040b84]
movaps xmm13, xmm4
addss xmm13, xmm7
movss dword [rbp - 0x58], xmm7
movss dword [rbp - 0x54], xmm0
movaps xmm14, xmm0
movss dword [rbp - 0x4c], xmm12
movss dword [rbp - 0x50], xmm13
movsd xmm0, qword [r11 + 0xd8]
movsd qword [rbp + 0x178], xmm0
cmp byte [rbp - 0x80], 0
lea rax, [rbp + 0x178]
movsd xmm0, qword [rax]
xorps xmm5, xmm5
xorps xmm8, xmm8
movsd qword [rbp - 0x60], xmm0
movss dword [rbp + 0x188], xmm5
movss dword [rbp + 0x178], xmm8
je 0x18002f1c9
mov rsi, qword [r14 + 0x28]
mov qword [rbp + 0x180], rsi
jmp 0x18002f1d0
mov rsi, qword [rbp + 0x180]
movzx eax, byte [rbp + 0x1a8]
test al, al
jne 0x18002f2e3
test r13b, r13b
jne 0x18002f2e3
test r8b, r8b
je 0x18002f248
movzx edx, byte [rsi]
lea r15, [rsi + 1]
mov ecx, r12d
test dl, dl
je 0x18002f216
nop dword [rax + rax]
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [r15]
cmovne eax, ecx
inc r15
mov ecx, eax
test dl, dl
jne 0x18002f200
movzx eax, byte [r15 - 1]
dec r15
cmp al, 0xa
je 0x18002f228
cmp al, 0xd
je 0x18002f228
inc ecx
movd xmm8, ecx
movaps xmm6, xmm4
cvtdq2ps xmm8, xmm8
mulss xmm8, dword [r10 + 0x1980]
movss dword [rbp + 0x178], xmm8
jmp 0x18002f287
cmp dword [r10 + 0x1b30], edi
jne 0x18002f257
movsxd r15, dword [r14 + 8]
jmp 0x18002f26a
mov r15, 0xffffffffffffffff
nop
inc r15
cmp byte [rsi + r15], 0
jne 0x18002f260
movss xmm6, dword [rbp + 0x188]
add r15, rsi
mov rax, r15
sub rax, rsi
cmp rax, 0x200000
jge 0x18002fa7a
mov ebx, dword [rsp + 0x50]
lea r8, [rbp - 0x58]
test bl, bl
movaps xmm1, xmm9
cmovne r8, r12
xor ecx, ecx
call fcn.180002ce0
movss xmm2, dword [r10 + 0x1980]
lea r9, [rbp - 0x60]
mov rdx, qword [r10 + 0x1978]
xorps xmm9, xmm9
mov rcx, qword [r11 + 0x2b8]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm9
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.18001e950
jmp 0x18002fa97
movsxd r12, dword [r14 + 8]
xor r9d, r9d
mov rdi, qword [r14 + 0x18]
mov r8d, 0xfffffc18
xorps xmm7, xmm7
xorps xmm6, xmm6
mov r10d, r9d
mov ebx, r8d
lea r15, [rsi + r12]
mov esi, r9d
mov edx, r9d
test al, al
je 0x18002f31e
movsxd rax, dword [r14 + 0x4c]
lea edx, [r9 + 1]
lea r8d, [r9 - 1]
lea r10, [rdi + rax*2]
test r13b, r13b
je 0x18002f33e
mov ecx, dword [r14 + 0x54]
mov ebx, 0xffffffff
cmp dword [r14 + 0x50], ecx
cmovl ecx, dword [r14 + 0x50]
inc edx
movsxd rax, ecx
lea rsi, [rdi + rax*2]
movzx eax, byte [rsp + 0x50]
movzx ecx, word [rdi]
add edx, eax
mov rax, rdi
test cx, cx
je 0x18002f38d
cmp cx, 0xa
jne 0x18002f380
inc r9d
cmp r8d, 0xffffffff
jne 0x18002f36d
cmp rax, r10
jb 0x18002f36d
dec edx
mov r8d, r9d
test edx, edx
jle 0x18002f38d
cmp ebx, 0xffffffff
jne 0x18002f380
cmp rax, rsi
jb 0x18002f380
dec edx
mov ebx, r9d
test edx, edx
jle 0x18002f38d
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x18002f350
inc r9d
mov rdx, r10
cmp r8d, 0xffffffff
mov r11d, r9d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r9d
cmp r10, rdi
jbe 0x18002f3c3
nop word [rax + rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002f3c3
mov rdx, rax
cmp rax, rdi
ja 0x18002f3b0
mov rax, qword [0x180049df0]
movaps xmm2, xmm5
movaps xmm11, xmm5
mov r8, qword [rax + 0x1978]
movss xmm3, dword [rax + 0x1980]
divss xmm3, dword [r8 + 0x14]
cmp rdx, r10
jae 0x18002f433
nop dword [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18002f407
maxss xmm2, xmm11
movaps xmm11, xmm5
jmp 0x18002f42e
cmp ecx, 0xd
je 0x18002f42e
cmp ecx, dword [r8]
jge 0x18002f41c
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x18002f422
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm11, xmm0
cmp rdx, r10
jb 0x18002f3f0
mov r10, qword [rsp + 0x60]
maxss xmm11, xmm2
movd xmm10, r11d
cvtdq2ps xmm10, xmm10
movss xmm2, dword [r10 + 0x1980]
mulss xmm10, xmm2
test ebx, ebx
js 0x18002f4cc
mov rdx, rsi
cmp rsi, rdi
jbe 0x18002f473
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x18002f473
mov rdx, rax
cmp rax, rdi
ja 0x18002f460
movaps xmm1, xmm5
movaps xmm6, xmm5
cmp rdx, rsi
jae 0x18002f4bd
nop
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18002f495
maxss xmm1, xmm6
movaps xmm6, xmm5
jmp 0x18002f4b8
cmp ecx, 0xd
je 0x18002f4b8
cmp ecx, dword [r8]
jge 0x18002f4aa
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002f4b0
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm3
addss xmm6, xmm0
cmp rdx, rsi
jb 0x18002f480
movd xmm7, ebx
maxss xmm6, xmm1
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm2
mov r8d, dword [rsp + 0x50]
test r8b, r8b
je 0x18002f4f5
movd xmm8, r9d
cvtdq2ps xmm8, xmm8
movss dword [rbp + 0x188], xmm4
mulss xmm8, xmm2
movss dword [rbp + 0x178], xmm8
movzx esi, byte [rbp + 0x1a8]
test sil, sil
je 0x18002f62f
cmp byte [r14 + 0xe7c], 0
je 0x18002f62f
test dword [rbp + 0x198], 0x1000
jne 0x18002f574
movss xmm1, dword [r14 + 0x48]
movaps xmm2, xmm4
comiss xmm1, xmm11
mulss xmm2, dword [0x180040b3c]
subss xmm4, dword [r10 + 0x1598]
jbe 0x18002f550
movaps xmm1, xmm11
movaps xmm0, xmm5
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x18002f561
movaps xmm0, xmm11
subss xmm0, xmm4
comiss xmm0, xmm1
jb 0x18002f57b
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x48], xmm0
jmp 0x18002f57b
xor r9d, r9d
mov dword [r14 + 0x48], r9d
test r8b, r8b
je 0x18002f60f
movss xmm1, dword [rbp - 0x48]
movaps xmm0, xmm10
subss xmm0, dword [r10 + 0x1980]
movss xmm3, dword [rbp - 0x34]
comiss xmm1, xmm0
jbe 0x18002f5a9
movaps xmm1, xmm5
maxss xmm1, xmm0
jmp 0x18002f5c7
movaps xmm0, xmm10
subss xmm0, xmm3
comiss xmm0, xmm1
jb 0x18002f5c7
movss xmm1, dword [r10 + 0x159c]
addss xmm1, xmm1
addss xmm1, xmm0
comiss xmm5, xmm1
movss xmm2, dword [r10 + 0x159c]
jbe 0x18002f5da
movaps xmm2, xmm5
jmp 0x18002f5ef
addss xmm2, xmm2
addss xmm2, xmm8
subss xmm2, xmm3
maxss xmm2, xmm5
minss xmm2, xmm1
movss xmm1, dword [rbp - 0x5c]
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x60]
subss xmm0, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
movss dword [rax + 0x60], xmm2
mov byte [r14 + 0xe7c], 0
movss xmm12, dword [rbp - 0x4c]
movss xmm13, dword [rbp - 0x50]
movss xmm14, dword [rbp - 0x54]
movss xmm15, dword [rbp - 0x58]
movss xmm8, dword [r14 + 0x48]
test r13b, r13b
je 0x18002f91e
mov edx, dword [r14 + 0x54]
mov eax, edx
mov ecx, dword [r14 + 0x50]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea rbx, [rdi + rax*2]
movsxd rax, edx
lea rdi, [rdi + rax*2]
test sil, sil
je 0x18002f668
movaps xmm1, xmm9
jmp 0x18002f670
movss xmm1, dword [0x180040b54]
mov ecx, 0x2f
call fcn.180002ce0
mov esi, eax
xorps xmm3, xmm3
test r8b, r8b
je 0x18002f68f
movss dword [rbp + 8], xmm3
xorps xmm9, xmm9
jmp 0x18002f698
movss xmm9, dword [0x180040ba8]
movss xmm5, dword [rbp - 0x60]
addss xmm6, xmm5
addss xmm7, dword [rbp - 0x5c]
subss xmm6, xmm8
subss xmm7, xmm3
cmp rbx, rdi
jae 0x18002f86f
movss xmm4, dword [r10 + 0x1980]
movaps xmm1, xmm4
movaps xmm0, xmm12
addss xmm0, xmm1
comiss xmm7, xmm0
ja 0x18002f86a
comiss xmm14, xmm7
jbe 0x18002f6ff
cmp rbx, rdi
jae 0x18002f849
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x18002f849
cmp rbx, rdi
jb 0x18002f6e4
jmp 0x18002f86a
mov rax, qword [0x180049df0]
xorps xmm1, xmm1
mov rdx, qword [rax + 0x1978]
movss xmm2, dword [rax + 0x1980]
divss xmm2, dword [rdx + 0x14]
cmp rbx, rdi
jae 0x18002f760
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x18002f756
cmp ecx, 0xd
je 0x18002f74f
cmp ecx, dword [rdx]
jge 0x18002f742
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18002f747
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jb 0x18002f722
jmp 0x18002f760
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
maxss xmm1, xmm3
xorps xmm3, xmm3
comiss xmm3, xmm1
jb 0x18002f79e
mov rax, qword [r10 + 0x1978]
cmp dword [rax], 0x20
jle 0x18002f786
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18002f78b
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x180040b50]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rbp + 8]
addss xmm1, xmm6
subss xmm2, xmm4
movaps xmm0, xmm7
addss xmm0, xmm9
addss xmm6, xmm3
minss xmm1, xmm13
addss xmm2, xmm7
minss xmm0, xmm12
maxss xmm6, xmm15
movss dword [rbp - 8], xmm1
maxss xmm2, xmm14
comiss xmm0, xmm14
movss dword [rbp - 0xc], xmm2
movss dword [rbp - 0x10], xmm6
movss dword [rbp - 4], xmm0
jbe 0x18002f849
comiss xmm12, xmm2
jbe 0x18002f849
comiss xmm1, xmm15
jbe 0x18002f849
comiss xmm13, xmm6
jbe 0x18002f849
mov rax, qword [rbp - 0x68]
lea r8, [rbp - 8]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x10]
mov r9d, esi
movss dword [rsp + 0x20], xmm3
mov rcx, qword [rax + 0x2b8]
call fcn.18001e660
movss xmm5, dword [rbp - 0x60]
xorps xmm3, xmm3
mov r10, qword [rsp + 0x60]
movss xmm12, dword [rbp - 0x4c]
movss xmm13, dword [rbp - 0x50]
movss xmm14, dword [rbp - 0x54]
movss xmm15, dword [rbp - 0x58]
movss xmm4, dword [r10 + 0x1980]
movaps xmm6, xmm5
subss xmm6, xmm8
movaps xmm1, xmm4
addss xmm7, xmm4
cmp rbx, rdi
jb 0x18002f6c4
mov r8d, dword [rsp + 0x50]
movzx esi, byte [rbp + 0x1a8]
test r8b, r8b
jne 0x18002f888
cmp r12, 0x200000
jge 0x18002f928
movss xmm0, dword [rbp - 0x5c]
subss xmm5, xmm8
cmp byte [rsp + 0x50], 0
lea r8, [rbp - 0x58]
movss xmm7, dword [0x180040b84]
mov eax, 0
cmovne r8, rax
xorps xmm9, xmm9
subss xmm0, xmm9
movaps xmm1, xmm7
xor ecx, ecx
movss dword [rbp + 0x1a8], xmm5
movss dword [rbp + 0x1ac], xmm0
call fcn.180002ce0
mov rdx, qword [rbp + 0x180]
lea r9, [rbp + 0x1a8]
mov rbx, qword [rbp - 0x68]
movss xmm2, dword [r10 + 0x1980]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm9
mov rcx, qword [rbx + 0x2b8]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rdx
mov rdx, qword [r10 + 0x1978]
mov dword [rsp + 0x20], eax
call fcn.18001e950
mov r10, qword [rsp + 0x60]
jmp 0x18002f938
movss xmm5, dword [rbp - 0x60]
jmp 0x18002f876
movss xmm7, dword [0x180040b84]
xorps xmm9, xmm9
mov rbx, qword [rbp - 0x68]
test sil, sil
je 0x18002fa84
movss xmm0, dword [r10 + 0x18]
addss xmm0, dword [r14 + 0xe78]
movss dword [r14 + 0xe78], xmm0
cmp byte [r10 + 0xca], 0
je 0x18002f98c
comiss xmm9, xmm0
jae 0x18002f98c
movss xmm1, dword [0x180040b8c]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x180040b74]
comiss xmm1, xmm0
mov r10, qword [rsp + 0x60]
jae 0x18002f98c
xor al, al
jmp 0x18002f98e
mov al, 1
movss xmm6, dword [rbp - 0x60]
addss xmm6, xmm11
addss xmm10, dword [rbp - 0x5c]
subss xmm6, xmm8
subss xmm10, xmm9
movss dword [rbp - 0x10], xmm6
movaps xmm3, xmm6
addss xmm3, xmm7
movaps xmm1, xmm10
movaps xmm2, xmm10
subss xmm1, dword [r10 + 0x1980]
subss xmm2, dword [0x180040b98]
movss dword [rbp - 8], xmm3
addss xmm1, dword [0x180040b50]
movss dword [rbp - 4], xmm2
movss dword [rbp - 0xc], xmm1
test al, al
je 0x18002fa47
comiss xmm2, dword [rbp - 0x54]
jbe 0x18002fa47
movss xmm0, dword [rbp - 0x4c]
comiss xmm0, xmm1
jbe 0x18002fa47
comiss xmm3, dword [rbp - 0x58]
jbe 0x18002fa47
movss xmm0, dword [rbp - 0x50]
comiss xmm0, xmm6
jbe 0x18002fa47
movaps xmm1, xmm7
movss dword [rbp + 0x1a8], xmm6
xor ecx, ecx
movss dword [rbp + 0x1ac], xmm2
call fcn.180002ce0
mov rcx, qword [rbx + 0x2b8]
lea rdx, [rbp - 0x10]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x1a8]
call fcn.18001e3f0
mov r10, qword [rsp + 0x60]
cmp byte [rsp + 0x58], 0
mov ebx, dword [rsp + 0x50]
mov rsi, qword [rbp + 0x180]
jne 0x18002fa8f
subss xmm10, dword [r10 + 0x1980]
subss xmm6, xmm7
movss dword [r10 + 0x2ef4], xmm10
movss dword [r10 + 0x2ef0], xmm6
jmp 0x18002fa8f
mov ebx, dword [rsp + 0x50]
xorps xmm9, xmm9
jmp 0x18002fa97
mov ebx, dword [rsp + 0x50]
mov rsi, qword [rbp + 0x180]
movss xmm6, dword [rbp + 0x188]
mov edi, dword [rbp - 0x70]
test dil, dil
je 0x18002faa4
call fcn.18000cf50
test bl, bl
je 0x18002fae3
mov rax, qword [rsp + 0x60]
lea rcx, [rbp + 0x1a8]
movss xmm0, dword [rbp + 0x178]
movss dword [rbp + 0x1a8], xmm6
addss xmm0, dword [rax + 0x159c]
movss dword [rbp + 0x1ac], xmm0
call fcn.180029010
call fcn.180007e20
call fcn.18000db20
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x2f5c], 0
je 0x18002fb2d
test dil, dil
jne 0x18002fb2d
mov rax, qword [0x180049df0]
lea rcx, [0x18004033c]
mov r8, r15
mov rdx, rsi
mov qword [rax + 0x2f80], rcx
lea rcx, [0x180040338]
mov qword [rax + 0x2f88], rcx
lea rcx, [rbp - 0x60]
call fcn.180012900
mov rax, qword [rsp + 0x60]
movss xmm0, dword [rbp + 0xc]
comiss xmm0, xmm9
jbe 0x18002fb6c
movss xmm0, dword [rbp - 0x20]
mov r9b, 1
movss xmm1, dword [rbp - 0x24]
xor r8d, r8d
addss xmm0, dword [rax + 0x15b0]
addss xmm1, dword [rax + 0x159c]
mov rdx, qword [rbp + 0x170]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180002e40
movzx ecx, byte [rbp - 0x7f]
mov edx, dword [rbp + 0x198]
test cl, cl
je 0x18002fb9e
bt edx, 0x15
jb 0x18002fb9e
mov rax, qword [0x180049df0]
mov word [rax + 0x1b40], 0x101
mov rax, qword [rax + 0x1ae0]
or dword [rax + 0x128], 4
mov eax, ecx
test dl, 0x20
movzx ecx, byte [rbp + 0x1a0]
cmovne eax, ecx
jmp 0x18002cb3d