Function at 0x180031860
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 [0x1801a8fa0]
mov r13, rcx
movaps xmmword [rax - 0x58], xmm6
mov rdi, 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 - 0xe8], xmm15
mov rax, qword [rbx + 0x1c10]
mov qword [rsp + 0x70], rbx
mov byte [rax + 0x90], 1
mov rsi, qword [rbx + 0x1c10]
mov qword [rbp - 0x58], rsi
cmp byte [rsi + 0x93], 0
jne 0x180031b7f
mov r12d, dword [rbp + 0x198]
mov eax, r12d
shr eax, 0xe
mov r15d, r12d
and al, 1
shr r15d, 0x1a
mov dword [rsp + 0x7c], eax
and r15b, 1
mov eax, r12d
mov dword [rsp + 0x54], r15d
shr eax, 0xf
and al, 1
mov dword [rbp - 0x5c], eax
mov eax, r12d
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x78], eax
mov eax, r12d
shr eax, 0x12
and al, 1
mov dword [rbp - 0x64], eax
test r15b, r15b
je 0x18003195a
call fcn.18000ec60
mov rbx, qword [0x1801a8fa0]
movsxd rcx, dword [rsi + 0xc8]
xor edx, edx
mov rax, qword [rsi + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
mov rcx, r13
call fcn.180002940
mov r14d, eax
mov dword [rbp - 0x68], eax
cmp dword [rbx + 0x1c5c], eax
jne 0x18003198b
mov dword [rbx + 0x1c60], eax
cmp dword [rbx + 0x1c98], r14d
jne 0x18003199b
mov byte [rbx + 0x1c9c], 1
mov rcx, r13
cmp r13, 0xffffffffffffffff
jae 0x1800319bd
movzx eax, byte [rcx]
test al, al
je 0x1800319bd
cmp al, 0x23
jne 0x1800319b4
cmp byte [rcx + 1], al
je 0x1800319bd
inc rcx
cmp rcx, 0xffffffffffffffff
jb 0x1800319a4
movss xmm0, dword [rbx + 0x1980]
movss xmm9, dword [0x18005f6dc]
cmp r13, rcx
jne 0x1800319d9
xorps xmm15, xmm15
jmp 0x180031a30
movss xmm1, dword [0x18005f6fc]
lea rdx, [rbp + 0x178]
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm9
mov rcx, qword [rbx + 0x1978]
movaps xmm2, xmm0
mov qword [rsp + 0x28], r13
movss dword [rsp + 0x20], xmm1
call fcn.180025060
movss xmm0, dword [rbp + 0x178]
addss xmm0, dword [0x18005f58c]
cvttss2si eax, xmm0
movss xmm0, dword [rbp + 0x17c]
movd xmm15, eax
cvtdq2ps xmm15, xmm15
movss dword [rbp - 0x20], xmm15
xorps xmm11, xmm11
test r15b, r15b
je 0x180031a4f
movss xmm0, dword [rdi + 0x1980]
mulss xmm0, dword [0x18005f644]
movss xmm6, dword [rdi + 0x159c]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
call fcn.18000eae0
mov rdx, qword [rbp + 0x190]
lea rcx, [rbp + 0x178]
movaps xmm2, xmm0
mov rdx, qword [rdx]
call fcn.18000eb60
comiss xmm15, xmm11
jbe 0x180031a94
movaps xmm1, xmm15
addss xmm1, dword [rdi + 0x15b0]
jmp 0x180031a97
xorps xmm1, xmm1
movss xmm13, dword [rsi + 0xdc]
mov ebx, 1
movss xmm7, dword [rsi + 0xd8]
movss xmm12, dword [rbp + 0x17c]
movss xmm10, dword [rbp + 0x178]
movaps xmm0, xmm12
movss dword [rbp - 0x48], xmm13
addss xmm0, xmm13
movss dword [rbp - 0x78], xmm7
addss xmm1, xmm10
movss dword [rbp - 0x74], xmm13
movaps xmm8, xmm10
movss dword [rbp - 0x38], xmm7
addss xmm8, xmm7
movss dword [rbp - 0x34], xmm13
movss dword [rbp - 0x6c], xmm0
movaps xmm0, xmm13
mov qword [rbp - 0x50], rsi
addss xmm0, xmm12
addss xmm1, xmm7
movss dword [rbp], xmm8
movss dword [rbp - 0x70], xmm8
movss dword [rbp - 0x2c], xmm0
movss dword [rbp - 0x30], xmm1
test r15b, r15b
je 0x180031df6
mov r9d, ebx
lea r8, [rbp - 0x78]
mov edx, r14d
lea rcx, [rbp - 0x38]
call fcn.18000e6f0
test al, al
jne 0x180031bcc
movss xmm1, dword [rbp - 0x2c]
lea rcx, [rbp + 0x178]
subss xmm1, dword [rbp - 0x34]
movss xmm0, dword [rbp - 0x30]
subss xmm0, dword [rbp - 0x38]
movss dword [rbp + 0x17c], xmm1
movss xmm1, dword [rdi + 0x159c]
movss dword [rbp + 0x178], xmm0
call fcn.18000e5a0
call fcn.18000ed90
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 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 rbx, qword [0x1801a8fa0]
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x38], 3
movups xmm0, xmmword [rbx + 0x1654]
lea rcx, [rbx + 0x1d38]
movups xmmword [rbp - 0x34], xmm0
call fcn.180015b00
movups xmm0, xmmword [rdi + 0x1694]
mov ecx, 6
movups xmmword [rbx + 0x1654], xmm0
movss xmm1, dword [rdi + 0x15a0]
call fcn.1800033d0
movss xmm1, dword [rdi + 0x15a4]
mov ecx, 7
call fcn.1800033d0
movss xmm6, dword [rbp - 0x70]
lea r8, [rbp + 0x178]
movss xmm1, dword [rbp - 0x6c]
movaps xmm0, xmm6
movss xmm13, dword [rbp - 0x74]
mov edx, r14d
movss xmm7, dword [rbp - 0x78]
subss xmm1, xmm13
subss xmm0, xmm7
movss dword [rbp], xmm6
mov rcx, r13
movss dword [rbp - 0x48], xmm13
movss dword [rbp + 0x17c], xmm1
movss dword [rbp + 0x178], xmm0
call fcn.180008b90
mov r8, qword [0x1801a8fa0]
lea rbx, [0x180051af0]
movzx r11d, al
movsxd rcx, dword [r8 + 0x1d48]
mov r9, qword [r8 + 0x1d50]
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 0x180031ce6
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x180031cc7
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1560], eax
jmp 0x180031ce6
cmp eax, 2
jne 0x180031ce6
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 + 0x1d48]
lea eax, [rcx - 1]
mov dword [r8 + 0x1d48], eax
lea rax, [rcx - 2]
mov rdx, qword [r8 + 0x1d50]
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 0x180031d4f
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x180031d32
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1560], eax
jmp 0x180031d4f
cmp eax, 2
jne 0x180031d4f
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 + 0x1d48]
movsxd rax, dword [r8 + 0x1d38]
mov rcx, qword [r8 + 0x1d40]
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 + 0x1d38]
test r11b, r11b
jne 0x180031d94
call fcn.180008e20
jmp 0x180031b7a
mov rbx, qword [rdi + 0x1c10]
mov qword [rbp - 0x50], rbx
movsx ecx, word [rbx + 0x152]
mov eax, dword [rbx + 0x14c]
bts ecx, eax
subss xmm10, dword [rbx + 0x84]
mov word [rbx + 0x152], cx
movss xmm0, dword [rdi + 0x1598]
addss xmm0, dword [rbx + 0xd8]
movss dword [rbx + 0xd8], xmm0
movss xmm1, dword [rdi + 0x159c]
addss xmm1, dword [rbx + 0xdc]
movss dword [rbx + 0xdc], xmm1
mov ebx, 1
jmp 0x180031e5b
subss xmm1, xmm7
subss xmm0, xmm13
lea rcx, [rbp + 0x178]
movss dword [rbp + 0x178], xmm1
movaps xmm1, xmm6
movss dword [rbp + 0x17c], xmm0
call fcn.18000e5a0
bt r12d, 0x1c
jb 0x180031e5b
mov r9d, ebx
lea r8, [rbp - 0x78]
mov edx, r14d
lea rcx, [rbp - 0x38]
call fcn.18000e6f0
test al, al
je 0x180031b7f
movss xmm0, dword [rbp - 0x70]
movss xmm13, dword [rbp - 0x74]
movss xmm7, dword [rbp - 0x78]
movss dword [rbp], xmm0
movss dword [rbp - 0x48], xmm13
mov edx, r14d
lea rcx, [rbp - 0x78]
call fcn.1800048f0
mov byte [rbp - 0x60], al
test al, al
je 0x180031e74
mov dword [rdi + 0x1f48], ebx
mov r12d, dword [rsi + 0x128]
xor ecx, ecx
mov r15, qword [0x1801a8fa0]
mov r13d, r12d
add r15, 0x20b0
cmp dword [r15], r14d
cmovne r15, rcx
shr r13d, 8
shr r12d, 9
and r13b, 1
and r12b, 1
mov qword [rsp + 0x60], r15
test al, al
je 0x180031ebb
cmp byte [rdi + 0x420], cl
je 0x180031ebb
mov r14b, 1
jmp 0x180031ebe
xor r14b, r14b
mov edi, dword [rdi + 0x1c5c]
mov eax, dword [rbp - 0x68]
mov rbx, qword [rsp + 0x70]
mov byte [rbp + 0x1a8], r14b
cmp edi, eax
je 0x180031ef7
cmp dword [rbx + 0x1de4], eax
je 0x180031ef0
cmp dword [rbx + 0x1dd8], eax
jne 0x180031ef7
cmp dword [rbx + 0x1dfc], 2
jne 0x180031ef7
mov byte [rsp + 0x58], 1
jmp 0x180031efb
mov byte [rsp + 0x58], cl
mov eax, dword [rsp + 0x54]
test al, al
je 0x180031f41
test r15, r15
je 0x180031f41
test edi, edi
jne 0x180031f41
mov rax, qword [rbp - 0x50]
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.180002940
cmp dword [rbx + 0x1c98], eax
jne 0x180031f3d
mov bl, 1
jmp 0x180031f4c
mov eax, dword [rsp + 0x54]
xor bl, bl
test al, al
je 0x180031f79
test r15, r15
je 0x180031f79
mov rax, qword [rbp - 0x50]
lea rcx, str.SCROLLY
movsxd rdx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r8d, dword [rax + rdx*4 - 4]
xor edx, edx
call fcn.180002940
cmp edi, eax
jne 0x180031f79
mov cl, 1
jmp 0x180031f7b
xor cl, cl
mov r8d, dword [rbp - 0x68]
movzx edx, byte [rsp + 0x58]
mov byte [rsp + 0x59], cl
mov byte [rbp + 0x178], 0
cmp edi, r8d
je 0x180031faf
test byte [rbp + 0x198], 0x10
jne 0x180031fa1
test dl, dl
je 0x180031faf
mov eax, dword [rsp + 0x54]
test al, al
jne 0x180031fb3
mov byte [rbp - 0x80], 1
jmp 0x180031fc5
mov eax, dword [rsp + 0x54]
mov byte [rbp - 0x80], 0
test al, al
je 0x180031fc5
mov r9, qword [rbp - 0x50]
movss xmm9, dword [r9 + 0x60]
test r15, r15
je 0x180031fd7
xor al, 1
cmp byte [r15 + 0x63], al
je 0x180031fd7
mov r15b, 1
jmp 0x180031fda
xor r15b, r15b
test r14b, r14b
jne 0x180032002
test bl, bl
jne 0x180032002
test dl, dl
jne 0x180032002
test r13b, r13b
jne 0x180032002
test r12b, r12b
jne 0x180032002
mov byte [rbp + 0x1a0], r12b
test cl, cl
jne 0x180032009
mov byte [rsp + 0x50], cl
jmp 0x180032013
mov byte [rbp + 0x1a0], 1
mov byte [rsp + 0x50], 1
cmp edi, r8d
jne 0x18003201c
test r15b, r15b
je 0x18003225a
mov rsi, qword [rsp + 0x70]
mov rax, 0xffffffffffffffff
mov r14, qword [rbp + 0x180]
add rsi, 0x20b0
mov qword [rsp + 0x60], rsi
mov dword [rsi + 0xe78], 0xbe99999a
nop word [rax + rax]
cmp byte [r14 + rax + 1], 0
lea rax, [rax + 1]
jne 0x180032050
mov ecx, dword [rsi + 0x34]
lea ebx, [rax + 1]
cmp ebx, ecx
jle 0x18003208a
test ecx, ecx
je 0x180032075
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18003207a
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x30]
mov edx, ebx
cmovg edx, eax
call fcn.180015f70
mov dword [rsi + 0x30], ebx
mov rdx, r14
mov rcx, qword [rsi + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [rbp + 0x188]
mov ecx, dword [rsi + 0x14]
inc ebx
cmp ebx, ecx
jle 0x1800320cf
test ecx, ecx
je 0x1800320ba
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800320bf
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180016000
mov dword [rsi + 0x10], ebx
mov ecx, dword [rsi + 0x24]
test ecx, ecx
jns 0x1800320f6
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.180015f70
xor edx, edx
mov rdi, r14
mov dword [rsi + 0x20], edx
mov r14, qword [rsi + 0x18]
mov byte [rsi + 0x40], dl
mov rbx, r14
movsxd rsi, dword [rbp + 0x188]
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x18003214f
nop dword [rax + rax]
cmp byte [rdi], 0
je 0x18003214d
xor r8d, r8d
lea rcx, [rbp - 0x1c]
mov rdx, rdi
call fcn.180002c70
movsxd rcx, eax
mov eax, dword [rbp - 0x1c]
add rdi, rcx
test eax, eax
je 0x18003214d
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x180032120
xor edx, edx
mov rcx, qword [rbp + 0x180]
mov word [rbx], dx
sub edi, ecx
sub rbx, r14
mov r14, qword [rsp + 0x60]
sar rbx, 1
mov dword [r14 + 8], edi
mov edi, dword [rbp - 0x68]
mov dword [r14 + 4], ebx
cmp dword [r14], edi
jne 0x1800321ac
test r15b, r15b
jne 0x1800321ac
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 ecx, dword [rsp + 0x54]
mov dword [r14 + 0x54], ebx
jmp 0x18003221a
mov ecx, dword [rsp + 0x54]
movzx eax, cl
xor al, 1
mov dword [r14], edi
mov qword [r14 + 0x48], 0
mov dword [r14 + 0xe6a], 0x630000
mov dword [r14 + 0xe70], edx
mov dword [r14 + 0xe74], 0x3e7
mov qword [r14 + 0x50], 0
mov word [r14 + 0x61], 1
mov dword [r14 + 0x68], edx
mov byte [r14 + 0x60], 0
mov byte [r14 + 0x63], al
mov byte [r14 + 0x58], 0
mov dword [r14 + 0x5c], edx
test cl, cl
jne 0x18003221a
mov edx, dword [rbp - 0x80]
test r13b, r13b
movzx edx, dl
mov eax, 1
cmovne edx, eax
mov dword [rbp - 0x80], edx
test dword [rbp + 0x198], 0x2000
je 0x18003222b
mov byte [r14 + 0x58], 1
test cl, cl
jne 0x180032254
test r12b, r12b
jne 0x18003224b
cmp byte [rbp + 0x1a8], r12b
je 0x180032254
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x140], r12b
je 0x180032254
mov rsi, qword [rbp - 0x58]
mov r15b, 1
jmp 0x180032266
mov rsi, qword [rbp - 0x58]
jmp 0x180032262
mov r14, qword [rsp + 0x60]
mov edi, r8d
mov r15d, dword [rbp - 0x80]
mov r13, qword [rsp + 0x70]
movzx ebx, byte [rbp + 0x1a0]
cmp dword [r13 + 0x1c5c], edi
je 0x180032309
test bl, bl
je 0x180032309
mov rdx, rsi
mov ecx, edi
call fcn.180004820
call fcn.180010490
mov rcx, rsi
call fcn.18000daf0
mov eax, dword [r13 + 0x1c70]
mov ecx, dword [rsp + 0x54]
or eax, 3
mov edx, dword [rbp + 0x198]
mov dword [r13 + 0x1c70], eax
test cl, cl
jne 0x1800322c1
test dl, dl
jns 0x1800322cb
or eax, 0xc
mov dword [r13 + 0x1c70], eax
mov rax, qword [r13 + 0x1c78]
or dword [r13 + 0x1c74], 2
or rax, 0x180
mov qword [r13 + 0x1c78], rax
test cl, cl
je 0x1800322f6
or rax, 0x60
mov qword [r13 + 0x1c78], rax
test edx, 0x440
je 0x180032309
or rax, 1
mov qword [r13 + 0x1c78], rax
mov eax, dword [r13 + 0x1c5c]
cmp eax, edi
jne 0x1800323ae
test r14, r14
jne 0x18003238e
mov rdx, qword [0x1801a8fa0]
mov ecx, dword [rdx + 0x1c5c]
test ecx, ecx
setne al
mov byte [rdx + 0x1c68], al
xor eax, eax
test ecx, ecx
je 0x180032352
mov dword [rdx + 0x1c64], eax
mov word [rdx + 0x1c6b], ax
mov dword [rdx + 0x1c94], 0xffffffff
mov dword [rdx + 0x1c5c], eax
mov word [rdx + 0x1c69], 0
mov qword [rdx + 0x1c88], rax
mov word [rdx + 0x1c6d], 0
mov qword [rdx + 0x1c70], 0
mov qword [rdx + 0x1c78], rax
mov eax, dword [r13 + 0x1c5c]
cmp eax, edi
jne 0x1800323ae
cmp byte [r13 + 0x420], 0
je 0x1800323ba
cmp byte [rsp + 0x50], 0
jne 0x1800323ba
test bl, bl
jne 0x1800323ba
mov byte [rbp + 0x178], 1
mov cl, 1
jmp 0x1800323c0
test r14, r14
je 0x1800323be
cmp byte [rsp + 0x59], 0
je 0x1800323be
mov cl, 1
jmp 0x1800323c0
xor cl, cl
mov byte [rsp + 0x50], cl
test r14, r14
je 0x1800323dc
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x1800323dc
test cl, cl
je 0x1800323dc
mov r12b, 1
jmp 0x1800323df
xor r12b, r12b
mov esi, dword [rsp + 0x7c]
mov byte [rbp + 0x1a0], r12b
mov byte [rbp - 0x7b], 0
mov byte [rbp + 0x1a8], 0
test sil, sil
je 0x180032513
test r14, r14
je 0x180032513
test cl, cl
jne 0x180032414
test r12b, r12b
je 0x18003251c
mov esi, dword [rbp + 0x188]
mov ecx, dword [r14 + 0x14]
inc esi
cmp esi, ecx
jle 0x180032448
test ecx, ecx
je 0x180032433
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180032438
mov eax, 8
cmp eax, esi
lea rcx, [r14 + 0x10]
mov edx, esi
cmovg edx, eax
call fcn.180016000
mov rcx, qword [rbp + 0x180]
mov dword [r14 + 0x10], esi
mov rdi, rcx
mov r14, qword [r14 + 0x18]
movsxd rsi, esi
mov rbx, r14
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x1800324aa
nop dword [rax]
cmp byte [rdi], 0
je 0x1800324a3
xor r8d, r8d
lea rcx, [rbp + 0x1a0]
mov rdx, rdi
call fcn.180002c70
movsxd rcx, eax
mov eax, dword [rbp + 0x1a0]
add rdi, rcx
test eax, eax
je 0x1800324a3
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x180032470
mov rcx, qword [rbp + 0x180]
mov esi, dword [rsp + 0x7c]
sub edi, ecx
xor r8d, r8d
movzx eax, r12b
mov word [rbx], r8w
sub rbx, r14
mov r14, qword [rsp + 0x60]
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 - 0x68]
cmp edx, ebx
mov dword [r14 + 0x50], edx
cmovne ecx, eax
mov dword [r14 + 0x54], ebx
movzx r12d, cl
mov byte [rbp + 0x1a0], cl
movzx ecx, byte [rsp + 0x50]
test cl, cl
jne 0x180032525
test r12b, r12b
jne 0x180032525
cmp dword [r13 + 0x1c5c], edi
jne 0x180032539
test sil, sil
jne 0x180032539
test r14, r14
je 0x180032539
mov byte [rbp - 0x7c], 1
cmp byte [r14 + 0x40], sil
jne 0x18003253d
mov byte [rbp - 0x7c], 0
cmp byte [rbp - 0x5c], 0
je 0x1800325d1
mov rdx, qword [r13 + 0x1978]
cmp dword [rdx + 0x18], 0x2a
ja 0x18003255a
mov r8, qword [rdx + 0x38]
jmp 0x18003257e
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x180032572
mov r8, qword [rdx + 0x38]
jmp 0x18003257e
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r8, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea rcx, [r13 + 0x2f48]
mov dword [rcx + 0x14], eax
mov rax, qword [r13 + 0x1978]
mov edx, dword [rax + 0x58]
mov dword [rcx + 0x58], edx
mov rax, qword [r13 + 0x1978]
mov edx, dword [rax + 0x5c]
mov dword [rcx + 0x5c], edx
mov rax, qword [r13 + 0x1978]
mov edx, dword [rax + 0x60]
mov dword [rcx + 0x60], edx
mov rax, qword [r13 + 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.18000ddf0
xor ecx, ecx
mov edx, 0x20000c
mov dword [rbp - 0x1c], ecx
cmp dword [r13 + 0x1c5c], edi
jne 0x1800329e4
mov eax, dword [r14 + 8]
mov r8d, dword [rbp + 0x198]
mov byte [r14 + 0xe7e], cl
mov dword [r14 + 0xe80], r8d
mov qword [r14 + 0xe88], rcx
mov qword [r14 + 0xe90], rcx
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0x188]
mov dword [r14 + 0x44], eax
cmp byte [r13 + 0x130], cl
sete al
mov byte [r13 + 0x1c69], al
mov eax, 1
mov dword [r13 + 0x32e0], eax
movss xmm6, dword [r13 + 0x128]
subss xmm6, xmm7
subss xmm6, dword [r13 + 0x1598]
addss xmm6, dword [r14 + 0x48]
cmp byte [rsp + 0x54], cl
je 0x180032672
mov rax, qword [rbp - 0x50]
movss xmm2, dword [r13 + 0x12c]
subss xmm2, dword [rax + 0xdc]
jmp 0x180032683
movss xmm2, dword [r13 + 0x1980]
mulss xmm2, dword [0x18005f558]
movzx edi, byte [r13 + 0xc9]
test r15b, r15b
jne 0x18003282b
movzx ecx, byte [rbp - 0x60]
test cl, cl
je 0x1800326b1
movzx eax, byte [r13 + 0x425]
test dil, dil
jne 0x18003270f
test al, al
jne 0x18003282b
cmp byte [r13 + 0x420], 0
movzx eax, byte [r14 + 0xe7d]
je 0x1800327b2
test al, al
jne 0x1800327b2
test cl, cl
je 0x180032761
cmp byte [r14 + 0x63], al
je 0x1800326f1
xor r8d, r8d
lea rcx, [rbp - 0x38]
mov rdx, r14
call fcn.18002fb90
movss xmm2, dword [rbp - 0x2c]
movaps xmm1, xmm6
mov rcx, r14
call fcn.180030080
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x62], 0
jmp 0x18003274f
test al, al
je 0x1800326b1
mov r8d, edx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.180030520
mov r8d, 0x60000d
mov byte [r14 + 0xe7c], 1
lea rdx, [r14 + 0x4c]
mov dword [r14 + 0xe78], 0xbe99999a
mov rcx, r14
call fcn.180030520
mov byte [r14 + 0xe7c], 1
mov r8d, dword [rbp + 0x198]
mov dword [r14 + 0xe78], 0xbe99999a
xor r15d, r15d
cmp byte [r14 + 0xe7d], 0
je 0x180032780
cmp byte [r13 + 0x130], 0
jne 0x180032780
mov byte [r14 + 0xe7d], 0
cmp byte [r13 + 0x140], 0
je 0x180032794
cmp byte [r13 + 0x142], 0
je 0x1800327ab
test dil, dil
je 0x18003284f
cmp byte [r13 + 0x143], 0
je 0x18003284f
mov bl, 1
jmp 0x180032851
cmp byte [r13 + 0x130], 0
je 0x180032761
test al, al
jne 0x180032761
movss xmm0, dword [r13 + 0x3b8]
ucomiss xmm0, xmm11
jp 0x1800327e6
jne 0x1800327e6
movss xmm0, dword [r13 + 0x3bc]
ucomiss xmm0, xmm11
jp 0x1800327e6
je 0x180032761
cmp byte [r14 + 0x63], 0
je 0x180032801
xor r8d, r8d
lea rcx, [rbp - 0x38]
mov rdx, r14
call fcn.18002fb90
movss xmm2, dword [rbp - 0x2c]
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
jne 0x180032813
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x50], eax
movaps xmm1, xmm6
mov rcx, r14
call fcn.180030080
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
jmp 0x180032747
mov eax, dword [r14 + 4]
xor r15d, r15d
mov dword [r14 + 0x50], r15d
mov byte [r14 + 0x62], r15b
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov byte [r14 + 0xe7d], 1
jmp 0x180032764
xor bl, bl
bt r8d, 0xa
jae 0x180032907
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180032907
call fcn.180008ad0
test al, al
je 0x180032907
test bl, bl
jne 0x180032907
cmp byte [r13 + 0x141], bl
jne 0x180032907
test sil, sil
jne 0x180032907
mov rcx, qword [r13 + 0x1558]
movsxd rax, dword [r13 + 0x1550]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x1800328c2
nop dword [rax + rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x180032907
cmp rcx, rdx
jb 0x1800328b0
mov edx, r8d
mov dword [rsp + 0x68], 9
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x20], 2
call fcn.1800316b0
test al, al
je 0x180032907
mov r8d, dword [rsp + 0x68]
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180030520
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
cmp dword [r13 + 0x1550], 0
jle 0x1800329e1
test bl, bl
jne 0x1800329b2
cmp byte [rsp + 0x7c], bl
jne 0x1800329b2
cmp byte [rsp + 0x58], bl
jne 0x1800329b2
mov r12d, dword [rbp + 0x198]
mov edi, r15d
mov rbx, r15
nop
mov rax, qword [r13 + 0x1558]
movzx ecx, word [rax + rbx]
mov dword [rsp + 0x68], ecx
cmp ecx, 9
jne 0x18003295e
cmp byte [r13 + 0x141], 0
jne 0x18003299b
mov edx, r12d
mov dword [rsp + 0x20], 2
lea rcx, [rsp + 0x68]
call fcn.1800316b0
test al, al
je 0x18003299b
mov r8d, dword [rsp + 0x68]
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180030520
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
inc edi
add rbx, 2
cmp edi, dword [r13 + 0x1550]
jl 0x180032940
movzx r12d, byte [rbp + 0x1a0]
mov ecx, dword [r13 + 0x1554]
test ecx, ecx
jns 0x1800329da
mov eax, ecx
cdq
sub eax, edx
mov edx, r15d
sar eax, 1
add eax, ecx
lea rcx, [r13 + 0x1550]
test eax, eax
cmovg edx, eax
call fcn.180016000
mov dword [r13 + 0x1550], r15d
mov edi, dword [rbp - 0x68]
mov eax, dword [r13 + 0x1c5c]
xor cl, cl
cmp eax, edi
jne 0x180033f19
movzx r10d, byte [rbp + 0x178]
cmp byte [r13 + 0x1c68], cl
jne 0x180033541
test r10b, r10b
jne 0x180033541
movaps xmm0, xmm12
mov r15d, 1
subss xmm0, dword [r13 + 0x159c]
divss xmm0, dword [r13 + 0x1980]
cvttss2si eax, xmm0
cmp eax, r15d
cmovge r15d, eax
mov dword [r14 + 0x5c], r15d
movzx eax, byte [r13 + 0x141]
movzx r13d, byte [r13 + 0xc9]
neg al
mov rax, qword [rsp + 0x70]
sbb ebx, ebx
and ebx, 0x400000
test r13b, r13b
je 0x180032a76
cmp dword [rax + 0x3c0], 0xa
jne 0x180032a76
mov r9b, 1
mov r8d, 0xa
jmp 0x180032a85
mov r8d, dword [rax + 0x3c0]
xor r9b, r9b
test r13b, r13b
je 0x180032aa7
movzx r12d, byte [rax + 0x142]
cmp byte [rax + 0x143], cl
je 0x180032aaf
cmp byte [rax + 0x140], cl
jne 0x180032aaf
test r12b, r12b
jne 0x180032aaf
mov r11b, 1
jmp 0x180032ab2
movzx r12d, byte [rax + 0x140]
xor r11b, r11b
cmp byte [rax + 0xc9], cl
je 0x180032ac0
cmp r8d, 8
jmp 0x180032ac4
cmp r8d, 1
sete r14b
test r14b, r14b
je 0x180032ae7
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x180032ae7
call fcn.180008ad0
test al, al
jne 0x180032b04
cmp r8d, 2
jne 0x180032b32
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180032b32
call fcn.180008ad0
test al, al
je 0x180032b32
cmp byte [rsp + 0x7c], 0
mov esi, dword [rbp - 0x5c]
mov edi, dword [rsp + 0x54]
mov r10, qword [rsp + 0x60]
jne 0x180032b3e
test sil, sil
jne 0x180032b3e
test dil, dil
je 0x180032b2b
mov eax, dword [r10 + 0x54]
cmp dword [r10 + 0x50], eax
je 0x180032b3e
mov byte [rsp + 0x59], 1
jmp 0x180032b43
mov r10, qword [rsp + 0x60]
mov edi, dword [rsp + 0x54]
mov esi, dword [rbp - 0x5c]
mov byte [rsp + 0x59], 0
test r14b, r14b
je 0x180032b62
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x180032b62
call fcn.180008ad0
test al, al
jne 0x180032b7f
cmp r8d, 1
jne 0x180032b98
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180032b98
call fcn.180008ad0
test al, al
je 0x180032b98
test sil, sil
jne 0x180032b98
test dil, dil
je 0x180032b93
mov eax, dword [r10 + 0x54]
cmp dword [r10 + 0x50], eax
je 0x180032b98
mov sil, 1
jmp 0x180032b9b
xor sil, sil
test r14b, r14b
je 0x180032bba
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x180032bba
call fcn.180008ad0
test al, al
jne 0x180032bd7
cmp r8d, 2
jne 0x180032be6
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180032be6
call fcn.180008ad0
test al, al
je 0x180032be6
mov r8d, dword [rsp + 0x7c]
test r8b, r8b
jne 0x180032beb
mov dil, 1
jmp 0x180032bee
mov r8d, dword [rsp + 0x7c]
xor dil, dil
test r14b, r14b
je 0x180032c21
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x180032c21
call fcn.180008ad0
test al, al
je 0x180032c21
test r8b, r8b
mov r8d, dword [rsp + 0x78]
jne 0x180032c26
test r8b, r8b
je 0x180032c26
mov r10b, 1
jmp 0x180032c2e
mov r8d, dword [rsp + 0x78]
xor r10b, r10b
test r14b, r14b
je 0x180032c48
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x180032c48
call fcn.180008ad0
test al, al
jne 0x180032c67
test r9b, r9b
je 0x180032c78
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x180032c78
call fcn.180008ad0
test al, al
je 0x180032c78
cmp byte [rsp + 0x7c], 0
jne 0x180032c78
test r8b, r8b
je 0x180032c78
mov r9b, 1
jmp 0x180032c7b
xor r9b, r9b
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x180032ce1
call fcn.180008ad0
test al, al
je 0x180032ce1
test r11b, r11b
je 0x180032c9e
mov ecx, 0x200004
jmp 0x180032cae
mov ecx, 0x200000
mov eax, 0x20000c
test r12b, r12b
cmovne ecx, eax
or ecx, ebx
mov r8d, ecx
mov r14, qword [rsp + 0x60]
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.180030520
mov r13, qword [rsp + 0x70]
mov dword [r14 + 0xe78], 0xbe99999a
mov byte [r14 + 0xe7c], 1
jmp 0x1800330d1
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x180032d0e
call fcn.180008ad0
test al, al
je 0x180032d0e
test r11b, r11b
je 0x180032d04
mov ecx, 0x200005
jmp 0x180032cae
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x180032ca8
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x180032da3
call fcn.180008ad0
test al, al
je 0x180032da3
cmp byte [rsp + 0x54], 0
je 0x180032da3
mov r13, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
cmp byte [r13 + 0x140], 0
je 0x180032d70
mov rdx, qword [rbp - 0x50]
xor eax, eax
movss xmm0, dword [rdx + 0x60]
subss xmm0, dword [r13 + 0x1980]
mov dword [rdx + 0x78], eax
mov dword [rdx + 0x80], eax
maxss xmm0, xmm11
movss dword [rdx + 0x70], xmm0
jmp 0x1800330d1
movzx eax, r11b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180030520
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x1800330d1
mov r8, qword [0x1801a8fa0]
mov ecx, dword [r8 + 0x4c]
test ecx, ecx
js 0x180032e1a
call fcn.180008ad0
test al, al
je 0x180032e1a
cmp byte [rsp + 0x54], 0
je 0x180032e1a
mov r13, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
cmp byte [r13 + 0x140], 0
je 0x180032e09
mov rax, qword [r8 + 0x1c10]
mov rcx, qword [rbp - 0x50]
movss xmm0, dword [rcx + 0x60]
addss xmm0, dword [r13 + 0x1980]
minss xmm0, dword [rax + 0x68]
xor eax, eax
mov dword [rcx + 0x78], eax
mov dword [rcx + 0x80], eax
movss dword [rcx + 0x70], xmm0
jmp 0x1800330d1
movzx eax, r11b
lea r8d, [rax*4 + 0x200003]
jmp 0x180032d7c
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x180032e88
call fcn.180008ad0
mov r8d, dword [rsp + 0x54]
test al, al
je 0x180032e8d
test r8b, r8b
je 0x180032e8d
mov r14, qword [rsp + 0x60]
or ebx, 0x20000e
mov r8d, ebx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.180030520
mov r13, qword [rsp + 0x70]
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mulss xmm0, dword [r13 + 0x1980]
subss xmm9, xmm0
jmp 0x1800330d1
mov r8d, dword [rsp + 0x54]
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x180032ef6
call fcn.180008ad0
test al, al
je 0x180032ef6
test r8b, r8b
je 0x180032ef6
mov r14, qword [rsp + 0x60]
or ebx, 0x20000f
mov r8d, ebx
mov rcx, r14
lea rdx, [r14 + 0x4c]
call fcn.180030520
mov r13, qword [rsp + 0x70]
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mulss xmm0, dword [r13 + 0x1980]
addss xmm9, xmm0
jmp 0x1800330d1
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x180032f38
call fcn.180008ad0
test al, al
je 0x180032f38
mov eax, ebx
mov r8d, 0x200004
or eax, 0x200006
mov r13, qword [rsp + 0x70]
or r8d, ebx
mov r14, qword [rsp + 0x60]
cmp byte [r13 + 0x140], 0
cmovne r8d, eax
jmp 0x180032d7f
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x180032f5e
call fcn.180008ad0
test al, al
je 0x180032f5e
mov eax, ebx
mov r8d, 0x200005
or eax, 0x200007
jmp 0x180032f1a
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180032f8d
call fcn.180008ad0
mov r11d, dword [rsp + 0x7c]
test al, al
je 0x180032f92
test r11b, r11b
jne 0x180032f92
or ebx, 0x200008
mov r8d, ebx
jmp 0x180032cb3
mov r11d, dword [rsp + 0x7c]
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x180033061
call fcn.180008ad0
test al, al
je 0x180033061
test r11b, r11b
jne 0x180033061
mov r14, qword [rsp + 0x60]
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
jne 0x180032ff3
test r12b, r12b
je 0x180033006
lea rdx, [r14 + 0x4c]
mov r8d, 0x60000c
mov rcx, r14
call fcn.180030520
mov byte [r14 + 0xe7c], 1
mov dword [r14 + 0xe78], 0xbe99999a
mov r13, qword [rsp + 0x70]
or ebx, 0x200009
mov r8d, ebx
jmp 0x180032d7f
test r13b, r13b
je 0x180032ff3
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0x143], 0
je 0x180032ff8
cmp byte [r13 + 0x142], 0
jne 0x180032ff8
cmp byte [r13 + 0x140], 0
jne 0x180032ff8
lea rdx, [r14 + 0x4c]
mov r8d, 0x600004
mov rcx, r14
call fcn.180030520
or ebx, 0x200009
mov byte [r14 + 0xe7c], 1
mov r8d, ebx
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x180032d7f
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x180033078
call fcn.180008ad0
test al, al
jne 0x180033097
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x180033129
call fcn.180008ad0
test al, al
je 0x180033129
mov edx, dword [rbp + 0x198]
mov eax, edx
mov r13, qword [rsp + 0x70]
shr eax, 0xb
and al, 1
test r8b, r8b
je 0x1800330be
movzx ecx, byte [r13 + 0x140]
test al, al
je 0x1800330f3
test cl, cl
jne 0x1800330f7
mov byte [rbp + 0x178], 1
mov byte [rbp + 0x1a8], 1
mov r14, qword [rsp + 0x60]
xor cl, cl
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x180033513
cmp byte [rsp + 0x50], 0
je 0x180033513
mov al, 1
jmp 0x180033515
test cl, cl
jne 0x1800330be
test r11b, r11b
jne 0x1800330cc
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x68], 0xa
mov dword [rsp + 0x20], 2
call fcn.1800316b0
test al, al
je 0x1800330cc
mov r14, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x68]
jmp 0x180032d7f
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x180033157
call fcn.180008ad0
test al, al
je 0x180033157
mov r14, qword [rsp + 0x60]
mov cl, 1
mov r13, qword [rsp + 0x70]
mov byte [rbp + 0x178], cl
jmp 0x1800330d3
test r10b, r10b
jne 0x1800334e2
test r9b, r9b
jne 0x1800334e2
test r14b, r14b
je 0x1800331b3
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x1800331b3
call fcn.180008ad0
test al, al
je 0x1800331b3
mov r14, qword [rsp + 0x60]
xor r9d, r9d
mov r13, qword [rsp + 0x70]
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x50], r9d
mov byte [r14 + 0x62], r9b
mov byte [r14 + 0xe7c], 1
jmp 0x1800330d1
movzx r12d, byte [rsp + 0x59]
test r12b, r12b
jne 0x18003337b
test sil, sil
jne 0x18003337b
test dil, dil
je 0x18003336c
mov rcx, qword [0x1801a8fa0]
mov rax, qword [rcx + 0x100]
test rax, rax
je 0x180033202
mov rcx, qword [rcx + 0x110]
call rax
mov rbx, rax
test rax, rax
jne 0x180033209
mov r13, qword [rsp + 0x70]
jmp 0x1800330cc
lea rbx, [0x1800518ce]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x180033210
mov rcx, qword [0x1801a8fa0]
test rcx, rcx
je 0x18003322b
inc dword [rcx + 0x3b4]
mov rdx, qword [0x1801a8f90]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
xor r15d, r15d
mov qword [rbp - 0x58], rax
mov r14, rax
mov esi, r15d
cmp byte [rbx], r15b
je 0x1800332ad
mov r14d, dword [rbp + 0x198]
mov rdi, rax
nop
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov rdx, rbx
call fcn.180002c70
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x78], r15d
je 0x1800332a9
mov edx, r14d
mov dword [rsp + 0x20], 5
lea rcx, [rsp + 0x78]
call fcn.1800316b0
test al, al
je 0x1800332a4
movzx eax, word [rsp + 0x78]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r15b
jne 0x180033260
mov r14, qword [rbp - 0x58]
movsxd rax, esi
mov word [r14 + rax*2], r15w
test esi, esi
jle 0x180033346
mov rdi, qword [rsp + 0x60]
mov edx, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x50]
mov eax, dword [rdi + 4]
cmp ecx, edx
je 0x1800332e8
cmp ecx, eax
jle 0x1800332d8
mov dword [rdi + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x1800332e1
mov dword [rdi + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x1800332e8
mov dword [rdi + 0x4c], ecx
cmp dword [rdi + 0x4c], eax
jle 0x1800332f0
mov dword [rdi + 0x4c], eax
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.180030480
mov edx, dword [rdi + 0x4c]
mov r9d, esi
mov r8, r14
mov rcx, rdi
call fcn.18002fef0
test al, al
je 0x180033329
mov edx, dword [rdi + 0x4c]
lea rcx, [rdi + 0x4c]
mov r8d, esi
call fcn.180031600
add dword [rdi + 0x4c], esi
mov byte [rdi + 0x62], r15b
jmp 0x18003333f
movzx eax, word [rdi + 0xe6a]
test ax, ax
je 0x18003333f
dec ax
mov word [rdi + 0xe6a], ax
mov byte [rdi + 0xe7c], 1
test r14, r14
je 0x18003335d
mov rax, qword [0x1801a8fa0]
test rax, rax
je 0x18003335d
dec dword [rax + 0x3b4]
mov rdx, qword [0x1801a8f90]
mov rcx, r14
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x70]
jmp 0x1800330d1
mov r13, qword [rsp + 0x70]
cmp qword [r13 + 0x108], 0
je 0x180033487
mov r15, qword [rsp + 0x60]
mov ecx, dword [r15 + 0x54]
mov eax, dword [r15 + 0x50]
cmp eax, ecx
je 0x1800333ac
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
xor r9d, r9d
jmp 0x1800333b6
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 0x1800333e1
cmp rdx, r8
jae 0x180033404
movzx eax, word [rdx]
test ax, ax
je 0x180033404
add rdx, 2
cmp ax, r9w
jae 0x1800333f7
inc ecx
jmp 0x1800333d7
cmp ax, r10w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x1800333d7
mov rax, qword [0x1801a8fa0]
lea edi, [rcx + 1]
test rax, rax
je 0x180033419
inc dword [rax + 0x3b4]
mov rdx, qword [0x1801a8f90]
movsxd rcx, edi
call sub.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.180002e20
mov r9, qword [0x1801a8fa0]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x180033467
mov rcx, qword [r9 + 0x110]
mov rdx, rbx
call rax
mov r9, qword [0x1801a8fa0]
test rbx, rbx
je 0x180033478
test r9, r9
je 0x180033478
dec dword [r9 + 0x3b4]
mov rdx, qword [0x1801a8f90]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov r14, qword [rsp + 0x60]
test r12b, r12b
je 0x1800330d1
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
jne 0x1800334b6
xor eax, eax
mov byte [r14 + 0x62], 0
mov dword [r14 + 0x50], eax
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov byte [r14 + 0xe7c], 1
mov eax, dword [r14 + 0x54]
cmp dword [r14 + 0x50], eax
je 0x1800330d1
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180030480
mov byte [r14 + 0x62], 0
jmp 0x1800330d1
mov r14, qword [rsp + 0x60]
movzx r8d, r10b
mov rcx, r14
xor r8d, 1
add r8d, 0x20000a
lea rdx, [r14 + 0x4c]
call fcn.180030520
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x50], eax
jmp 0x180032cc4
xor al, al
movzx r12d, byte [rbp + 0x1a0]
mov edi, dword [rbp - 0x68]
or r12b, al
mov eax, dword [r13 + 0x1c5c]
mov byte [rbp + 0x1a0], r12b
cmp eax, edi
jne 0x180033f19
movzx r10d, byte [rbp + 0x178]
xor esi, esi
mov qword [rbp - 0x58], rsi
mov dword [rbp - 0x80], esi
test cl, cl
je 0x180033802
cmp byte [rsp + 0x7c], sil
jne 0x1800337dc
mov r9, qword [r14 + 0x38]
mov rax, qword [rbp + 0x180]
mov r8, r9
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180033583
inc rax
test ecx, ecx
jne 0x180033570
test edx, edx
je 0x1800337dc
mov eax, dword [r14 + 0x30]
mov r13d, esi
dec eax
mov qword [rbp - 0x58], r9
mov dword [rbp - 0x80], eax
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], rsi
test eax, eax
jle 0x18003373c
movsxd rbx, eax
mov rdi, r9
add rbx, r9
xor eax, eax
movzx eax, byte [rbp + 0x1a8]
nop dword [rax]
test rbx, rbx
je 0x1800335ca
cmp rdi, rbx
jae 0x18003362c
cmp byte [rdi], 0
movzx esi, al
movzx r15d, r10b
mov byte [rbp + 0x1a0], r12b
mov byte [rbp + 0x1a8], al
je 0x18003362c
mov r8, rbx
lea rcx, [rbp + 0x178]
mov rdx, rdi
call fcn.180002c70
movsxd rcx, eax
movzx r10d, r15b
add rdi, rcx
mov byte [rbp + 0x1a0], r12b
cmp dword [rbp + 0x178], 0
mov byte [rbp + 0x1a8], sil
je 0x18003362c
movzx eax, sil
mov byte [rbp + 0x1a0], r12b
mov byte [rbp + 0x1a8], al
inc r13d
jmp 0x1800335c0
inc r13d
mov byte [rbp + 0x178], r10b
test r13d, r13d
jle 0x18003365b
cmp r13d, 8
lea rcx, [rbp - 0x38]
mov edx, r13d
mov eax, 8
cmovl edx, eax
call fcn.180016000
movzx r10d, byte [rbp + 0x178]
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x58]
mov r12, rsi
movsxd rax, r13d
dec rax
lea rax, [rsi + rax*2]
mov qword [rbp - 0x18], rax
cmp rsi, rax
jae 0x18003372a
movzx ecx, byte [rbp + 0x1a0]
movzx edx, byte [rbp + 0x1a8]
nop dword [rax + rax]
test rbx, rbx
je 0x18003369e
cmp rdi, rbx
jae 0x180033726
cmp byte [rdi], 0
movzx esi, dl
movzx r14d, cl
mov byte [rbp + 0x178], r10b
movzx r15d, r10b
mov byte [rbp + 0x1a0], cl
mov byte [rbp + 0x1a8], dl
je 0x180033726
mov r8, rbx
lea rcx, [rsp + 0x68]
mov rdx, rdi
call fcn.180002c70
movsxd rcx, eax
mov eax, dword [rsp + 0x68]
add rdi, rcx
mov byte [rbp + 0x178], r15b
mov byte [rbp + 0x1a0], r14b
mov byte [rbp + 0x1a8], sil
test eax, eax
je 0x180033726
mov word [r12], ax
movzx ecx, r14b
add r12, 2
mov byte [rbp + 0x178], r15b
movzx edx, sil
movzx r10d, r15b
mov byte [rbp + 0x1a0], cl
mov byte [rbp + 0x1a8], dl
cmp r12, qword [rbp - 0x18]
jb 0x180033690
mov rsi, qword [rbp - 0x30]
mov r14, qword [rsp + 0x60]
xor r15d, r15d
mov eax, dword [rbp - 0x80]
mov word [r12], r15w
jmp 0x18003373f
xor r15d, r15d
movsxd rdi, dword [r14 + 4]
lea ebx, [r13 - 1]
test eax, eax
lea rcx, [r14 + 0x6c]
mov r8d, edi
cmovle ebx, r15d
xor edx, edx
mov r9d, ebx
call fcn.1800312a0
mov r9, rax
test rax, rax
je 0x180033785
test edi, edi
jle 0x180033785
mov rdx, r15
nop dword [rax]
mov rcx, qword [r14 + 0x18]
movzx eax, word [rcx + rdx*2]
mov word [r9 + rdx*2], ax
inc rdx
cmp rdx, rdi
jl 0x180033770
mov r8d, dword [r14 + 4]
xor edx, edx
mov rcx, r14
call fcn.18002fe20
test ebx, ebx
jle 0x1800337b4
mov r9d, ebx
mov r8, rsi
xor edx, edx
mov rcx, r14
call fcn.18002fef0
test al, al
je 0x1800337b4
mov dword [r14 + 0x4c], ebx
mov byte [r14 + 0x62], 0
test rsi, rsi
je 0x1800337da
mov rax, qword [0x1801a8fa0]
test rax, rax
je 0x1800337cb
dec dword [rax + 0x3b4]
mov rdx, qword [0x1801a8f90]
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor esi, esi
cmp byte [rbp + 0x1a8], 0
mov r9d, dword [rbp + 0x198]
je 0x1800337f2
test r9b, 0x20
jne 0x180033809
mov r15d, dword [rbp - 0x64]
mov rdi, qword [rbp + 0x180]
jmp 0x180033e51
mov r9d, dword [rbp + 0x198]
cmp byte [rsp + 0x7c], 0
jne 0x18003390a
mov eax, dword [r14 + 0x10]
mov byte [r14 + 0x40], 1
mov ecx, dword [r14 + 0x24]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x180033850
test ecx, ecx
je 0x18003383b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180033840
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x20]
mov edx, ebx
cmovg edx, eax
call fcn.180015f70
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 0x180033900
mov r14d, 0x80
movzx eax, word [r8]
test ax, ax
je 0x1800338fb
add r8, 2
mov ecx, eax
cmp eax, r14d
jae 0x180033890
mov byte [rdx], cl
inc rdx
jmp 0x1800338f2
mov eax, r9d
sub eax, edx
dec eax
cmp ecx, 0x800
jae 0x1800338c2
cmp eax, 2
jge 0x1800338a9
mov rax, rsi
jmp 0x1800338ef
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 0x1800338ef
cmp eax, 3
jge 0x1800338cc
mov rax, rsi
jmp 0x1800338ef
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 0x180033875
mov r14, qword [rsp + 0x60]
mov r9d, dword [rbp + 0x198]
mov byte [rdx], 0
test r9d, 0x801c0
je 0x180033df6
mov r8d, 0x16
test r9b, 0x40
je 0x180033943
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180033943
call fcn.180008ad0
test al, al
je 0x180033943
lea eax, [r8 + 0x2a]
mov r8d, esi
jmp 0x1800339b6
test r9b, r9b
jns 0x180033994
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18003396e
call fcn.180008ad0
test al, al
je 0x18003396e
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7d]
jmp 0x1800339bc
mov rax, qword [0x1801a8fa0]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x180033994
call fcn.180008ad0
test al, al
je 0x180033994
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7c]
jmp 0x1800339bc
mov eax, 0x80000
test eax, r9d
je 0x1800339a8
cmp byte [r14 + 0xe7e], 0
jne 0x1800339b6
mov eax, 0x100
test eax, r9d
je 0x180033df6
mov r10d, 0x80
mov dword [rbp + 8], eax
mov ebx, esi
mov rax, qword [r14 + 0x28]
mov qword [rbp + 0x20], rax
mov eax, dword [r14 + 8]
mov dword [rbp + 0x28], eax
mov eax, dword [r14 + 0x44]
mov dword [rbp + 0x2c], eax
movsxd rax, dword [r14 + 0x4c]
mov dword [rbp + 0x1c], r8d
mov r8, qword [r14 + 0x18]
mov dword [rbp + 0xc], r9d
mov rcx, r8
mov dword [rbp + 0x18], esi
mov r9d, 0x800
mov qword [rbp + 0x31], rsi
lea rdx, [r8 + rax*2]
mov dword [rbp + 0x39], esi
mov word [rbp + 0x3d], si
mov byte [rbp + 0x3f], 0
mov qword [rbp + 0x10], rsi
mov byte [rbp + 0x30], 0
nop
test rdx, rdx
je 0x180033a1a
cmp rcx, rdx
jae 0x180033a3d
movzx eax, word [rcx]
test ax, ax
je 0x180033a3d
add rcx, 2
cmp ax, r10w
jae 0x180033a30
inc ebx
jmp 0x180033a10
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x180033a10
movsxd rax, dword [r14 + 0x50]
mov rcx, r8
mov dword [rbp + 0x34], ebx
mov edi, esi
lea rdx, [r8 + rax*2]
nop dword [rax]
test rdx, rdx
je 0x180033a5a
cmp rcx, rdx
jae 0x180033a7d
movzx eax, word [rcx]
test ax, ax
je 0x180033a7d
add rcx, 2
cmp ax, r10w
jae 0x180033a70
inc edi
jmp 0x180033a50
cmp ax, r9w
sbb eax, eax
add eax, 3
add edi, eax
jmp 0x180033a50
movsxd rax, dword [r14 + 0x54]
mov edx, esi
mov dword [rsp + 0x78], edi
mov dword [rbp + 0x38], edi
lea rcx, [r8 + rax*2]
nop
test rcx, rcx
je 0x180033a9a
cmp r8, rcx
jae 0x180033abe
movzx eax, word [r8]
test ax, ax
je 0x180033abe
add r8, 2
cmp ax, r10w
jae 0x180033ab1
inc edx
jmp 0x180033a90
cmp ax, r9w
sbb eax, eax
add eax, 3
add edx, eax
jmp 0x180033a90
lea rcx, [rbp + 8]
mov dword [rsp + 0x68], edx
mov dword [rbp + 0x3c], edx
call rsi
movsxd rax, dword [rbp + 0x34]
mov r13, qword [rbp + 0x20]
movzx edx, byte [rbp + 0x30]
mov qword [rbp - 0x38], r13
cmp eax, ebx
jne 0x180033ae7
test dl, dl
je 0x180033ba0
movzx ecx, byte [rbp + 0x1a0]
lea r15, [rax + r13]
movzx eax, byte [rbp + 0x178]
mov r14, r13
movzx edx, byte [rbp + 0x1a8]
mov r12d, esi
test r15, r15
je 0x180033b10
cmp r14, r15
jae 0x180033b82
cmp byte [r14], 0
movzx ebx, dl
movzx edi, cl
mov byte [rbp + 0x178], al
movzx esi, al
mov byte [rbp + 0x1a0], cl
mov byte [rbp + 0x1a8], dl
je 0x180033b82
mov r8, r15
lea rcx, [rbp - 0x18]
mov rdx, r14
call fcn.180002c70
movsxd rcx, eax
add r14, rcx
mov byte [rbp + 0x178], sil
cmp dword [rbp - 0x18], 0
mov byte [rbp + 0x1a0], dil
mov byte [rbp + 0x1a8], bl
je 0x180033b82
movzx eax, sil
mov byte [rbp + 0x1a8], bl
movzx ecx, dil
mov byte [rbp + 0x178], al
mov byte [rbp + 0x1a0], cl
inc r12d
movzx edx, bl
jmp 0x180033b06
mov r14, qword [rsp + 0x60]
xor esi, esi
mov edi, dword [rsp + 0x78]
mov eax, dword [rbp + 0x34]
movzx edx, byte [rbp + 0x30]
mov dword [r14 + 0x4c], r12d
mov byte [r14 + 0xe7c], 1
movsxd rcx, dword [rbp + 0x38]
cmp ecx, edi
jne 0x180033bb0
test dl, dl
je 0x180033c70
cmp ecx, eax
jne 0x180033bbd
mov r12d, dword [r14 + 0x4c]
jmp 0x180033c68
movzx eax, byte [rbp + 0x178]
lea r15, [rcx + r13]
movzx ecx, byte [rbp + 0x1a0]
mov rbx, r13
movzx edx, byte [rbp + 0x1a8]
mov r12d, esi
nop dword [rax]
test r15, r15
je 0x180033bea
cmp rbx, r15
jae 0x180033c5e
cmp byte [rbx], 0
movzx edi, dl
movzx esi, cl
mov byte [rbp + 0x178], al
movzx r14d, al
mov byte [rbp + 0x1a0], cl
mov byte [rbp + 0x1a8], dl
je 0x180033c5e
mov r8, r15
lea rcx, [rbp - 0x18]
mov rdx, rbx
call fcn.180002c70
movsxd rcx, eax
add rbx, rcx
mov byte [rbp + 0x178], r14b
cmp dword [rbp - 0x18], 0
mov byte [rbp + 0x1a0], sil
mov byte [rbp + 0x1a8], dil
je 0x180033c5e
movzx eax, r14b
movzx ecx, sil
movzx edx, dil
mov byte [rbp + 0x178], al
mov byte [rbp + 0x1a0], cl
inc r12d
mov byte [rbp + 0x1a8], dl
jmp 0x180033be0
mov ecx, dword [rbp + 0x38]
xor esi, esi
mov r14, qword [rsp + 0x60]
movzx edx, byte [rbp + 0x30]
mov dword [r14 + 0x50], r12d
movsxd rax, dword [rbp + 0x3c]
cmp eax, dword [rsp + 0x68]
jne 0x180033c82
test dl, dl
je 0x180033dfc
cmp eax, ecx
jne 0x180033c8f
mov r12d, dword [r14 + 0x50]
jmp 0x180033d32
movzx ecx, byte [rbp + 0x1a8]
lea r15, [rax + r13]
movzx eax, byte [rbp + 0x178]
mov rbx, r13
movzx r13d, byte [rbp + 0x1a0]
mov r12d, esi
nop
test r15, r15
je 0x180033cba
cmp rbx, r15
jae 0x180033d29
cmp byte [rbx], 0
movzx edi, cl
movzx r14d, al
mov byte [rbp + 0x178], al
mov byte [rbp + 0x1a0], r13b
mov byte [rbp + 0x1a8], cl
je 0x180033d29
mov r8, r15
lea rcx, [rbp - 0x18]
mov rdx, rbx
call fcn.180002c70
movsxd rcx, eax
add rbx, rcx
mov byte [rbp + 0x178], r14b
cmp dword [rbp - 0x18], 0
mov byte [rbp + 0x1a0], r13b
mov byte [rbp + 0x1a8], dil
je 0x180033d29
movzx eax, r14b
mov byte [rbp + 0x1a0], r13b
movzx ecx, dil
mov byte [rbp + 0x178], al
mov byte [rbp + 0x1a8], cl
inc r12d
jmp 0x180033cb0
mov r13, qword [rbp - 0x38]
mov r14, qword [rsp + 0x60]
cmp byte [rbp + 0x30], 0
mov r15d, dword [rbp - 0x64]
mov dword [r14 + 0x54], r12d
je 0x180033e00
mov ebx, dword [rbp + 0x28]
mov eax, dword [rbp - 0x1c]
cmp ebx, eax
jle 0x180033d8d
test r15b, r15b
je 0x180033d8d
mov ecx, dword [r14 + 0x14]
sub ebx, eax
add ebx, dword [r14 + 0x10]
cmp ebx, ecx
jle 0x180033d89
test ecx, ecx
je 0x180033d70
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180033d75
mov eax, 8
cmp eax, ebx
lea rcx, [r14 + 0x10]
mov edx, ebx
cmovg edx, eax
call fcn.180016000
mov r13, qword [rbp + 0x20]
mov dword [r14 + 0x10], ebx
mov rsi, qword [r14 + 0x18]
movsxd rdi, dword [r14 + 0x10]
mov rbx, rsi
dec rdi
lea rdi, [rsi + rdi*2]
cmp rsi, rdi
jae 0x180033dd3
cmp byte [r13], 0
je 0x180033dd3
xor r8d, r8d
lea rcx, [rbp - 0x18]
mov rdx, r13
call fcn.180002c70
movsxd rcx, eax
mov eax, dword [rbp - 0x18]
add r13, rcx
test eax, eax
je 0x180033dd3
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jb 0x180033da4
xor eax, eax
mov word [rbx], ax
sub rbx, rsi
mov eax, dword [rbp + 0x28]
sar rbx, 1
mov dword [r14 + 4], ebx
mov dword [r14 + 8], eax
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x180033e00
mov r15d, dword [rbp - 0x64]
jmp 0x180033e07
mov r15d, dword [rbp - 0x64]
mov r9d, dword [rbp + 0x198]
cmp byte [rsp + 0x7c], 0
mov rdi, qword [rbp + 0x180]
jne 0x180033e51
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 0x180033e35
inc rax
test ecx, ecx
jne 0x180033e22
test edx, edx
je 0x180033e4a
mov ecx, dword [r14 + 8]
mov qword [rbp - 0x58], r9
mov r9d, dword [rbp + 0x198]
jmp 0x180033e54
mov r9d, dword [rbp + 0x198]
mov ecx, dword [rbp - 0x80]
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x180033ef5
test r15b, r15b
je 0x180033ec3
xor edx, edx
mov dword [rbp + 0x60], ecx
lea eax, [rcx + 1]
mov qword [rbp + 0x50], rdx
cmp dword [rbp + 0x188], eax
lea rcx, [rbp + 0x40]
xorps xmm0, xmm0
mov dword [rbp + 0x40], 0x40000
cmovge eax, dword [rbp + 0x188]
mov dword [rbp + 0x64], eax
movdqu xmmword [rbp + 0x68], xmm0
mov dword [rbp + 0x44], r9d
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x48], rdx
call rdx
mov r8d, dword [rbp + 0x64]
mov rdi, qword [rbp + 0x58]
mov rdx, qword [rbp - 0x58]
mov qword [rbp + 0x180], rdi
lea ecx, [r8 - 1]
cmp dword [rbp + 0x60], ecx
cmovl ecx, dword [rbp + 0x60]
jmp 0x180033eca
mov r8d, dword [rbp + 0x188]
lea eax, [rcx + 1]
cmp eax, r8d
cmovl r8d, eax
movsxd rbx, r8d
cmp rbx, 1
jb 0x180033ef1
jbe 0x180033eec
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 - 0x7b], 1
movzx r12d, byte [rbp + 0x1a0]
xor ecx, ecx
mov edi, dword [rbp - 0x68]
mov dword [r14 + 0xe80], ecx
mov qword [r14 + 0xe88], rcx
mov qword [r14 + 0xe90], rcx
jmp 0x180033f1b
xor ecx, ecx
cmp byte [rbp + 0x178], 0
mov r13, qword [rsp + 0x70]
je 0x180033f9c
cmp dword [r13 + 0x1c5c], edi
jne 0x180033f9c
mov rdx, qword [0x1801a8fa0]
mov ecx, dword [rdx + 0x1c5c]
test ecx, ecx
setne al
mov byte [rdx + 0x1c68], al
test ecx, ecx
je 0x180033f69
xor ecx, ecx
mov dword [rdx + 0x1c94], 0xffffffff
mov dword [rdx + 0x1c64], ecx
mov word [rdx + 0x1c6b], cx
jmp 0x180033f6b
xor ecx, ecx
mov dword [rdx + 0x1c5c], ecx
mov word [rdx + 0x1c69], 0
mov qword [rdx + 0x1c88], rcx
mov word [rdx + 0x1c6d], 0
mov qword [rdx + 0x1c70], 0
mov qword [rdx + 0x1c78], rcx
mov r11d, dword [rsp + 0x54]
movaps xmmword [rsp + 0x190], xmm14
test r11b, r11b
jne 0x18003407a
mov r8d, 1
lea rcx, [rbp - 0x78]
mov edx, edi
call fcn.180003c60
mov rax, qword [0x1801a8fa0]
lea rcx, [rbp - 0x38]
movups xmm0, xmmword [rax + 0x1694]
movups xmmword [rbp - 0x38], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1560]
movss dword [rbp - 0x2c], xmm0
call fcn.180002ef0
movss xmm0, dword [r13 + 0x15a0]
mov r8d, eax
mov rdx, qword [rbp - 0x70]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm13
movq rcx, xmm0
call fcn.180003970
mov r11d, dword [rsp + 0x54]
lea rax, [rbp - 0x58]
mov r10, qword [rbp - 0x50]
movaps xmm5, xmm7
addss xmm5, xmm10
movss dword [rbp - 0x10], xmm7
addss xmm7, dword [r13 + 0x1598]
movaps xmm0, xmm13
movss dword [rbp - 0xc], xmm13
addss xmm0, dword [r13 + 0x159c]
movaps xmm14, xmm13
xor ecx, ecx
addss xmm14, xmm12
movss dword [rbp + 0x178], xmm5
movss dword [rbp - 8], xmm5
movss dword [rbp - 0x58], xmm7
movss dword [rbp - 0x54], xmm0
movss dword [rbp - 4], xmm14
jmp 0x1800340bf
mov r10, qword [rbp - 0x50]
lea rax, [rbp - 0x38]
movaps xmm0, xmm10
movss dword [rbp - 0x10], xmm7
addss xmm0, xmm7
movss dword [rbp - 0xc], xmm13
movaps xmm14, xmm13
addss xmm14, xmm12
movss dword [rbp + 0x178], xmm0
movss dword [rbp - 8], xmm0
movss dword [rbp - 4], xmm14
movsd xmm0, qword [r10 + 0xd8]
movsd qword [rbp - 0x38], xmm0
cmp byte [rbp - 0x7c], 0
movaps xmm8, xmm11
movsd xmm0, qword [rax]
movsd qword [rbp - 0x40], xmm0
movss dword [rsp + 0x68], xmm11
movss dword [rsp + 0x78], xmm11
je 0x1800340ed
mov rbx, qword [r14 + 0x28]
mov qword [rbp + 0x180], rbx
jmp 0x1800340f4
mov rbx, qword [rbp + 0x180]
movzx eax, byte [rsp + 0x50]
test al, al
jne 0x18003421a
test r12b, r12b
jne 0x18003421a
test r11b, r11b
je 0x18003416a
movzx edx, byte [rbx]
lea r15, [rbx + 1]
test dl, dl
je 0x180034136
nop word [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 0x180034120
movzx eax, byte [r15 - 1]
dec r15
cmp al, 0xa
je 0x180034148
cmp al, 0xd
je 0x180034148
inc ecx
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x68], xmm10
mulss xmm8, dword [r13 + 0x1980]
movss dword [rsp + 0x78], xmm8
jmp 0x18003419f
cmp dword [r13 + 0x1c5c], edi
jne 0x180034179
movsxd r15, dword [r14 + 8]
jmp 0x18003418a
mov r15, 0xffffffffffffffff
inc r15
cmp byte [rbx + r15], 0
jne 0x180034180
add r15, rbx
mov rax, r15
sub rax, rbx
cmp rax, 0x200000
jge 0x180034a63
mov rax, qword [0x1801a8fa0]
lea r8, [rbp - 0x10]
test r11b, r11b
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rax + 0x1624]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1560]
mov eax, 0
cmovne r8, rax
movss dword [rbp - 0x6c], xmm0
call fcn.180002ef0
movss xmm2, dword [r13 + 0x1980]
lea r9, [rbp - 0x40]
mov rdx, qword [r13 + 0x1978]
mov rcx, qword [r10 + 0x2b0]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
call fcn.180021470
jmp 0x180034a63
movsxd r12, dword [r14 + 8]
mov r8d, 0xfffffc18
mov rsi, qword [r14 + 0x18]
movaps xmm7, xmm11
movaps xmm6, xmm11
mov r9, rcx
mov rdi, rcx
mov edx, ecx
lea r15, [rbx + r12]
mov ebx, r8d
test al, al
je 0x180034254
movsxd rax, dword [r14 + 0x4c]
mov edx, 1
lea r9, [rsi + rax*2]
lea r8d, [rdx - 2]
movzx r13d, byte [rbp + 0x1a0]
test r13b, r13b
je 0x18003427e
mov ecx, dword [r14 + 0x54]
mov ebx, 0xffffffff
cmp dword [r14 + 0x50], ecx
cmovl ecx, dword [r14 + 0x50]
inc edx
movsxd rax, ecx
xor ecx, ecx
lea rdi, [rsi + rax*2]
movzx eax, r11b
mov r10d, ecx
movzx ecx, word [rsi]
add edx, eax
mov rax, rsi
test cx, cx
je 0x1800342cf
cmp cx, 0xa
jne 0x1800342c2
inc r10d
cmp r8d, 0xffffffff
jne 0x1800342af
cmp rax, r9
jb 0x1800342af
dec edx
mov r8d, r10d
test edx, edx
jle 0x1800342cf
cmp ebx, 0xffffffff
jne 0x1800342c2
cmp rax, rdi
jb 0x1800342c2
dec edx
mov ebx, r10d
test edx, edx
jle 0x1800342cf
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x180034292
inc r10d
mov rdx, r9
cmp r8d, 0xffffffff
mov r11d, r10d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r10d
cmp r9, rsi
jbe 0x180034303
nop dword [rax]
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x180034303
mov rdx, rax
cmp rax, rsi
ja 0x1800342f0
mov rax, qword [0x1801a8fa0]
movaps xmm2, xmm11
movaps xmm13, xmm11
mov r8, qword [rax + 0x1978]
movss xmm4, dword [rax + 0x1980]
divss xmm4, dword [r8 + 0x14]
cmp rdx, r9
jae 0x180034373
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x180034347
maxss xmm2, xmm13
movaps xmm13, xmm11
jmp 0x18003436e
cmp ecx, 0xd
je 0x18003436e
cmp ecx, dword [r8]
jge 0x18003435c
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x180034362
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm13, xmm0
cmp rdx, r9
jb 0x180034330
mov rcx, qword [rsp + 0x70]
maxss xmm13, xmm2
movd xmm15, r11d
cvtdq2ps xmm15, xmm15
movss xmm3, dword [rcx + 0x1980]
mulss xmm15, xmm3
test ebx, ebx
js 0x180034415
mov rdx, rdi
cmp rdi, rsi
jbe 0x1800343b3
nop
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x1800343b3
mov rdx, rax
cmp rax, rsi
ja 0x1800343a0
movaps xmm2, xmm11
movaps xmm6, xmm11
cmp rdx, rdi
jae 0x180034406
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x1800343d6
maxss xmm2, xmm6
movaps xmm6, xmm11
jmp 0x1800343fc
cmp ecx, 0xd
je 0x1800343fc
cmp ecx, dword [r8]
jge 0x1800343eb
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x1800343f1
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm6, xmm0
cmp rdx, rdi
jb 0x1800343c0
mov rcx, qword [rsp + 0x70]
movd xmm7, ebx
maxss xmm6, xmm2
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm3
mov r11d, dword [rsp + 0x54]
test r11b, r11b
je 0x18003443b
movd xmm8, r10d
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x68], xmm10
mulss xmm8, xmm3
movss dword [rsp + 0x78], xmm8
movzx r8d, byte [rsp + 0x50]
test r8b, r8b
je 0x18003456d
cmp byte [r14 + 0xe7c], 0
je 0x18003456d
test dword [rbp + 0x198], 0x1000
jne 0x1800344b8
movss xmm2, dword [r14 + 0x48]
movaps xmm0, xmm10
comiss xmm2, xmm13
mulss xmm0, dword [0x18005f544]
movaps xmm1, xmm13
subss xmm10, dword [rcx + 0x1598]
jbe 0x180034497
subss xmm1, xmm0
movaps xmm0, xmm11
maxss xmm0, xmm1
jmp 0x1800344a5
subss xmm1, xmm10
comiss xmm1, xmm2
jb 0x1800344be
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x48], xmm0
jmp 0x1800344be
xor eax, eax
mov dword [r14 + 0x48], eax
test r11b, r11b
je 0x180034552
movaps xmm0, xmm15
subss xmm0, dword [rcx + 0x1980]
comiss xmm9, xmm0
jbe 0x1800344e4
movaps xmm9, xmm11
maxss xmm9, xmm0
jmp 0x180034506
movaps xmm0, xmm15
subss xmm0, xmm12
comiss xmm0, xmm9
jb 0x180034506
movss xmm9, dword [rcx + 0x159c]
addss xmm9, xmm9
addss xmm9, xmm0
comiss xmm11, xmm9
movss xmm2, dword [rcx + 0x159c]
jbe 0x18003451a
movaps xmm2, xmm11
jmp 0x180034532
addss xmm2, xmm2
addss xmm2, xmm8
subss xmm2, xmm12
maxss xmm2, xmm11
minss xmm2, xmm9
movss xmm1, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x50]
movss xmm0, dword [rax + 0x60]
subss xmm0, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x3c], xmm1
movss dword [rax + 0x60], xmm2
mov byte [r14 + 0xe7c], 0
movss xmm0, dword [rbp - 8]
movss xmm14, dword [rbp - 4]
movss dword [rbp + 0x178], xmm0
movss xmm9, dword [r14 + 0x48]
movss xmm12, dword [0x18005f594]
test r13b, r13b
je 0x1800348bd
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, [rsi + rax*2]
movsxd rax, edx
lea rdi, [rsi + rax*2]
test r8b, r8b
je 0x1800345af
movaps xmm1, xmm12
jmp 0x1800345b7
movss xmm1, dword [0x18005f560]
mov rax, qword [0x1801a8fa0]
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rax + 0x1914]
mulss xmm1, dword [rax + 0x1560]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x6c], xmm0
call fcn.180002ef0
mov esi, eax
test r11b, r11b
je 0x1800345f4
movaps xmm10, xmm11
jmp 0x180034606
movss xmm10, dword [0x18005f6fc]
movss xmm11, dword [0x18005f5d0]
movss xmm8, dword [rbp - 0x40]
mov r13, qword [rsp + 0x70]
movaps xmm3, xmm8
addss xmm3, xmm6
movss xmm6, dword [rbp - 0x3c]
addss xmm6, xmm7
subss xmm3, xmm9
subss xmm6, dword [0x18005f4f4]
cmp rbx, rdi
jae 0x180034801
movss xmm5, dword [r13 + 0x1980]
movaps xmm1, xmm5
movaps xmm0, xmm14
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x1800347fc
movss xmm7, dword [rbp - 0xc]
comiss xmm7, xmm6
jbe 0x18003468b
cmp rbx, rdi
jae 0x1800347da
nop dword [rax + rax]
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x1800347da
cmp rbx, rdi
jb 0x180034670
jmp 0x1800347fc
mov rax, qword [0x1801a8fa0]
xorps xmm0, xmm0
xorps xmm4, xmm4
xorps xmm1, xmm1
mov rdx, qword [rax + 0x1978]
movss xmm2, dword [rax + 0x1980]
divss xmm2, dword [rdx + 0x14]
cmp rbx, rdi
jae 0x1800346f5
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x1800346e8
cmp ecx, 0xd
je 0x1800346e1
cmp ecx, dword [rdx]
jge 0x1800346d4
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x1800346d9
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jb 0x1800346b4
jmp 0x1800346f2
xorps xmm4, xmm4
maxss xmm4, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm4
comiss xmm0, xmm1
jb 0x180034730
mov rax, qword [r13 + 0x1978]
cmp dword [rax], 0x20
jle 0x180034718
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18003471d
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x18005f558]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm4, dword [rbp + 0x178]
addss xmm1, xmm3
addss xmm3, dword [0x18005f4f4]
movaps xmm2, xmm10
movaps xmm0, xmm11
subss xmm2, xmm5
movss xmm5, dword [rbp - 0x10]
addss xmm0, xmm6
minss xmm1, xmm4
maxss xmm3, xmm5
addss xmm2, xmm6
minss xmm0, xmm14
movss dword [rbp - 0x70], xmm1
movss dword [rbp - 0x78], xmm3
maxss xmm2, xmm7
comiss xmm0, xmm7
movss dword [rbp - 0x74], xmm2
movss dword [rbp - 0x6c], xmm0
jbe 0x1800347da
comiss xmm14, xmm2
jbe 0x1800347da
comiss xmm1, xmm5
jbe 0x1800347da
comiss xmm4, xmm3
jbe 0x1800347da
xor eax, eax
lea r8, [rbp - 0x70]
mov dword [rsp + 0x28], eax
lea rdx, [rbp - 0x78]
mov rax, qword [rbp - 0x50]
xorps xmm0, xmm0
mov r9d, esi
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rax + 0x2b0]
call fcn.180020c10
movss xmm0, dword [rbp - 8]
movss xmm14, dword [rbp - 4]
movss xmm8, dword [rbp - 0x40]
movss dword [rbp + 0x178], xmm0
movss xmm5, dword [r13 + 0x1980]
movaps xmm3, xmm8
subss xmm3, xmm9
movaps xmm1, xmm5
addss xmm6, xmm5
cmp rbx, rdi
jb 0x180034644
mov r11d, dword [rsp + 0x54]
xorps xmm11, xmm11
test r11b, r11b
jne 0x180034817
cmp r12, 0x200000
jge 0x1800348cd
mov rax, qword [0x1801a8fa0]
subss xmm8, xmm9
test r11b, r11b
lea r8, [rbp - 0x10]
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rax + 0x1624]
movss dword [rbp + 0x178], xmm8
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1560]
mov eax, 0
cmovne r8, rax
movss dword [rbp - 0x6c], xmm0
movss xmm0, dword [rbp - 0x3c]
subss xmm0, xmm11
movss dword [rbp + 0x17c], xmm0
call fcn.180002ef0
mov rcx, qword [rbp + 0x180]
lea r9, [rbp + 0x178]
mov rbx, qword [rbp - 0x50]
movss xmm2, dword [r13 + 0x1980]
mov rdx, qword [r13 + 0x1978]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbx + 0x2b0]
mov dword [rsp + 0x20], eax
call fcn.180021470
jmp 0x1800348d1
movss xmm8, dword [rbp - 0x40]
mov r13, qword [rsp + 0x70]
jmp 0x180034805
mov rbx, qword [rbp - 0x50]
cmp byte [rsp + 0x50], 0
je 0x180034a50
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [r14 + 0xe78]
movss dword [r14 + 0xe78], xmm0
cmp byte [r13 + 0xca], 0
je 0x180034922
comiss xmm11, xmm0
jae 0x180034922
movss xmm1, dword [0x18005f59c]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x18005f57c]
comiss xmm1, xmm0
jae 0x180034922
xor cl, cl
jmp 0x180034924
mov cl, 1
movss xmm0, dword [rbp - 0x40]
addss xmm0, xmm13
subss xmm0, xmm9
cvttss2si eax, xmm0
movss xmm0, dword [rbp - 0x3c]
addss xmm0, xmm15
movd xmm6, eax
cvtdq2ps xmm6, xmm6
subss xmm0, xmm11
movss dword [rbp - 0x78], xmm6
movaps xmm3, xmm6
addss xmm3, xmm12
cvttss2si eax, xmm0
movss dword [rbp - 0x70], xmm3
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movaps xmm1, xmm7
movaps xmm2, xmm7
subss xmm1, dword [r13 + 0x1980]
subss xmm2, dword [0x18005f5b0]
addss xmm1, dword [0x18005f558]
movss dword [rbp - 0x6c], xmm2
movss dword [rbp - 0x74], xmm1
test cl, cl
je 0x180034a14
comiss xmm2, dword [rbp - 0xc]
jbe 0x180034a14
movss xmm0, dword [rbp - 4]
comiss xmm0, xmm1
jbe 0x180034a14
comiss xmm3, dword [rbp - 0x10]
jbe 0x180034a14
movss xmm0, dword [rbp - 8]
comiss xmm0, xmm6
jbe 0x180034a14
mov rax, qword [0x1801a8fa0]
lea rcx, [rbp - 0x38]
movss dword [rbp + 0x178], xmm6
movss dword [rbp + 0x17c], xmm2
movups xmm0, xmmword [rax + 0x1624]
movups xmmword [rbp - 0x38], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1560]
movss dword [rbp - 0x2c], xmm0
call fcn.180002ef0
mov rcx, qword [rbx + 0x2b0]
lea rdx, [rbp - 0x78]
mov r9d, eax
movss dword [rsp + 0x20], xmm12
lea r8, [rbp + 0x178]
call fcn.1800209b0
cmp byte [rsp + 0x7c], 0
movss xmm13, dword [rbp - 0x48]
movss xmm15, dword [rbp - 0x20]
mov rbx, qword [rbp + 0x180]
jne 0x180034a63
subss xmm7, dword [r13 + 0x1980]
subss xmm6, xmm12
movss dword [r13 + 0x3024], xmm7
movss dword [r13 + 0x3020], xmm6
jmp 0x180034a63
movss xmm13, dword [rbp - 0x48]
movss xmm15, dword [rbp - 0x20]
mov rbx, qword [rbp + 0x180]
mov edi, dword [rbp - 0x5c]
movaps xmm14, xmmword [rsp + 0x190]
test dil, dil
je 0x180034a79
call fcn.18000de70
cmp byte [rsp + 0x54], 0
je 0x180034b2c
mov rcx, qword [0x1801a8fa0]
movss xmm4, dword [rsp + 0x78]
addss xmm4, dword [r13 + 0x159c]
movss xmm1, dword [rsp + 0x68]
mov rax, qword [rcx + 0x1c10]
movss dword [rbp + 0x178], xmm1
movss dword [rbp + 0x17c], xmm4
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
cmp byte [rax + 0x93], 0
jne 0x180034b22
movss xmm3, dword [rax + 0xd8]
lea rcx, [rbp + 0x178]
movss xmm0, dword [rax + 0xdc]
addss xmm1, xmm3
movaps xmm2, xmm0
movss dword [rbp - 0x78], xmm3
addss xmm2, xmm4
movss dword [rbp - 0x74], xmm0
movss dword [rbp - 0x70], xmm1
movss xmm1, dword [0x18005f6fc]
movss dword [rbp - 0x6c], xmm2
call fcn.18000e5a0
xor r8d, r8d
lea rcx, [rbp - 0x78]
xor edx, edx
xor r9d, r9d
call fcn.18000e6f0
call fcn.180008e20
call fcn.18000ed90
cmp byte [r13 + 0x308c], 0
je 0x180034b6d
test dil, dil
jne 0x180034b6d
mov rax, qword [0x1801a8fa0]
lea rcx, [0x18005e74c]
mov r8, r15
mov rdx, rbx
mov qword [rax + 0x30b0], rcx
lea rcx, [0x18005e748]
mov qword [rax + 0x30b8], rcx
lea rcx, [rbp - 0x40]
call fcn.180014310
comiss xmm15, xmm11
jbe 0x180034ba5
movss xmm0, dword [rbp]
mov r9b, 1
addss xmm0, dword [r13 + 0x15b0]
addss xmm13, dword [r13 + 0x159c]
mov rdx, qword [rbp + 0x170]
xor r8d, r8d
unpcklps xmm0, xmm13
movq rcx, xmm0
call fcn.180003450
movzx edx, byte [rbp - 0x7b]
mov ecx, dword [rbp + 0x198]
test dl, dl
je 0x180034bd7
bt ecx, 0x1b
jb 0x180034bd7
mov rax, qword [0x1801a8fa0]
mov word [rax + 0x1c6c], 0x101
mov rax, qword [rax + 0x1c10]
or dword [rax + 0x128], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rbp + 0x1a8]
cmovne eax, ecx
jmp 0x180031b81