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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x288
mov rbx, qword [0x180197488]
mov r13, rcx
movaps xmmword [rax - 0x58], xmm6
mov r14, 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
mov rax, qword [rbx + 0x3f48]
mov qword [rsp + 0x70], rbx
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3f48]
mov qword [rbp - 0x30], r15
cmp byte [r15 + 0xbb], 0
jne 0x1800454ff
mov r12d, dword [rbp + 0x1f8]
mov eax, r12d
shr eax, 0xe
mov edi, r12d
and al, 1
shr edi, 0x1a
mov dword [rsp + 0x6c], eax
and dil, 1
mov eax, r12d
mov dword [rsp + 0x64], edi
shr eax, 0xf
and al, 1
mov dword [rbp - 0x54], eax
mov eax, r12d
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x60], eax
mov eax, r12d
shr eax, 0x12
and al, 1
mov dword [rbp - 0x80], eax
test dil, dil
je 0x180045130
call fcn.18001b850
mov rbx, qword [0x180197488]
movsxd rax, dword [r15 + 0xf0]
xor edx, edx
mov r8, qword [r15 + 0xf8]
mov rcx, r13
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180008480
mov dword [rsp + 0x78], eax
mov esi, eax
mov rdx, r13
cmp r13, 0xffffffffffffffff
jae 0x180045181
nop dword [rax]
movzx r8d, byte [rdx]
test r8b, r8b
je 0x180045181
lea rcx, [rdx + 1]
cmp r8b, 0x23
jne 0x180045178
cmp byte [rcx], r8b
je 0x180045181
mov rdx, rcx
cmp rcx, 0xffffffffffffffff
jb 0x180045160
movss xmm0, dword [0x18017bfe8]
xorps xmm11, xmm11
movss xmm7, dword [rbx + 0x3c70]
movss xmm10, dword [0x18017bfc4]
movss dword [rbp - 8], xmm0
cmp r13, rdx
jne 0x1800451ae
xorps xmm13, xmm13
jmp 0x1800451fd
mov rcx, qword [rbx + 0x3c68]
movaps xmm3, xmm10
mov qword [rsp + 0x30], rdx
movaps xmm2, xmm7
mov qword [rsp + 0x28], r13
lea rdx, [rbp + 0x200]
movss dword [rsp + 0x20], xmm0
call fcn.180032570
movss xmm0, dword [rbp + 0x200]
addss xmm0, dword [0x18017bdf8]
movss xmm7, dword [rbp + 0x204]
cvttss2si eax, xmm0
movd xmm13, eax
cvtdq2ps xmm13, xmm13
movss xmm6, dword [rbx + 0x3808]
movss dword [rbp - 4], xmm13
addss xmm6, xmm6
addss xmm6, dword [rbx + 0x3c70]
test dil, dil
je 0x18004522f
movss xmm0, dword [r14 + 0x3c70]
mulss xmm0, dword [0x18017bebc]
jmp 0x180045232
movaps xmm0, xmm7
comiss xmm13, xmm11
movss xmm3, dword [r14 + 0x3808]
addss xmm3, xmm3
addss xmm3, xmm0
jbe 0x180045257
movaps xmm2, xmm6
addss xmm2, dword [r14 + 0x381c]
jmp 0x18004525a
xorps xmm2, xmm2
call fcn.18001b610
mov rdx, qword [rbp + 0x1f0]
subss xmm0, xmm2
lea rcx, [rbp + 0x208]
mov rdx, qword [rdx]
movaps xmm2, xmm0
call fcn.18001b690
comiss xmm13, xmm11
jbe 0x180045287
movaps xmm3, xmm7
jmp 0x18004528a
xorps xmm3, xmm3
jbe 0x18004529a
movaps xmm0, xmm6
addss xmm0, dword [r14 + 0x381c]
jmp 0x18004529d
xorps xmm0, xmm0
movss xmm4, dword [rbp + 0x208]
movss xmm12, dword [rbp + 0x20c]
movss xmm8, dword [r15 + 0x100]
movss xmm9, dword [r15 + 0x104]
movaps xmm1, xmm8
movaps xmm2, xmm9
movss dword [rbp + 0x200], xmm4
addss xmm1, xmm4
movss dword [rbp], xmm12
addss xmm2, xmm12
addss xmm1, xmm0
addss xmm2, xmm3
ja 0x180045544
xorps xmm7, xmm7
xorps xmm6, xmm6
movss dword [rbp - 0x6c], xmm2
lea rcx, [rbp + 0x208]
movaps xmm13, xmm8
movss dword [rbp - 0x70], xmm1
movss xmm1, dword [r14 + 0x3808]
addss xmm13, xmm6
movaps xmm6, xmm9
movss dword [rbp + 0x50], xmm8
addss xmm6, xmm7
movss dword [rbp + 0x54], xmm9
xorps xmm0, xmm0
mov rbx, r15
mov qword [rbp - 0x48], rbx
movaps xmm2, xmm13
movss dword [rbp - 0x68], xmm13
addss xmm2, xmm4
movss dword [rbp - 0x78], xmm13
movaps xmm3, xmm6
movss dword [rbp - 0x50], xmm6
addss xmm3, xmm12
movss dword [rbp - 0x74], xmm6
movups xmmword [rbp + 0xa0], xmm0
movss dword [rbp + 0x58], xmm2
subss xmm2, xmm8
movss dword [rbp + 0x5c], xmm3
subss xmm3, xmm9
movss dword [rbp + 0x208], xmm2
movss dword [rbp + 0x20c], xmm3
call fcn.18001b100
test dil, dil
je 0x1800455ba
mov r9d, 0x400
lea r8, [rbp - 0x78]
mov edx, esi
lea rcx, [rbp + 0x50]
call fcn.18001b270
test al, al
je 0x1800454fa
movups xmm0, xmmword [r14 + 0x47e8]
mov rbx, qword [0x180197488]
lea rdx, [rbp - 0x28]
mov r12d, dword [r14 + 0x47f0]
movups xmmword [rbp + 0xa0], xmm0
mov dword [rbp - 0x28], 3
movss dword [r15 + 0x100], xmm8
lea rcx, [rbx + 0x4898]
movss dword [r15 + 0x104], xmm9
movups xmm0, xmmword [rbx + 0x38e0]
movups xmmword [rbp - 0x24], xmm0
call fcn.180026810
movups xmm0, xmmword [r14 + 0x3920]
mov ecx, 7
movups xmmword [rbx + 0x38e0], xmm0
movss xmm1, dword [r14 + 0x380c]
call fcn.180009010
movss xmm1, dword [r14 + 0x3810]
mov ecx, 8
call fcn.180009010
lea rdx, [rbp + 0x208]
mov qword [rbp + 0x208], 0
mov ecx, 2
call fcn.180009090
movss xmm0, dword [rbp - 0x70]
lea r8, [rbp + 0x208]
movss xmm1, dword [rbp - 0x6c]
mov r9b, 1
movss xmm13, dword [rbp - 0x78]
mov edx, esi
movss xmm6, dword [rbp - 0x74]
subss xmm0, xmm13
subss xmm1, xmm6
movss dword [rbp - 0x68], xmm13
mov rcx, r13
movss dword [rbp - 0x50], xmm6
mov dword [rsp + 0x20], 4
movss dword [rbp + 0x208], xmm0
movss dword [rbp + 0x20c], xmm1
call fcn.18000f4b0
mov ecx, 3
movzx ebx, al
call fcn.180009120
mov r8, qword [0x180197488]
movsxd rcx, dword [r8 + 0x4898]
cmp ecx, 1
jl 0x1800454f1
lea rdx, [rcx + rcx*4]
mov rcx, qword [r8 + 0x48a0]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x38b
add rax, rax
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x4898]
test bl, bl
jne 0x180045552
call fcn.18000f7a0
call fcn.18001b980
xor al, al
lea r11, [rsp + 0x288]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
addss xmm6, dword [r14 + 0x381c]
jmp 0x1800452f3
mov rbx, qword [r14 + 0x3f48]
movss xmm9, dword [rbp + 0x200]
mov qword [rbp - 0x48], rbx
movsx ecx, word [rbx + 0x15e]
mov eax, dword [rbx + 0x158]
bts ecx, eax
subss xmm9, dword [rbx + 0xac]
mov word [rbx + 0x15e], cx
movss xmm0, dword [r14 + 0x3804]
addss xmm0, dword [rbx + 0x100]
movss dword [rbx + 0x100], xmm0
movss xmm1, dword [r14 + 0x3808]
addss xmm1, dword [rbx + 0x104]
movss dword [rbx + 0x104], xmm1
jmp 0x180045604
bt r12d, 0x1c
jb 0x1800455f4
mov r9d, 0x400
lea r8, [rbp - 0x78]
mov edx, esi
lea rcx, [rbp + 0x50]
call fcn.18001b270
test al, al
je 0x1800454ff
movss xmm6, dword [rbp - 0x74]
movss xmm13, dword [rbp - 0x78]
movss dword [rbp - 0x50], xmm6
movss dword [rbp - 0x68], xmm13
mov r12d, dword [r14 + 0x47f0]
movss xmm9, dword [rbp + 0x200]
mov r8d, dword [r14 + 0x47ec]
lea rcx, [rbp - 0x78]
mov edx, esi
call fcn.18000c4c0
mov byte [rsp + 0x69], al
test al, al
je 0x180045629
mov dword [r14 + 0x4c88], 1
mov rcx, qword [0x180197488]
xor edx, edx
test esi, esi
je 0x180045645
lea r13, [rcx + 0x4c98]
cmp dword [rcx + 0x4ca0], esi
je 0x180045648
mov r13, rdx
mov edi, dword [r14 + 0x3fa8]
shr r12d, 8
and r12b, 1
mov qword [rbp - 0x10], r13
cmp edi, esi
je 0x180045683
cmp dword [r14 + 0x4950], esi
jne 0x180045683
test byte [r14 + 0x495c], 1
jne 0x18004567c
cmp dword [r14 + 0x4974], 2
jne 0x180045683
mov byte [rsp + 0x50], 1
jmp 0x180045687
mov byte [rsp + 0x50], dl
test al, al
je 0x180045699
cmp byte [r14 + 0x3740], dl
je 0x180045699
mov sil, 1
jmp 0x18004569c
xor sil, sil
mov edx, dword [rsp + 0x64]
mov byte [rbp + 0x200], sil
test dl, dl
je 0x1800456e6
test r13, r13
je 0x1800456e6
test edi, edi
jne 0x1800456e6
movsxd rax, dword [rbx + 0xf0]
lea rcx, str.SCROLLY
mov r8, qword [rbx + 0xf8]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180008480
cmp dword [r14 + 0x3fd8], eax
jne 0x1800456e2
mov bl, 1
jmp 0x1800456f1
mov edx, dword [rsp + 0x64]
xor bl, bl
test dl, dl
je 0x180045739
test r13, r13
je 0x180045739
mov r14, qword [rbp - 0x48]
lea rcx, str.SCROLLY
xor edx, edx
movsxd rax, dword [r14 + 0xf0]
mov r8, qword [r14 + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180008480
mov edx, dword [rsp + 0x64]
cmp edi, eax
jne 0x18004573d
movss xmm10, dword [r14 + 0x88]
mov cl, 1
mov byte [rsp + 0x51], cl
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x54], 0
jmp 0x180045760
mov r14, qword [rbp - 0x48]
xor cl, cl
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x51], cl
test dl, dl
je 0x18004575c
movss xmm10, dword [r14 + 0x88]
jmp 0x180045760
mov byte [rsp + 0x51], cl
test r13, r13
je 0x180045775
movzx eax, dl
xor al, 1
cmp byte [r13 + 0x6b], al
je 0x180045775
mov r14b, 1
jmp 0x180045778
xor r14b, r14b
test sil, sil
jne 0x18004579d
test bl, bl
jne 0x18004579d
cmp byte [rsp + 0x50], bl
jne 0x18004579d
test r12b, r12b
jne 0x18004579d
mov byte [rbp + 0x208], r12b
test cl, cl
jne 0x1800457a4
mov byte [rsp + 0x60], cl
jmp 0x1800457af
mov byte [rbp + 0x208], 1
mov byte [rsp + 0x60], 1
cmp edi, dword [rsp + 0x78]
jne 0x1800457b8
test r14b, r14b
je 0x180045a4c
mov r13, qword [rsp + 0x70]
add r13, 0x4c98
mov qword [rbp - 0x10], r13
mov ecx, dword [r13 + 8]
mov dword [r13 + 0xe80], 0xbe99999a
call fcn.180044f60
mov rax, qword [rbp + 0x1e0]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800457f0
mov ecx, dword [r13 + 0x3c]
lea edi, [rbx + 1]
cmp edi, ecx
jle 0x180045828
test ecx, ecx
je 0x180045813
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180045818
mov eax, 8
cmp eax, edi
lea rcx, [r13 + 0x38]
mov edx, edi
cmovg edx, eax
call fcn.180026e70
mov dword [r13 + 0x38], edi
mov rcx, qword [r13 + 0x40]
movsxd r8, edi
mov rdi, qword [rbp + 0x1e0]
mov rdx, rdi
call fcn.180117d70
mov esi, dword [rsp + 0x78]
cmp dword [r13 + 8], esi
jne 0x180045873
test r14b, r14b
jne 0x180045873
mov r15b, 1
cmp dword [r13 + 0x10], ebx
jne 0x180045873
cmp byte [r13 + 0x48], r14b
je 0x180045876
mov rcx, qword [r13 + 0x30]
mov rdx, rdi
movsxd r8, ebx
call fcn.180118ab0
test eax, eax
je 0x180045876
xor r15b, r15b
mov dword [r13 + 8], esi
movsxd rsi, dword [rbp + 0x1e8]
mov ecx, dword [r13 + 0x1c]
lea ebx, [rsi + 1]
cmp ebx, ecx
jle 0x1800458b0
test ecx, ecx
je 0x18004589b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800458a0
mov eax, 8
cmp eax, ebx
lea rcx, [r13 + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.180026f10
mov dword [r13 + 0x18], ebx
mov ecx, dword [r13 + 0x2c]
test ecx, ecx
jns 0x1800458d7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
mov edx, ecx
test eax, eax
lea rcx, [r13 + 0x28]
cmovg edx, eax
call fcn.180026e70
mov rcx, qword [rbp + 0x1e0]
xor r8d, r8d
mov dword [r13 + 0x28], r8d
dec rsi
mov r14, qword [r13 + 0x20]
mov rdi, rcx
mov byte [r13 + 0x48], r8b
mov rbx, r14
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x180045934
nop
cmp byte [rdi], 0
je 0x18004592a
xor r8d, r8d
lea rcx, [rbp - 0x64]
mov rdx, rdi
call fcn.1800087c0
movsxd rcx, eax
movzx eax, word [rbp - 0x64]
add rdi, rcx
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x180045900
mov rcx, qword [rbp + 0x1e0]
xor r8d, r8d
mov edx, dword [rsp + 0x64]
sub edi, ecx
mov word [rbx], r8w
sub rbx, r14
sar rbx, 1
mov dword [r13 + 0xc], ebx
mov dword [r13 + 0x10], edi
test r15b, r15b
je 0x18004597e
cmp dword [r13 + 0x54], ebx
mov ecx, ebx
cmovl ecx, dword [r13 + 0x54]
cmp dword [r13 + 0x58], ebx
mov dword [r13 + 0x54], ecx
mov ecx, ebx
cmovl ecx, dword [r13 + 0x58]
cmp dword [r13 + 0x5c], ebx
mov dword [r13 + 0x58], ecx
cmovl ebx, dword [r13 + 0x5c]
mov dword [r13 + 0x5c], ebx
jmp 0x1800459cd
movzx eax, dl
mov qword [r13 + 0x50], 0
xor al, 1
mov dword [r13 + 0xe72], 0x630000
mov byte [r13 + 0x6b], al
mov dword [r13 + 0xe78], r8d
mov dword [r13 + 0xe7c], 0x3e7
mov qword [r13 + 0x58], 0
mov word [r13 + 0x69], 1
mov dword [r13 + 0x70], r8d
mov byte [r13 + 0x68], 0
mov byte [r13 + 0x60], 0
mov dword [r13 + 0x64], r8d
test dl, dl
jne 0x180045a30
mov r8d, dword [rbp + 0x1f8]
test r8b, 0x10
mov eax, dword [rsp + 0x54]
mov r8d, 1
movzx eax, al
cmovne eax, r8d
mov dword [rsp + 0x54], eax
cmp byte [rsp + 0x50], dl
je 0x180045a0f
test r15b, r15b
je 0x180045a0a
mov rax, qword [rsp + 0x70]
test byte [rax + 0x495c], 4
jne 0x180045a0f
mov byte [rsp + 0x54], r8b
test r12b, r12b
jne 0x180045a2b
cmp byte [rbp + 0x200], r12b
je 0x180045a30
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0xe1c], r12b
je 0x180045a30
mov byte [rsp + 0x54], r8b
test dword [rbp + 0x1f8], 0x2000
movzx esi, byte [rbp + 0x200]
mov r15, qword [rbp - 0x30]
je 0x180045a4c
mov byte [r13 + 0x60], 1
mov rdi, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x78]
movzx ebx, byte [rbp + 0x208]
movzx r14d, byte [rdi + 0x59]
mov byte [rsp + 0x7c], r14b
cmp dword [rdi + 0x3fa8], r12d
je 0x180045aa5
test bl, bl
je 0x180045a98
mov rdx, r15
mov ecx, r12d
call fcn.18000c0c0
mov rdx, r15
mov ecx, r12d
call fcn.180020660
xor edx, edx
mov rcx, r15
call fcn.180014860
mov edx, dword [rsp + 0x64]
cmp dword [rdi + 0x3fa8], r12d
jne 0x180045be3
test sil, sil
je 0x180045ac8
mov rax, qword [0x180197488]
mov dword [rax + 0x4600], r12d
mov dword [rax + 0x45fc], r12d
mov word [rax + 0x4604], 0
mov eax, dword [rdi + 0x47b8]
mov ecx, dword [rbp + 0x1f8]
or eax, 3
mov dword [rdi + 0x47b8], eax
test dl, dl
jne 0x180045ae5
test cl, cl
jns 0x180045aee
or eax, 0xc
mov dword [rdi + 0x47b8], eax
mov rax, qword [0x180197488]
mov dword [rax + 0x4048], r12d
mov dword [rax + 0x4044], r12d
mov word [rax + 0x404c], 0
mov dword [rax + 0x4054], r12d
mov dword [rax + 0x4050], r12d
mov word [rax + 0x4058], 0
test dl, dl
je 0x180045b55
mov dword [rax + 0x4030], r12d
mov dword [rax + 0x402c], r12d
mov word [rax + 0x4034], 0
mov dword [rax + 0x403c], r12d
mov dword [rax + 0x4038], r12d
mov word [rax + 0x4040], 0
test r14b, r14b
je 0x180045b71
mov dword [rax + 0x466c], r12d
mov dword [rax + 0x4668], r12d
mov word [rax + 0x4670], 0
test ecx, 0x440
je 0x180045baa
mov ecx, 0x200
call fcn.180019120
mov rdx, qword [0x180197488]
lea ecx, [r12 - 1]
cmp ecx, 0xfffffffd
mov ecx, r12d
jbe 0x180045b9d
mov ecx, dword [rdx + 0x47c4]
cmp byte [rax + 4], 0
jbe 0x180045baa
mov dword [rax + 0xc], ecx
mov byte [rax + 4], 0
cmp dword [rdi + 0x3fa8], r12d
jne 0x180045be3
test r13, r13
jne 0x180045bbd
call fcn.18000c1c0
cmp dword [rdi + 0x3fa8], r12d
jne 0x180045be3
cmp byte [rdi + 0x3740], 0
je 0x180045bef
cmp byte [rsp + 0x60], 0
jne 0x180045bef
test bl, bl
jne 0x180045bef
mov byte [rsp + 0x58], 1
mov cl, 1
jmp 0x180045bf5
test r13, r13
je 0x180045bf3
cmp byte [rsp + 0x51], 0
je 0x180045bf3
mov cl, 1
jmp 0x180045bf5
xor cl, cl
mov r12d, dword [rsp + 0x54]
mov byte [rbp + 0x200], cl
test r13, r13
je 0x180045c1c
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x180045c14
test r12b, r12b
je 0x180045c1c
test cl, cl
je 0x180045c1c
mov dl, 1
jmp 0x180045c1e
xor dl, dl
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x5c], edx
movzx r15d, dl
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x60], 0
test al, al
je 0x180045d42
test r13, r13
je 0x180045d42
test cl, cl
jne 0x180045c51
test dl, dl
je 0x180045d4a
mov esi, dword [rbp + 0x1e8]
mov ecx, dword [r13 + 0x1c]
inc esi
cmp esi, ecx
jle 0x180045c85
test ecx, ecx
je 0x180045c70
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180045c75
mov eax, 8
cmp eax, esi
lea rcx, [r13 + 0x18]
mov edx, esi
cmovg edx, eax
call fcn.180026f10
mov rcx, qword [rbp + 0x1e0]
mov dword [r13 + 0x18], esi
mov rbx, rcx
mov r14, qword [r13 + 0x20]
movsxd rsi, esi
mov rdi, r14
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x180045ce7
nop dword [rax]
cmp byte [rbx], 0
je 0x180045ce0
xor r8d, r8d
lea rcx, [rbp + 0x208]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
movzx eax, word [rbp + 0x208]
add rbx, rcx
mov word [rdi], ax
add rdi, 2
cmp rdi, rsi
jb 0x180045cb0
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rsp + 0x6c]
sub ebx, ecx
xor edx, edx
mov word [rdi], dx
sub rdi, r14
movzx r14d, byte [rsp + 0x7c]
sar rdi, 1
cmp dword [r13 + 0x54], edi
mov ecx, edi
mov dword [r13 + 0xc], edi
cmovl ecx, dword [r13 + 0x54]
cmp dword [r13 + 0x58], edi
mov dword [r13 + 0x54], ecx
mov ecx, edi
cmovl ecx, dword [r13 + 0x58]
cmp dword [r13 + 0x5c], edi
mov dword [r13 + 0x58], ecx
cmovl edi, dword [r13 + 0x5c]
cmp ecx, edi
mov dword [r13 + 0x10], ebx
movzx ecx, byte [rbp + 0x200]
cmovne edx, r15d
mov dword [r13 + 0x5c], edi
mov dword [rsp + 0x5c], edx
test cl, cl
jne 0x180045d75
test dl, dl
jne 0x180045d75
mov r15, qword [rsp + 0x70]
mov esi, dword [rsp + 0x78]
cmp dword [r15 + 0x3fa8], esi
je 0x180045d7e
xor al, al
cmp qword [rbp + 0x1d8], 0
mov byte [rbp - 0x56], al
je 0x180045da1
test al, al
je 0x180045d91
mov rax, qword [r13 + 0x30]
jmp 0x180045d98
mov esi, dword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
test al, al
jne 0x180045d5c
test r13, r13
je 0x180045d5c
cmp byte [r13 + 0x48], al
je 0x180045d5c
mov al, 1
jmp 0x180045d5e
mov rax, qword [rbp + 0x1e0]
cmp byte [rax], 0
jne 0x180045da1
mov al, 1
jmp 0x180045da3
xor al, al
cmp byte [rbp - 0x54], 0
mov byte [rbp + 0x208], al
je 0x180045e7e
test al, al
jne 0x180045e7e
mov rdx, qword [r15 + 0x3c68]
cmp dword [rdx + 0x18], 0x2a
ja 0x180045dce
mov r8, qword [rdx + 0x38]
jmp 0x180045df2
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x180045de6
mov r8, qword [rdx + 0x38]
jmp 0x180045df2
mov rax, qword [rdx + 0x30]
lea rcx, [rcx + rcx*4]
lea r8, [rax + rcx*8]
mov eax, dword [rdx + 0x14]
lea rdi, [r15 + 0x5b40]
mov rbx, qword [0x180197488]
mov dword [rdi + 0x14], eax
mov rax, qword [r15 + 0x3c68]
mov qword [rbp - 0x30], rdi
mov ecx, dword [rax + 0x64]
mov dword [rdi + 0x64], ecx
mov rax, qword [r15 + 0x3c68]
mov ecx, dword [rax + 0x68]
mov dword [rdi + 0x68], ecx
mov rax, qword [r15 + 0x3c68]
mov ecx, dword [rax + 0x6c]
mov dword [rdi + 0x6c], ecx
mov rax, qword [r15 + 0x3c68]
mov rcx, qword [rax + 0x40]
mov qword [rdi + 0x40], rcx
mov rcx, rdi
mov qword [rdi + 0x38], r8
mov eax, dword [r8 + 4]
mov dword [rdi + 0x10], eax
call fcn.180014c30
lea rcx, [rbx + 0x48b8]
lea rdx, [rbp - 0x30]
call fcn.180026bb0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x3f48]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x298]
call fcn.180029490
movss xmm0, dword [0x18017bdb0]
xor ecx, ecx
mov ebx, 0x20000c
mov dword [rbp - 0x38], ecx
cmp dword [r15 + 0x3fa8], esi
jne 0x1800463dd
mov eax, dword [r13 + 0x10]
mov edi, dword [rbp + 0x1f8]
mov byte [r13 + 0xe86], cl
mov dword [r13 + 0xe88], edi
mov dword [rbp - 0x38], eax
mov eax, dword [rbp + 0x1e8]
mov dword [r13 + 0x4c], eax
cmp byte [r15 + 0xe08], cl
sete al
mov byte [r15 + 0x3fb5], al
movss xmm6, dword [r15 + 0xe00]
subss xmm6, xmm13
subss xmm6, dword [r15 + 0x3804]
addss xmm6, dword [r13 + 0x50]
cmp byte [rsp + 0x64], cl
je 0x180045f0d
mov rax, qword [rbp - 0x48]
movss xmm2, dword [r15 + 0xe04]
subss xmm2, dword [rax + 0x104]
jmp 0x180045f1a
movss xmm2, dword [r15 + 0x3c70]
mulss xmm2, xmm0
test r12b, r12b
je 0x180045f43
mov eax, dword [r13 + 0xc]
xor r12d, r12d
mov dword [r13 + 0x58], r12d
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x54], eax
mov byte [r13 + 0x6a], cl
mov byte [r13 + 0xe85], 1
jmp 0x180046251
movzx eax, byte [rsp + 0x69]
test al, al
je 0x18004610f
cmp word [r15 + 0x374a], 2
jb 0x18004610f
cmp byte [r15 + 0xe1d], cl
jne 0x18004610f
cmp byte [r13 + 0x6b], cl
je 0x180045f86
xor r8d, r8d
lea rcx, [rbp - 0x28]
mov rdx, r13
call fcn.180042a70
movss xmm2, dword [rbp - 0x1c]
movaps xmm1, xmm6
mov rcx, r13
call fcn.180043010
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x58], eax
mov dword [r13 + 0x5c], eax
mov byte [r13 + 0x6a], 0
test byte [r15 + 0x374a], 1
jne 0x180046074
test eax, eax
je 0x180045fc7
movsxd rcx, eax
mov rax, qword [r13 + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x180045fc7
xor cl, cl
jmp 0x180045fc9
mov cl, 1
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x180045fd7
test cl, cl
jne 0x180045ff9
lea rdx, [r13 + 0x54]
mov r8d, ebx
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x18004601b
cmp dword [r13 + 0x58], eax
jne 0x180046017
mov eax, dword [r13 + 0x54]
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x58], eax
jmp 0x18004601b
mov dword [r13 + 0x54], eax
mov edx, dword [r13 + 0x54]
mov rcx, r13
call fcn.180042c50
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x5c], eax
mov edx, dword [r13 + 0x5c]
mov ecx, dword [r13 + 0x58]
mov eax, dword [r13 + 0xc]
cmp ecx, edx
je 0x18004605b
cmp ecx, eax
jle 0x180046049
mov dword [r13 + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x180046053
mov dword [r13 + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x18004605b
mov dword [r13 + 0x54], ecx
cmp dword [r13 + 0x54], eax
jle 0x180046104
mov edi, dword [rbp + 0x1f8]
mov dword [r13 + 0x54], eax
jmp 0x180046243
movsxd rcx, eax
lea rdx, [r13 + 0x54]
mov rax, qword [r13 + 0x20]
mov r8d, 0x200004
movzx ebx, word [rax + rcx*2]
mov rcx, r13
call fcn.1800434c0
mov r8d, 0x600005
mov byte [r13 + 0xe84], 1
lea rdx, [r13 + 0x54]
mov dword [r13 + 0xe80], 0xbe99999a
mov rcx, r13
call fcn.1800434c0
mov r8d, 0x600001
mov byte [r13 + 0xe84], 1
lea rdx, [r13 + 0x54]
mov dword [r13 + 0xe80], 0xbe99999a
mov rcx, r13
call fcn.1800434c0
cmp bx, 0xa
je 0x1800460fc
cmp byte [rsp + 0x64], 0
je 0x1800460fc
mov ecx, dword [r13 + 0x58]
mov eax, dword [r13 + 0x5c]
mov dword [r13 + 0x58], eax
mov dword [r13 + 0x5c], ecx
mov dword [r13 + 0x54], ecx
mov byte [r13 + 0xe84], 0
mov edi, dword [rbp + 0x1f8]
jmp 0x180046243
cmp byte [r15 + 0x3740], cl
je 0x1800461c8
cmp byte [r13 + 0xe85], cl
jne 0x1800461c8
test al, al
je 0x18004624e
cmp byte [r15 + 0xe1d], cl
je 0x180046187
cmp byte [r13 + 0x6b], cl
je 0x180046154
xor r8d, r8d
lea rcx, [rbp - 0x28]
mov rdx, r13
call fcn.180042a70
movss xmm2, dword [rbp - 0x1c]
mov eax, dword [r13 + 0x5c]
lea rbx, [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x18004616a
mov eax, dword [r13 + 0x54]
mov dword [r13 + 0x58], eax
movaps xmm1, xmm6
mov rcx, r13
call fcn.180043010
mov ecx, 0x54
mov dword [rbx], eax
mov rdx, r13
mov dword [rcx + rdx], eax
jmp 0x180046243
cmp byte [r13 + 0x6b], cl
je 0x1800461a1
xor r8d, r8d
lea rcx, [rbp - 0x28]
mov rdx, r13
call fcn.180042a70
movss xmm2, dword [rbp - 0x1c]
movaps xmm1, xmm6
mov rcx, r13
call fcn.180043010
mov dword [r13 + 0x58], eax
lea rbx, [r13 + 0x5c]
mov byte [r13 + 0x6a], 0
mov ecx, 0x54
mov dword [rbx], eax
mov rdx, r13
mov dword [rcx + rdx], eax
jmp 0x180046243
cmp byte [r15 + 0xe08], cl
je 0x18004624e
cmp byte [r13 + 0xe85], cl
jne 0x18004624e
movss xmm0, dword [r15 + 0xf4]
ucomiss xmm0, xmm11
jp 0x1800461fc
jne 0x1800461fc
movss xmm0, dword [r15 + 0xf8]
ucomiss xmm0, xmm11
jp 0x1800461fc
je 0x18004624e
cmp byte [r13 + 0x6b], cl
je 0x180046216
xor r8d, r8d
lea rcx, [rbp - 0x28]
mov rdx, r13
call fcn.180042a70
movss xmm2, dword [rbp - 0x1c]
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x180046228
mov eax, dword [r13 + 0x54]
mov dword [r13 + 0x58], eax
movaps xmm1, xmm6
mov rcx, r13
call fcn.180043010
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x54], eax
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
xor r12d, r12d
cmp byte [r13 + 0xe85], 0
je 0x18004626d
cmp byte [r15 + 0xe08], 0
jne 0x18004626d
mov byte [r13 + 0xe85], 0
bt edi, 0xa
jae 0x1800462d6
xor r8d, r8d
mov edx, esi
mov ecx, 0x200
call fcn.18001b000
mov ecx, dword [rsp + 0x6c]
test al, al
je 0x1800462da
test cl, cl
jne 0x1800462da
mov r8d, edi
mov dword [rsp + 0x54], 9
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x28], 2
mov rcx, r15
call fcn.180044af0
test al, al
je 0x1800462d6
mov r8d, dword [rsp + 0x54]
lea rdx, [r13 + 0x54]
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
mov ecx, dword [rsp + 0x6c]
cmp byte [r15 + 0xe1c], 0
je 0x1800462ee
cmp byte [r15 + 0xe1e], 0
je 0x1800462fd
test r14b, r14b
je 0x180046301
cmp byte [r15 + 0xe1f], 0
je 0x180046301
mov al, 1
jmp 0x180046303
xor al, al
cmp dword [r15 + 0x37b8], 0
jle 0x1800463d8
test al, al
jne 0x1800463a9
test cl, cl
jne 0x1800463a9
cmp byte [rsp + 0x50], cl
jne 0x1800463a9
mov r14d, dword [rbp + 0x1f8]
mov edi, r12d
mov rbx, r12
nop dword [rax + rax]
mov rax, qword [r15 + 0x37c0]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x54], ecx
cmp ecx, 9
je 0x180046394
mov r8d, r14d
mov dword [rsp + 0x28], 2
lea rdx, [rsp + 0x54]
mov rcx, r15
call fcn.180044af0
test al, al
je 0x180046394
mov r8d, dword [rsp + 0x54]
lea rdx, [r13 + 0x54]
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
inc edi
add rbx, 2
cmp edi, dword [r15 + 0x37b8]
jl 0x180046340
movzx r14d, byte [rsp + 0x7c]
mov ecx, dword [r15 + 0x37bc]
test ecx, ecx
jns 0x1800463d1
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [r15 + 0x37b8]
test eax, eax
cmovg edx, eax
call fcn.180026f10
mov dword [r15 + 0x37b8], r12d
movss xmm6, dword [rbp - 0x50]
mov r12d, dword [rsp + 0x78]
xor sil, sil
mov byte [rsp + 0x7e], sil
cmp dword [r15 + 0x3fa8], r12d
jne 0x180046ffa
cmp byte [r15 + 0x3fb4], sil
jne 0x180046ffa
cmp byte [rsp + 0x58], sil
jne 0x180046ffa
movaps xmm0, xmm12
mov ebx, 1
subss xmm0, dword [r15 + 0x3808]
mov ecx, ebx
divss xmm0, dword [r15 + 0x3c70]
cvttss2si eax, xmm0
cmp eax, ebx
cmovge ecx, eax
mov dword [r13 + 0x64], ecx
movzx eax, byte [r15 + 0xe1d]
neg al
mov dword [rsp + 0x54], ecx
sbb edi, edi
and edi, 0x400000
test r14b, r14b
je 0x18004647c
movzx eax, byte [r15 + 0xe1e]
mov byte [rsp + 0x50], al
cmp byte [r15 + 0xe1f], sil
je 0x180046488
cmp byte [r15 + 0xe1c], sil
jne 0x180046488
test al, al
jne 0x180046488
mov byte [rsp + 0x68], bl
jmp 0x18004648d
movzx eax, byte [r15 + 0xe1c]
mov byte [rsp + 0x50], al
mov byte [rsp + 0x68], sil
mov r8d, ebx
mov edx, r12d
mov ecx, 0xa39
call fcn.18001b000
test al, al
jne 0x1800464b5
mov r8d, ebx
mov edx, r12d
mov ecx, 0x220a
call fcn.18001b000
test al, al
je 0x1800464e0
mov esi, dword [rsp + 0x6c]
mov r15d, dword [rbp - 0x54]
mov ebx, dword [rsp + 0x64]
test sil, sil
jne 0x1800464ec
test r15b, r15b
jne 0x1800464ec
test bl, bl
je 0x1800464d9
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
je 0x1800464ec
mov byte [rsp + 0x7d], 1
jmp 0x1800464f1
mov ebx, dword [rsp + 0x64]
mov esi, dword [rsp + 0x6c]
mov r15d, dword [rbp - 0x54]
mov byte [rsp + 0x7d], 0
xor r8d, r8d
mov edx, r12d
mov ecx, 0xa24
call fcn.18001b000
test al, al
jne 0x180046519
xor r8d, r8d
mov edx, r12d
mov ecx, 0x1209
call fcn.18001b000
test al, al
je 0x180046532
test r15b, r15b
jne 0x180046532
test bl, bl
je 0x18004652c
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
je 0x180046532
mov byte [rbp - 0x57], 1
jmp 0x180046536
mov byte [rbp - 0x57], 0
mov r15d, 1
mov edx, r12d
mov r8d, r15d
mov ecx, 0xa37
call fcn.18001b000
test al, al
jne 0x180046564
mov r8d, r15d
mov edx, r12d
mov ecx, 0x2209
call fcn.18001b000
test al, al
je 0x18004656e
mov byte [rsp + 0x69], r15b
test sil, sil
je 0x180046573
mov byte [rsp + 0x69], 0
mov r8d, r15d
mov edx, r12d
mov ecx, 0xa3b
call fcn.18001b000
mov ebx, dword [rbp - 0x60]
test al, al
je 0x180046597
test sil, sil
jne 0x180046597
mov byte [rbp - 0x58], r15b
test bl, bl
jne 0x18004659b
mov byte [rbp - 0x58], 0
mov r8d, r15d
mov edx, r12d
mov ecx, 0xa3a
call fcn.18001b000
test al, al
jne 0x1800465c8
test r14b, r14b
je 0x1800465d1
mov r8d, r15d
mov edx, r12d
mov ecx, 0x2a3b
call fcn.18001b000
test al, al
je 0x1800465d1
test sil, sil
jne 0x1800465d1
test bl, bl
jne 0x1800465d4
xor r15b, r15b
xor r8d, r8d
mov edx, r12d
mov ecx, 0xa22
call fcn.18001b000
movzx r12d, al
mov rax, qword [rsp + 0x70]
test byte [rax + 8], 2
je 0x1800465fd
test byte [rax + 0xc], 1
je 0x1800465fd
mov bl, 1
jmp 0x1800465ff
xor bl, bl
mov esi, 1
xor edx, edx
mov r8d, esi
mov ecx, 0x20d
call fcn.180019480
test al, al
jne 0x18004662f
mov r8d, esi
xor edx, edx
mov ecx, 0x267
call fcn.180019480
test al, al
jne 0x18004662f
xor r14b, r14b
jmp 0x180046633
movzx r14d, sil
test bl, bl
je 0x18004665d
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180019480
test al, al
jne 0x180046660
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180019480
test al, al
jne 0x180046660
xor sil, sil
mov edx, dword [rsp + 0x78]
mov r8d, 1
mov ecx, 0x20e
call fcn.18001b000
test al, al
jne 0x180046698
test bl, bl
je 0x180046694
mov edx, dword [rsp + 0x78]
mov r8d, 1
mov ecx, 0x26c
call fcn.18001b000
test al, al
jne 0x180046698
xor bl, bl
jmp 0x18004669a
mov bl, 1
xor edx, edx
mov ecx, 0x201
mov r8d, 1
call fcn.180019480
test al, al
je 0x1800466fe
cmp byte [rsp + 0x68], 0
je 0x1800466be
mov eax, 0x200004
jmp 0x1800466d0
cmp byte [rsp + 0x50], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmovne eax, ecx
or edi, eax
lea rdx, [r13 + 0x54]
mov r8d, edi
mov rcx, r13
call fcn.1800434c0
mov dword [r13 + 0xe80], 0xbe99999a
mov byte [r13 + 0xe84], 1
mov r15, qword [rsp + 0x70]
jmp 0x180046fcd
xor edx, edx
mov ecx, 0x202
mov r8d, 1
call fcn.180019480
test al, al
je 0x18004673a
cmp byte [rsp + 0x68], 0
je 0x180046724
mov ecx, 0x200005
or edi, ecx
jmp 0x1800466d2
cmp byte [rsp + 0x50], 0
mov ecx, 0x200001
mov eax, 0x20000d
cmovne ecx, eax
or edi, ecx
jmp 0x1800466d2
xor edx, edx
mov ecx, 0x203
mov r8d, 1
call fcn.180019480
test al, al
je 0x1800467d7
cmp byte [rsp + 0x64], 0
je 0x1800467d7
mov r15, qword [rsp + 0x70]
cmp byte [r15 + 0xe1c], 0
je 0x1800467a3
mov r8, qword [rbp - 0x48]
xor eax, eax
movss xmm0, dword [r8 + 0x88]
subss xmm0, dword [r15 + 0x3c70]
mov dword [r8 + 0xa0], eax
mov dword [r8 + 0xa8], eax
maxss xmm0, xmm11
movss dword [r8 + 0x98], xmm0
jmp 0x180046fcd
movzx eax, byte [rsp + 0x68]
lea r8d, [rax*4 + 0x200002]
or r8d, edi
lea rdx, [r13 + 0x54]
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
jmp 0x180046fcd
xor edx, edx
mov ecx, 0x204
mov r8d, 1
call fcn.180019480
test al, al
je 0x18004685b
cmp byte [rsp + 0x64], 0
je 0x18004685b
mov r15, qword [rsp + 0x70]
cmp byte [r15 + 0xe1c], 0
je 0x180046849
mov rdx, qword [rbp - 0x48]
movss xmm0, dword [r15 + 0x3c70]
mov rax, qword [0x180197488]
addss xmm0, dword [rdx + 0x88]
mov rcx, qword [rax + 0x3f48]
xor eax, eax
minss xmm0, dword [rcx + 0x90]
mov dword [rdx + 0xa0], eax
mov dword [rdx + 0xa8], eax
movss dword [rdx + 0x98], xmm0
jmp 0x180046fcd
movzx eax, byte [rsp + 0x68]
lea r8d, [rax*4 + 0x200003]
jmp 0x1800467b0
xor edx, edx
mov ecx, 0x205
mov r8d, 1
call fcn.180019480
test al, al
je 0x1800468c1
cmp byte [rsp + 0x64], 0
je 0x1800468c1
or edi, 0x20000e
lea rdx, [r13 + 0x54]
mov r8d, edi
mov rcx, r13
call fcn.1800434c0
movd xmm0, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
mulss xmm0, dword [r15 + 0x3c70]
subss xmm10, xmm0
jmp 0x180046fcd
xor edx, edx
mov ecx, 0x206
mov r8d, 1
call fcn.180019480
test al, al
je 0x180046927
cmp byte [rsp + 0x64], 0
je 0x180046927
or edi, 0x20000f
lea rdx, [r13 + 0x54]
mov r8d, edi
mov rcx, r13
call fcn.1800434c0
movd xmm0, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
mulss xmm0, dword [r15 + 0x3c70]
addss xmm10, xmm0
jmp 0x180046fcd
xor edx, edx
mov ecx, 0x207
mov r8d, 1
call fcn.180019480
test al, al
je 0x180046962
mov r15, qword [rsp + 0x70]
mov eax, edi
or eax, 0x200006
or edi, 0x200004
cmp byte [r15 + 0xe1c], 0
cmovne edi, eax
mov r8d, edi
jmp 0x1800467b3
xor edx, edx
mov ecx, 0x208
mov r8d, 1
call fcn.180019480
test al, al
je 0x18004699e
mov r15, qword [rsp + 0x70]
mov eax, edi
or eax, 0x200007
mov r8d, 0x200005
or r8d, edi
cmp byte [r15 + 0xe1c], 0
cmovne r8d, eax
jmp 0x1800467b3
xor edx, edx
mov ecx, 0x20a
mov r8d, 1
call fcn.180019480
test al, al
je 0x180046a03
cmp byte [rsp + 0x6c], 0
jne 0x180046a03
cmp byte [rsp + 0x7d], 0
jne 0x180046a03
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x1800469f8
cmp byte [rsp + 0x50], 0
je 0x1800469f8
lea rdx, [r13 + 0x54]
mov r8d, 0x60000d
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
or edi, 0x200008
jmp 0x1800466d2
xor edx, edx
mov ecx, 0x20b
mov r8d, 1
call fcn.180019480
mov r8d, dword [rsp + 0x6c]
test al, al
je 0x180046ad1
test r8b, r8b
jne 0x180046ad1
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x180046a61
cmp byte [rsp + 0x50], r8b
je 0x180046a74
lea rdx, [r13 + 0x54]
mov r8d, 0x60000c
mov rcx, r13
call fcn.1800434c0
mov byte [r13 + 0xe84], 1
mov dword [r13 + 0xe80], 0xbe99999a
mov r15, qword [rsp + 0x70]
or edi, 0x200009
mov r8d, edi
jmp 0x1800467b3
cmp byte [rsp + 0x7c], 0
je 0x180046a61
mov r15, qword [rsp + 0x70]
cmp byte [r15 + 0xe1f], 0
je 0x180046a66
cmp byte [r15 + 0xe1e], 0
jne 0x180046a66
cmp byte [r15 + 0xe1c], 0
jne 0x180046a66
lea rdx, [r13 + 0x54]
mov r8d, 0x600004
mov rcx, r13
call fcn.1800434c0
or edi, 0x200009
mov byte [r13 + 0xe84], 1
mov r8d, edi
mov dword [r13 + 0xe80], 0xbe99999a
jmp 0x1800467b3
test r14b, r14b
jne 0x180046f32
test sil, sil
jne 0x180046f32
test bl, bl
je 0x180046b4b
test dword [rbp + 0x1f8], 0x100000
je 0x180046b2a
mov rax, qword [rbp + 0x1e0]
movzx eax, byte [rax]
test al, al
jne 0x180046b17
xor r12b, r12b
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x5c], r12d
test al, al
mov byte [rbp + 0x200], r12b
mov r15, qword [rsp + 0x70]
setne sil
mov byte [rsp + 0x7e], sil
jmp 0x180046fd0
mov r15, qword [rsp + 0x70]
mov sil, 1
xor cl, cl
mov byte [rsp + 0x7e], sil
xor dl, dl
mov byte [rsp + 0x58], sil
mov byte [rbp + 0x200], dl
jmp 0x180046fdb
movzx eax, byte [rbp - 0x58]
test al, al
jne 0x180046f07
test r15b, r15b
jne 0x180046f07
test r12b, r12b
je 0x180046b8d
xor eax, eax
mov byte [r13 + 0x6a], r15b
mov r15, qword [rsp + 0x70]
mov dword [r13 + 0x58], eax
mov eax, dword [r13 + 0xc]
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x54], eax
mov byte [r13 + 0xe84], 1
jmp 0x180046fcd
movzx r15d, byte [rsp + 0x7d]
test r15b, r15b
jne 0x180046d4e
cmp byte [rbp - 0x57], r15b
jne 0x180046d4e
cmp byte [rsp + 0x69], r15b
je 0x1800466f4
mov rcx, qword [0x180197488]
mov rax, qword [rcx + 0xa8]
test rax, rax
je 0x180046be2
mov rcx, qword [rcx + 0xb8]
call rax
mov rbx, rax
test rax, rax
je 0x1800466f4
mov rcx, qword [0x180197488]
jmp 0x180046be9
lea rbx, [0x18013f028]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x180046bf0
test rcx, rcx
je 0x180046c04
inc dword [rcx + 0xf0]
mov rdx, qword [0x180197540]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call qword [0x180195ec8]
mov r15, qword [rsp + 0x70]
xor r12d, r12d
mov r14, rax
mov qword [rbp - 0x30], rax
mov esi, r12d
cmp byte [rbx], r12b
je 0x180046c86
mov r14d, dword [rbp + 0x1f8]
mov rdi, rax
nop dword [rax]
xor r8d, r8d
lea rcx, [rbp - 0x60]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
lea rdx, [rbp - 0x60]
add rbx, rcx
mov dword [rsp + 0x28], 4
mov rcx, r15
mov r8d, r14d
call fcn.180044af0
test al, al
je 0x180046c7d
movzx eax, word [rbp - 0x60]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], r12b
jne 0x180046c40
mov r14, qword [rbp - 0x30]
movsxd rax, esi
mov word [r14 + rax*2], r12w
test esi, esi
jle 0x180046d22
mov edx, dword [r13 + 0x5c]
mov ecx, dword [r13 + 0x58]
mov eax, dword [r13 + 0xc]
cmp ecx, edx
je 0x180046cc2
cmp ecx, eax
jle 0x180046cb0
mov dword [r13 + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x180046cba
mov dword [r13 + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x180046cc2
mov dword [r13 + 0x54], ecx
cmp dword [r13 + 0x54], eax
jle 0x180046ccc
mov dword [r13 + 0x54], eax
lea rdx, [r13 + 0x54]
mov rcx, r13
call fcn.180043420
mov edx, dword [r13 + 0x54]
mov r9d, esi
mov r8, r14
mov rcx, r13
call fcn.180042e80
test al, al
je 0x180046d1a
mov edi, dword [r13 + 0x54]
lea rcx, [r13 + 0x74]
xor edx, edx
call fcn.1800445e0
test rax, rax
je 0x180046d12
mov dword [rax], edi
mov dword [rax + 4], r12d
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0xffffffff
add dword [r13 + 0x54], esi
mov byte [r13 + 0x6a], r12b
mov byte [r13 + 0xe84], 1
test r14, r14
je 0x180046d39
mov rax, qword [0x180197488]
test rax, rax
je 0x180046d39
dec dword [rax + 0xf0]
mov rdx, qword [0x180197540]
mov rcx, r14
call qword [0x180195ed0]
jmp 0x180046fcd
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0xb0], 0
je 0x180046eac
mov edi, dword [r13 + 0x5c]
mov eax, dword [r13 + 0x58]
cmp eax, edi
je 0x180046d77
mov esi, edi
cmovge edi, eax
cmovl esi, eax
jmp 0x180046d7f
mov edi, dword [r13 + 0xc]
xor eax, eax
mov esi, eax
mov rcx, qword [r13 + 0x20]
mov r9d, 0x800
movsxd rax, edi
mov r12d, 0x80
lea r8, [rcx + rax*2]
movsxd rax, esi
lea rdx, [rcx + rax*2]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x180046dab
cmp rdx, r8
jae 0x180046dce
movzx eax, word [rdx]
test ax, ax
je 0x180046dce
add rdx, 2
cmp ax, r12w
jae 0x180046dc1
inc ecx
jmp 0x180046da1
cmp ax, r9w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x180046da1
mov rax, qword [0x180197488]
inc ecx
test rax, rax
je 0x180046de2
inc dword [rax + 0xf0]
mov rdx, qword [0x180197540]
movsxd rbx, ecx
mov rcx, rbx
call qword [0x180195ec8]
mov rdx, qword [r13 + 0x20]
mov r14, rax
movsxd rcx, edi
mov r9, rax
lea rdi, [rax + rbx]
lea rbx, [rdi - 1]
lea r11, [rdx + rcx*2]
movsxd rcx, esi
lea r10, [rdx + rcx*2]
cmp rax, rbx
jae 0x180046e61
nop word [rax + rax]
test r11, r11
je 0x180046e2a
cmp r10, r11
jae 0x180046e61
movzx eax, word [r10]
test ax, ax
je 0x180046e61
add r10, 2
mov r8d, eax
cmp eax, r12d
jae 0x180046e47
mov byte [r9], r8b
inc r9
jmp 0x180046e5c
mov edx, edi
mov rcx, r9
sub edx, r9d
dec edx
call fcn.180008970
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x180046e20
mov rax, qword [0x180197488]
mov byte [r9], 0
mov r8, qword [rax + 0xb0]
test r8, r8
je 0x180046e8c
mov rcx, qword [rax + 0xb8]
mov rdx, r14
call r8
mov rax, qword [0x180197488]
test r14, r14
je 0x180046e9c
test rax, rax
je 0x180046e9c
dec dword [rax + 0xf0]
mov rdx, qword [0x180197540]
mov rcx, r14
call qword [0x180195ed0]
test r15b, r15b
je 0x1800466f4
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
jne 0x180046ed6
xor eax, eax
mov byte [r13 + 0x6a], 0
mov dword [r13 + 0x58], eax
mov eax, dword [r13 + 0xc]
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x54], eax
mov byte [r13 + 0xe84], 1
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
je 0x1800466f4
lea rdx, [r13 + 0x54]
mov rcx, r13
call fcn.180043420
mov r15, qword [rsp + 0x70]
mov byte [r13 + 0x6a], 0
jmp 0x180046fcd
mov r8d, eax
lea rdx, [r13 + 0x54]
xor r8d, 1
mov rcx, r13
add r8d, 0x20000a
call fcn.1800434c0
mov eax, dword [r13 + 0x54]
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x58], eax
jmp 0x1800466e1
mov edx, dword [rbp + 0x1f8]
mov eax, edx
mov ecx, dword [rsp + 0x64]
mov r15, qword [rsp + 0x70]
shr eax, 0xb
and al, 1
test cl, cl
je 0x180046f5e
test sil, sil
jne 0x180046f5e
test al, al
je 0x180046f86
cmp byte [r15 + 0xe1c], sil
jne 0x180046f90
cmp byte [r15 + 0x5c], 0
mov byte [rsp + 0x60], 1
je 0x180046fc8
test cl, cl
jne 0x180046fc8
xor eax, eax
mov byte [r13 + 0x6a], cl
mov dword [r13 + 0x58], eax
mov eax, dword [r13 + 0xc]
mov dword [r13 + 0x5c], eax
mov dword [r13 + 0x54], eax
jmp 0x180046fcd
cmp byte [r15 + 0xe1c], 0
jne 0x180046f5e
test r8b, r8b
jne 0x1800466f4
mov r8d, edx
mov dword [rbp - 0x60], 0xa
lea rdx, [rbp - 0x60]
mov dword [rsp + 0x28], 2
mov rcx, r15
call fcn.180044af0
test al, al
je 0x1800466f4
mov r8d, dword [rbp - 0x60]
jmp 0x1800467b3
mov byte [rsp + 0x58], 1
xor sil, sil
mov ecx, dword [rsp + 0x5c]
movzx edx, byte [rbp + 0x200]
mov eax, dword [r13 + 0x5c]
cmp dword [r13 + 0x58], eax
je 0x180046fed
test dl, dl
je 0x180046fed
mov al, 1
jmp 0x180046fef
xor al, al
mov r12d, dword [rsp + 0x78]
or cl, al
mov dword [rsp + 0x5c], ecx
xor r11d, r11d
mov qword [rbp - 0x60], r11
mov dword [rsp + 0x54], r11d
cmp dword [r15 + 0x3fa8], r12d
jne 0x180047767
mov r14d, dword [rsp + 0x6c]
test r14b, r14b
jne 0x1800472c4
test sil, sil
je 0x180047223
test dword [rbp + 0x1f8], 0x100000
je 0x1800470a2
movsxd rbx, dword [r13 + 0xc]
lea rax, [0x18013f028]
mov r8d, ebx
mov qword [rbp - 0x60], rax
lea rcx, [r13 + 0x74]
mov dword [rsp + 0x54], r11d
xor r9d, r9d
mov byte [rsp + 0x51], 1
xor edx, edx
call fcn.180044730
mov r9, rax
test rax, rax
je 0x180047085
test ebx, ebx
jle 0x180047085
xor eax, eax
mov edx, eax
mov rax, qword [r13 + 0x20]
movzx ecx, word [rax + rdx*2]
mov word [r9 + rdx*2], cx
inc rdx
cmp rdx, rbx
jl 0x180047070
mov r8d, dword [r13 + 0xc]
xor edx, edx
mov rcx, r13
call fcn.180042db0
xor eax, eax
mov qword [r13 + 0x58], rax
mov dword [r13 + 0x54], eax
jmp 0x180047223
mov r9, qword [r13 + 0x40]
mov rax, qword [rbp + 0x1e0]
mov r8, r9
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800470c6
inc rax
test ecx, ecx
jne 0x1800470b3
test edx, edx
je 0x180047223
mov edx, dword [r13 + 0x38]
mov r14, r9
dec edx
mov qword [rbp - 0x60], r9
mov dword [rsp + 0x54], edx
mov r15d, r11d
mov byte [rsp + 0x51], 1
mov r12, r11
test edx, edx
jle 0x1800471d4
movsxd rdi, edx
mov rbx, r9
add rdi, r9
mov esi, r11d
nop
test rdi, rdi
je 0x18004710a
cmp rbx, rdi
jae 0x180047128
cmp byte [rbx], r12b
je 0x180047128
mov r8, rdi
lea rcx, [rbp - 0x64]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x180047100
lea r15d, [rsi + 1]
test r15d, r15d
jle 0x18004716c
cmp r15d, 8
mov eax, r15d
mov ecx, 8
cmovl eax, ecx
test eax, eax
jle 0x18004716c
mov rcx, qword [0x180197488]
test rcx, rcx
je 0x180047156
inc dword [rcx + 0xf0]
mov rdx, qword [0x180197540]
movsxd rcx, eax
add rcx, rcx
call qword [0x180195ec8]
mov r12, rax
movsxd rdx, dword [rsp + 0x54]
mov rbx, r14
mov rsi, r12
lea rdi, [r14 + rdx]
movsxd r14, r15d
dec r14
lea r14, [r12 + r14*2]
cmp r12, r14
jae 0x1800471c8
nop word [rax + rax]
test rdi, rdi
je 0x18004719a
cmp rbx, rdi
jae 0x1800471c4
cmp byte [rbx], 0
je 0x1800471c4
mov r8, rdi
lea rcx, [rbp - 0x64]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
movzx eax, word [rbp - 0x64]
add rbx, rcx
mov word [rsi], ax
add rsi, 2
cmp rsi, r14
jb 0x180047190
mov edx, dword [rsp + 0x54]
xor r11d, r11d
mov word [rsi], r11w
movzx esi, byte [rsp + 0x7e]
test edx, edx
lea r9d, [r15 - 1]
lea rdx, [r13 + 0x54]
mov r8, r12
cmovle r9d, r11d
mov rcx, r13
call fcn.180044a30
test r12, r12
je 0x180047214
mov rax, qword [0x180197488]
test rax, rax
je 0x180047204
dec dword [rax + 0xf0]
mov rdx, qword [0x180197540]
mov rcx, r12
call qword [0x180195ed0]
mov r14d, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov eax, dword [r13 + 0x18]
mov byte [r13 + 0x48], 1
mov ecx, dword [r13 + 0x2c]
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x18004725f
test ecx, ecx
je 0x18004724a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004724f
mov eax, 8
cmp eax, ebx
lea rcx, [r13 + 0x28]
mov edx, ebx
cmovg edx, eax
call fcn.180026e70
mov dword [r13 + 0x28], ebx
mov r9, qword [r13 + 0x30]
mov r10, qword [r13 + 0x20]
movsxd r11, ebx
add r11, r9
lea rbx, [r11 - 1]
cmp r9, rbx
jae 0x1800472bd
mov r14d, 0x80
movzx eax, word [r10]
test ax, ax
je 0x1800472b8
add r10, 2
mov r8d, eax
cmp eax, r14d
jae 0x18004729d
mov byte [r9], r8b
inc r9
jmp 0x1800472b3
mov edx, r11d
mov rcx, r9
sub edx, r9d
dec edx
call fcn.180008970
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x180047280
mov r14d, dword [rsp + 0x6c]
mov byte [r9], 0
xor r11d, r11d
test sil, sil
je 0x18004733a
cmp byte [rsp + 0x60], 0
je 0x1800472dc
mov edi, dword [rbp + 0x1f8]
test dil, 0x20
jne 0x180047340
mov r12d, dword [rbp - 0x80]
mov rsi, qword [rbp + 0x1e0]
mov r8d, dword [rsp + 0x6c]
mov r11, qword [rbp - 0x60]
mov r10d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x78]
cmp dword [r15 + 0x5b28], r14d
jne 0x180047808
cmp dword [r15 + 0x3fa8], r14d
je 0x1800477fd
mov rax, qword [0x180197488]
mov ecx, dword [rax + 0x47f0]
test cl, 0x20
je 0x180047782
shr ecx, 6
test cl, 1
jmp 0x18004779c
mov edi, dword [rbp + 0x1f8]
test edi, 0x801c0
je 0x18004770c
mov ebx, r11d
test dil, 0x40
je 0x18004737b
xor r8d, r8d
mov edx, r12d
mov ecx, 0x200
call fcn.18001b000
test al, al
je 0x18004737b
mov eax, 0x40
mov ebx, 0x200
xor r11d, r11d
jmp 0x1800473fc
test dil, dil
jns 0x1800473d1
mov esi, 1
xor edx, edx
mov r8d, esi
mov ecx, 0x203
call fcn.180019480
test al, al
je 0x1800473ab
mov r10d, 0x80
mov ebx, 0x203
mov eax, r10d
xor r11d, r11d
jmp 0x180047402
mov r8d, esi
xor edx, edx
mov ecx, 0x204
call fcn.180019480
test al, al
je 0x1800473d1
mov r10d, 0x80
mov ebx, 0x204
mov eax, r10d
xor r11d, r11d
jmp 0x180047402
mov eax, 0x80000
test eax, edi
je 0x1800473e9
cmp byte [r13 + 0xe86], 0
je 0x1800473e9
xor r11d, r11d
jmp 0x1800473fc
mov ecx, 0x100
mov r11d, 0
test ecx, edi
mov eax, r11d
cmovne eax, ecx
mov r10d, 0x80
test eax, eax
je 0x18004770c
mov dword [rbp + 0x18], eax
mov rax, qword [rbp + 0x1e0]
mov dword [rbp + 0x28], r11d
mov qword [rbp + 0x41], r11
mov dword [rbp + 0x49], r11d
mov word [rbp + 0x4d], r11w
mov byte [rbp + 0x4f], 0
mov qword [rbp + 0x10], r15
mov dword [rbp + 0x1c], edi
mov qword [rbp + 0x20], r11
test r14b, r14b
jne 0x18004743d
mov rax, qword [r13 + 0x30]
mov r8, qword [r13 + 0x20]
mov r9d, 0x800
mov qword [rbp + 0x30], rax
mov rcx, r8
mov eax, dword [r13 + 0x10]
mov dword [rbp + 0x38], eax
mov eax, dword [r13 + 0x4c]
mov dword [rbp + 0x3c], eax
movsxd rax, dword [r13 + 0x54]
mov dword [rbp + 0x2c], ebx
mov ebx, r11d
mov byte [rbp + 0x40], 0
lea rdx, [r8 + rax*2]
nop
test rdx, rdx
je 0x18004747a
cmp rcx, rdx
jae 0x18004749d
movzx eax, word [rcx]
test ax, ax
je 0x18004749d
add rcx, 2
cmp ax, r10w
jae 0x180047490
inc ebx
jmp 0x180047470
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x180047470
movsxd rax, dword [r13 + 0x58]
mov rcx, r8
mov dword [rbp + 0x44], ebx
mov r15d, r11d
lea rdx, [r8 + rax*2]
nop
test rdx, rdx
je 0x1800474ba
cmp rcx, rdx
jae 0x1800474df
movzx eax, word [rcx]
test ax, ax
je 0x1800474df
add rcx, 2
cmp ax, r10w
jae 0x1800474d1
inc r15d
jmp 0x1800474b0
cmp ax, r9w
sbb eax, eax
add eax, 3
add r15d, eax
jmp 0x1800474b0
movsxd rax, dword [r13 + 0x5c]
mov r14d, r11d
mov dword [rbp + 0x48], r15d
lea rcx, [r8 + rax*2]
nop
test rcx, rcx
je 0x1800474fa
cmp r8, rcx
jae 0x180047520
movzx eax, word [r8]
test ax, ax
je 0x180047520
add r8, 2
cmp ax, r10w
jae 0x180047512
inc r14d
jmp 0x1800474f0
cmp ax, r9w
sbb eax, eax
add eax, 3
add r14d, eax
jmp 0x1800474f0
lea rcx, [rbp + 0x10]
mov dword [rbp + 0x4c], r14d
call r11
movsxd rax, dword [rbp + 0x44]
mov rcx, qword [rbp + 0x30]
movzx edx, byte [rbp + 0x40]
cmp eax, ebx
jne 0x18004753f
test dl, dl
je 0x18004758f
xor r8d, r8d
lea rdi, [rcx + rax]
mov esi, r8d
mov rbx, rcx
nop dword [rax]
test rdi, rdi
je 0x18004755a
cmp rbx, rdi
jae 0x180047578
cmp byte [rbx], 0
je 0x180047578
mov r8, rdi
lea rcx, [rbp - 0x64]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x180047550
mov eax, dword [rbp + 0x44]
mov rcx, qword [rbp + 0x30]
movzx edx, byte [rbp + 0x40]
mov dword [r13 + 0x54], esi
mov byte [r13 + 0xe84], 1
movsxd r12, dword [rbp + 0x48]
cmp r12d, r15d
jne 0x18004759c
test dl, dl
je 0x1800475e6
cmp r12d, eax
jne 0x1800475a7
mov esi, dword [r13 + 0x54]
jmp 0x1800475e2
xor eax, eax
lea rdi, [rcx + r12]
mov esi, eax
mov rbx, rcx
test rdi, rdi
je 0x1800475bc
cmp rbx, rdi
jae 0x1800475da
cmp byte [rbx], 0
je 0x1800475da
mov r8, rdi
lea rcx, [rbp - 0x64]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x1800475b2
mov rcx, qword [rbp + 0x30]
movzx edx, byte [rbp + 0x40]
mov dword [r13 + 0x58], esi
movsxd rax, dword [rbp + 0x4c]
cmp eax, r14d
jne 0x1800475f7
test dl, dl
je 0x18004770c
xor r15d, r15d
cmp eax, r12d
jne 0x180047605
mov esi, dword [r13 + 0x58]
jmp 0x180047640
lea rdi, [rcx + rax]
mov rbx, rcx
mov esi, r15d
nop
test rdi, rdi
je 0x18004761a
cmp rbx, rdi
jae 0x180047638
cmp byte [rbx], r15b
je 0x180047638
mov r8, rdi
lea rcx, [rbp - 0x64]
mov rdx, rbx
call fcn.1800087c0
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x180047610
mov rcx, qword [rbp + 0x30]
movzx edx, byte [rbp + 0x40]
mov dword [r13 + 0x5c], esi
test dl, dl
je 0x18004770c
mov r8d, dword [rbp + 0x38]
mov rdx, rcx
mov rcx, r13
call fcn.180044cf0
mov eax, dword [rbp - 0x38]
mov ebx, dword [rbp + 0x38]
mov r12d, dword [rbp - 0x80]
cmp ebx, eax
jle 0x1800476a4
test r12b, r12b
je 0x1800476a4
mov ecx, dword [r13 + 0x1c]
sub ebx, eax
add ebx, dword [r13 + 0x18]
cmp ebx, ecx
jle 0x1800476a0
test ecx, ecx
je 0x18004768b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180047690
mov eax, 8
cmp eax, ebx
lea rcx, [r13 + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.180026f10
mov dword [r13 + 0x18], ebx
mov r14, qword [r13 + 0x20]
movsxd rsi, dword [r13 + 0x18]
mov rbx, r14
mov rdi, qword [rbp + 0x30]
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x1800476ea
nop
cmp byte [rdi], 0
je 0x1800476ea
xor r8d, r8d
lea rcx, [rbp - 0x64]
mov rdx, rdi
call fcn.1800087c0
movsxd rcx, eax
movzx eax, word [rbp - 0x64]
add rdi, rcx
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x1800476c0
mov word [rbx], r15w
sub rbx, r14
mov eax, dword [rbp + 0x38]
sar rbx, 1
mov dword [r13 + 0xc], ebx
mov dword [r13 + 0x10], eax
mov dword [r13 + 0xe80], 0xbe99999a
jmp 0x180047710
mov r12d, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x6c]
mov rsi, qword [rbp + 0x1e0]
test r8b, r8b
jne 0x1800472ec
mov r9, qword [r13 + 0x30]
mov r8, rsi
mov rax, r9
sub r8, r9
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180047745
inc rax
test ecx, ecx
jne 0x180047732
mov r8d, dword [rsp + 0x6c]
test edx, edx
je 0x1800472ec
mov r10d, dword [r13 + 0x10]
mov r11, r9
mov qword [rbp - 0x60], r9
mov byte [rsp + 0x51], 1
jmp 0x1800472f5
mov r12d, dword [rbp - 0x80]
mov r10d, r11d
mov rsi, qword [rbp + 0x1e0]
mov r11d, r10d
mov r8d, dword [rsp + 0x6c]
jmp 0x1800472f5
mov edx, dword [rax + 0x47e8]
mov ecx, dword [rax + 0x3fd8]
cmp ecx, edx
jne 0x1800477fd
test ecx, ecx
je 0x1800477fd
cmp dword [rax + 0x3fa8], edx
je 0x1800477fd
cmp byte [rax + 0x3fdd], 0
jne 0x1800477b9
cmp dword [rax + 0x3fa8], 0
jne 0x1800477fd
cmp byte [rax + 0x3fb8], 0
je 0x1800477fd
test r8b, r8b
jne 0x1800477fd
mov r9, qword [r15 + 0x5b38]
mov r8, rsi
mov rax, r9
sub r8, r9
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800477e3
inc rax
test ecx, ecx
jne 0x1800477d0
test edx, edx
je 0x1800477fd
mov r10d, dword [r15 + 0x5b30]
mov r11, r9
dec r10d
mov qword [rbp - 0x60], r9
mov byte [rsp + 0x51], 1
xor edx, edx
mov dword [r15 + 0x5b28], edx
jmp 0x18004780a
xor edx, edx
test r11, r11
je 0x1800478c5
test r12b, r12b
je 0x180047897
mov eax, dword [rbp + 0x1f8]
lea rcx, [rbp + 0x60]
mov dword [rbp + 0x6c], eax
xorps xmm0, xmm0
lea eax, [r10 + 1]
mov qword [rbp + 0x78], rdx
cmp dword [rbp + 0x1e8], eax
movdqa xmmword [rbp + 0x90], xmm0
cmovge eax, dword [rbp + 0x1e8]
mov dword [rbp + 0x8c], eax
mov qword [rbp + 0x60], r15
mov dword [rbp + 0x68], 0x40000
mov qword [rbp + 0x80], rsi
mov dword [rbp + 0x88], r10d
mov qword [rbp + 0x70], rdx
call rdx
mov ecx, dword [rbp + 0x8c]
mov rsi, qword [rbp + 0x80]
mov r11, qword [rbp - 0x60]
mov qword [rbp + 0x1e0], rsi
lea r10d, [rcx - 1]
cmp dword [rbp + 0x88], r10d
cmovl r10d, dword [rbp + 0x88]
jmp 0x18004789d
mov ecx, dword [rbp + 0x1e8]
lea eax, [r10 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x1800478c5
jbe 0x1800478c0
lea r8, [rbx - 1]
mov rdx, r11
mov rcx, rsi
call fcn.180118930
mov byte [rbx + rsi - 1], 0
cmp dword [r15 + 0x3fa8], r14d
jne 0x1800478de
cmp byte [rsp + 0x58], 0
je 0x1800479b8
call fcn.18000c1c0
mov eax, 1
mov r11d, dword [rsp + 0x64]
movaps xmmword [rsp + 0x1f0], xmm14
movaps xmmword [rsp + 0x1e0], xmm15
test r11b, r11b
jne 0x1800479c9
mov r8d, eax
lea rcx, [rbp - 0x78]
mov edx, r14d
call fcn.18000a240
mov rax, qword [0x180197488]
lea rcx, [rbp - 0x28]
movups xmm0, xmmword [rax + 0x3c10]
movups xmmword [rbp - 0x28], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movss dword [rbp - 0x1c], xmm0
call fcn.180008a30
movss xmm0, dword [r15 + 0x380c]
mov r8d, eax
mov rdx, qword [rbp - 0x70]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm13
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180009f30
mov r10, qword [rbp - 0x48]
movaps xmm15, xmm9
mov r11d, dword [rsp + 0x64]
addss xmm15, xmm13
movaps xmm14, xmm12
movss dword [rbp - 0x28], xmm13
addss xmm13, dword [r15 + 0x3804]
addss xmm14, xmm6
movaps xmm0, xmm6
addss xmm0, dword [r15 + 0x3808]
movss dword [rbp - 0x20], xmm15
movss dword [rbp - 0x64], xmm15
movss dword [rbp - 0x1c], xmm14
movss dword [rbp - 0x38], xmm14
jmp 0x180047a12
mov eax, 1
mov dword [r15 + 0x5ed4], eax
jmp 0x1800478e3
mov r10, qword [rbp - 0x48]
movaps xmm2, xmm9
addss xmm2, xmm13
movss dword [rbp - 0x28], xmm13
movaps xmm1, xmm6
addss xmm1, xmm12
movss xmm13, dword [r10 + 0x100]
movss xmm0, dword [r10 + 0x104]
movss dword [rbp - 0x64], xmm2
movaps xmm15, xmm2
movss dword [rbp - 0x20], xmm2
movss dword [rbp - 0x38], xmm1
movaps xmm14, xmm1
movss dword [rbp - 0x1c], xmm1
cmp byte [rbp - 0x56], 0
xorps xmm4, xmm4
xorps xmm7, xmm7
movss dword [rsp + 0x54], xmm4
movss dword [rbp - 0x80], xmm7
movss dword [rbp - 0x24], xmm6
movss dword [rbp - 0x40], xmm13
movss dword [rbp - 0x3c], xmm0
je 0x180047a44
mov rsi, qword [r13 + 0x30]
mov qword [rbp + 0x1e0], rsi
movzx r8d, byte [rbp + 0x208]
xor ecx, ecx
mov qword [rbp - 0x30], rcx
mov edi, ecx
test r8b, r8b
je 0x180047a80
mov rax, qword [rbp + 0x1d8]
mov rdi, 0xffffffffffffffff
mov rsi, rax
mov qword [rbp + 0x1e0], rax
inc rdi
cmp byte [rax + rdi], cl
jne 0x180047a71
add rdi, rax
mov qword [rbp - 0x30], rdi
movzx eax, byte [rbp + 0x200]
mov r12d, dword [rsp + 0x5c]
test al, al
jne 0x180047c7c
test r12b, r12b
jne 0x180047c7c
test r11b, r11b
je 0x180047af1
movzx edx, byte [rsi]
lea rdi, [rsi + 1]
test dl, dl
je 0x180047ac5
nop dword [rax]
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [rdi]
cmovne eax, ecx
inc rdi
mov ecx, eax
test dl, dl
jne 0x180047ab0
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0xa
je 0x180047ad6
cmp al, 0xd
je 0x180047ad6
inc ecx
movd xmm7, ecx
movaps xmm6, xmm9
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [r15 + 0x3c70]
movss dword [rbp - 0x80], xmm7
jmp 0x180047b33
test r8b, r8b
jne 0x180047b1b
cmp dword [r15 + 0x3fa8], r14d
jne 0x180047b05
movsxd rdi, dword [r13 + 0x10]
jmp 0x180047b18
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], cl
jne 0x180047b10
add rdi, rsi
movss xmm6, dword [rsp + 0x54]
mov rax, rdi
sub rax, rsi
cmp rax, 0x200000
jge 0x180048584
mov rcx, qword [0x180197488]
mov rax, r8
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x38b0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37c8]
lea rcx, [rbp - 0x78]
movss dword [rbp - 0x6c], xmm0
call fcn.180008a30
mov rdx, qword [r10 + 0x298]
lea r8, [rbp - 0x28]
movss xmm2, dword [r15 + 0x3c70]
test r11b, r11b
mov r10, qword [r15 + 0x3c68]
mov r12d, 0
cmovne r8, r12
mov r9d, eax
mov rcx, rdi
test eax, 0xff000000
je 0x18004859c
test rdi, rdi
jne 0x180047bbc
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rsi + rcx], r12b
jne 0x180047bb0
add rcx, rsi
cmp rsi, rcx
je 0x18004859c
test r10, r10
jne 0x180047bd2
mov rax, qword [rdx + 0x38]
mov r10, qword [rax + 8]
xorps xmm11, xmm11
ucomiss xmm2, xmm11
jp 0x180047be7
jne 0x180047be7
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x78], xmm0
test r8, r8
je 0x180047c36
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x74]
maxss xmm0, dword [r8]
maxss xmm1, dword [r8 + 4]
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x70]
minss xmm0, dword [r8 + 8]
movss dword [rbp - 0x74], xmm1
movss xmm1, dword [rbp - 0x6c]
minss xmm1, dword [r8 + 0xc]
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
setne al
mov byte [rsp + 0x48], al
lea rax, [rbp - 0x78]
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
mov rcx, r10
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x40]
call fcn.180032790
movss xmm8, dword [0x18017be00]
movss xmm9, dword [rbp - 0x68]
jmp 0x1800485cf
test r8b, r8b
jne 0x180047c8c
movsxd rdi, dword [r13 + 0x10]
add rdi, rsi
mov qword [rbp - 0x30], rdi
mov r14, qword [r13 + 0x20]
mov r8d, 0xfffffc18
mov esi, r8d
movaps xmm8, xmm4
movaps xmm6, xmm4
mov r9, rcx
mov rbx, rcx
mov edx, ecx
test al, al
je 0x180047cbf
movsxd rax, dword [r13 + 0x54]
mov edx, 1
mov r8d, 0xffffffff
lea r9, [r14 + rax*2]
test r12b, r12b
je 0x180047ce1
mov ecx, dword [r13 + 0x5c]
mov esi, 0xffffffff
cmp dword [r13 + 0x58], ecx
cmovl ecx, dword [r13 + 0x58]
inc edx
movsxd rax, ecx
xor ecx, ecx
lea rbx, [r14 + rax*2]
movzx eax, r11b
mov r11d, ecx
movzx ecx, word [r14]
add edx, eax
mov rax, r14
test cx, cx
je 0x180047d33
cmp cx, 0xa
jne 0x180047d26
inc r11d
cmp r8d, 0xffffffff
jne 0x180047d13
cmp rax, r9
jb 0x180047d13
dec edx
mov r8d, r11d
test edx, edx
jle 0x180047d33
cmp esi, 0xffffffff
jne 0x180047d26
cmp rax, rbx
jb 0x180047d26
dec edx
mov esi, r11d
test edx, edx
jle 0x180047d33
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x180047cf6
inc r11d
mov rdx, r9
cmp r8d, 0xffffffff
mov r10d, r11d
cmovne r10d, r8d
cmp esi, 0xffffffff
cmove esi, r11d
cmp r9, r14
jbe 0x180047d63
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x180047d63
mov rdx, rax
cmp rax, r14
ja 0x180047d50
mov r8, qword [r15 + 0x3c68]
movaps xmm11, xmm4
movss xmm2, dword [r15 + 0x3c70]
movaps xmm1, xmm4
movss dword [rbp - 0x60], xmm4
divss xmm2, dword [r8 + 0x14]
cmp rdx, r9
jae 0x180047de3
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x180047da6
maxss xmm11, xmm1
movaps xmm1, xmm4
jmp 0x180047dc9
cmp ecx, 0xd
je 0x180047dc9
cmp ecx, dword [r8]
jge 0x180047dbb
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180047dc1
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rdx, r9
jb 0x180047d90
comiss xmm1, xmm11
movss dword [rbp - 0x60], xmm11
jbe 0x180047de3
movss dword [rbp - 0x60], xmm1
movaps xmm11, xmm1
movss xmm0, dword [r15 + 0x3c70]
movd xmm12, r10d
cvtdq2ps xmm12, xmm12
mulss xmm12, xmm0
movss dword [rsp + 0x5c], xmm12
test esi, esi
js 0x180047e9c
mov rdx, rbx
cmp rbx, r14
jbe 0x180047e24
cmp word [rdx - 2], 0xa
lea rax, [rdx - 2]
je 0x180047e24
mov rdx, rax
cmp rax, r14
ja 0x180047e11
movaps xmm2, xmm0
movaps xmm8, xmm4
movaps xmm1, xmm4
divss xmm2, dword [r8 + 0x14]
cmp rdx, rbx
jae 0x180047e88
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x180047e56
maxss xmm8, xmm1
movaps xmm1, xmm4
jmp 0x180047e79
cmp ecx, 0xd
je 0x180047e79
cmp ecx, dword [r8]
jge 0x180047e6b
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180047e71
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rdx, rbx
jb 0x180047e40
comiss xmm1, xmm8
jbe 0x180047e88
movaps xmm8, xmm1
movss xmm0, dword [r15 + 0x3c70]
movd xmm6, esi
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm0
cmp byte [rsp + 0x64], 0
je 0x180047ebb
movd xmm7, r11d
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x54], xmm9
mulss xmm7, xmm0
movss dword [rbp - 0x80], xmm7
movzx r8d, byte [rbp + 0x200]
test r8b, r8b
je 0x180047fff
cmp byte [r13 + 0xe84], 0
je 0x180047fff
test dword [rbp + 0x1f8], 0x1000
jne 0x180047f39
movss xmm2, dword [r13 + 0x50]
movaps xmm0, xmm9
comiss xmm2, xmm11
mulss xmm0, dword [0x18017bd90]
movaps xmm1, xmm11
subss xmm9, dword [r15 + 0x3804]
jbe 0x180047f18
subss xmm1, xmm0
movaps xmm0, xmm4
maxss xmm0, xmm1
jmp 0x180047f26
subss xmm1, xmm9
comiss xmm1, xmm2
jb 0x180047f3f
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r13 + 0x50], xmm0
jmp 0x180047f3f
xor eax, eax
mov dword [r13 + 0x50], eax
mov r11d, dword [rsp + 0x64]
test r11b, r11b
je 0x180047fef
movss xmm3, dword [rbp]
movaps xmm0, xmm12
subss xmm0, dword [r15 + 0x3c70]
comiss xmm10, xmm0
jbe 0x180047f70
movaps xmm10, xmm4
maxss xmm10, xmm0
jmp 0x180047fa0
movss xmm2, dword [r15 + 0x3808]
movaps xmm1, xmm3
addss xmm2, xmm2
movaps xmm0, xmm12
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm10
jb 0x180047fa0
movaps xmm10, xmm12
subss xmm10, xmm3
addss xmm10, xmm2
comiss xmm4, xmm10
movss xmm2, dword [r15 + 0x3808]
jbe 0x180047fb4
movaps xmm2, xmm4
jmp 0x180047fc9
addss xmm2, xmm2
addss xmm2, xmm7
subss xmm2, xmm3
maxss xmm2, xmm4
minss xmm2, xmm10
movss xmm1, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x48]
movss xmm0, dword [rax + 0x88]
subss xmm0, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x3c], xmm1
movss dword [rax + 0x88], xmm2
mov byte [r13 + 0xe84], 0
movss xmm13, dword [rbp - 0x40]
jmp 0x180048004
mov r11d, dword [rsp + 0x64]
movss xmm10, dword [r13 + 0x50]
test r12b, r12b
je 0x180048278
mov edx, dword [r13 + 0x5c]
mov eax, edx
mov ecx, dword [r13 + 0x58]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea rbx, [r14 + rax*2]
movsxd rax, edx
lea rsi, [r14 + rax*2]
test r8b, r8b
je 0x180048041
movss xmm1, dword [0x18017be00]
jmp 0x180048049
movss xmm1, dword [0x18017bdc0]
mov rax, qword [0x180197488]
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rax + 0x3ba0]
mulss xmm1, dword [rax + 0x37c8]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x6c], xmm0
call fcn.180008a30
mov r14d, eax
xorps xmm4, xmm4
test r11b, r11b
je 0x180048092
xorps xmm0, xmm0
xorps xmm9, xmm9
movss dword [rbp - 8], xmm0
jmp 0x18004809b
movss xmm9, dword [0x18017be50]
movss xmm7, dword [rbp - 0x3c]
addss xmm8, xmm13
addss xmm7, xmm6
subss xmm8, xmm10
subss xmm7, xmm4
cmp rbx, rsi
jae 0x180048278
movss xmm6, dword [0x18017bdb0]
xor r13d, r13d
movss xmm12, dword [rbp - 0x50]
movss xmm11, dword [rbp - 8]
mov rdi, qword [rbp - 0x48]
nop word [rax + rax]
movss xmm2, dword [r15 + 0x3c70]
movaps xmm0, xmm14
addss xmm0, xmm2
comiss xmm7, xmm0
ja 0x18004825e
comiss xmm12, xmm7
jbe 0x18004812b
cmp rbx, rsi
jae 0x180048243
nop dword [rax]
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x180048243
cmp rbx, rsi
jb 0x180048110
jmp 0x180048243
mov rdx, qword [r15 + 0x3c68]
movaps xmm3, xmm4
movaps xmm1, xmm4
divss xmm2, dword [rdx + 0x14]
cmp rbx, rsi
jae 0x180048180
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x180048176
cmp ecx, 0xd
je 0x18004816f
cmp ecx, dword [rdx]
jge 0x180048162
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180048167
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rsi
jb 0x180048142
jmp 0x180048180
movaps xmm3, xmm4
maxss xmm3, xmm1
movaps xmm1, xmm4
maxss xmm1, xmm3
comiss xmm4, xmm1
jb 0x1800481b0
cmp dword [rdx], 0x20
jle 0x18004819c
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x1800481a1
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm3, dword [rbp - 0x68]
addss xmm1, xmm8
movaps xmm2, xmm11
addss xmm8, xmm4
subss xmm2, dword [r15 + 0x3c70]
movaps xmm0, xmm9
addss xmm0, xmm7
minss xmm1, xmm15
maxss xmm8, xmm3
addss xmm2, xmm7
minss xmm0, xmm14
movss dword [rbp - 0x70], xmm1
movss dword [rbp - 0x78], xmm8
maxss xmm2, xmm12
comiss xmm0, xmm12
movss dword [rbp - 0x74], xmm2
movss dword [rbp - 0x6c], xmm0
jbe 0x180048243
comiss xmm14, xmm2
jbe 0x180048243
comiss xmm1, xmm3
jbe 0x180048243
comiss xmm15, xmm8
jbe 0x180048243
mov rcx, qword [rdi + 0x298]
lea r8, [rbp - 0x70]
mov dword [rsp + 0x28], r13d
lea rdx, [rbp - 0x78]
mov r9d, r14d
movss dword [rsp + 0x20], xmm4
call fcn.18002bbc0
movss xmm13, dword [rbp - 0x40]
xorps xmm4, xmm4
movaps xmm8, xmm13
subss xmm8, xmm10
addss xmm7, dword [r15 + 0x3c70]
cmp rbx, rsi
jb 0x1800480e0
movss xmm11, dword [rbp - 0x60]
movss xmm12, dword [rsp + 0x5c]
mov rdi, qword [rbp - 0x30]
mov r13, qword [rbp - 0x10]
mov r11d, dword [rsp + 0x64]
mov rsi, qword [rbp + 0x1e0]
test r11b, r11b
jne 0x180048296
mov rax, rdi
sub rax, rsi
cmp rax, 0x200000
jge 0x1800483e9
mov rcx, qword [0x180197488]
movzx eax, byte [rbp + 0x208]
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x38b0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37c8]
lea rcx, [rbp - 0x78]
movss dword [rbp - 0x6c], xmm0
call fcn.180008a30
movss xmm0, dword [rbp - 0x3c]
subss xmm13, xmm10
mov rbx, qword [rbp - 0x48]
lea r8, [rbp - 0x28]
movss xmm2, dword [r15 + 0x3c70]
test r11b, r11b
mov r10, qword [r15 + 0x3c68]
xorps xmm4, xmm4
subss xmm0, xmm4
mov r12d, 0
mov rdx, qword [rbx + 0x298]
cmovne r8, r12
movss dword [rbp - 0x10], xmm13
mov r9d, eax
mov rcx, rdi
movss dword [rbp - 0xc], xmm0
test eax, 0xff000000
je 0x1800483f0
test rdi, rdi
jne 0x18004833e
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rsi + rcx], r12b
jne 0x180048332
add rcx, rsi
cmp rsi, rcx
je 0x1800483f0
test r10, r10
jne 0x180048354
mov rax, qword [rdx + 0x38]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm4
jp 0x180048364
jne 0x180048364
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x78], xmm0
test r8, r8
je 0x1800483b3
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x74]
maxss xmm0, dword [r8]
maxss xmm1, dword [r8 + 4]
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x70]
minss xmm0, dword [r8 + 8]
movss dword [rbp - 0x74], xmm1
movss xmm1, dword [rbp - 0x6c]
minss xmm1, dword [r8 + 0xc]
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
setne al
mov byte [rsp + 0x48], al
lea rax, [rbp - 0x78]
movss dword [rsp + 0x40], xmm4
mov qword [rsp + 0x38], rcx
mov rcx, r10
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x10]
call fcn.180032790
xorps xmm4, xmm4
jmp 0x1800483f0
mov rbx, qword [rbp - 0x48]
xor r12d, r12d
cmp byte [rbp + 0x200], 0
je 0x1800485b1
movss xmm0, dword [r15 + 0x18]
addss xmm0, dword [r13 + 0xe80]
movss dword [r13 + 0xe80], xmm0
cmp byte [r15 + 0x5b], 0
je 0x18004843f
comiss xmm4, xmm0
jae 0x18004843f
movss xmm1, dword [0x18017be10]
call fcn.1801134a0
movss xmm1, dword [0x18017bde4]
comiss xmm1, xmm0
jae 0x18004843f
xor cl, cl
jmp 0x180048441
mov cl, 1
movss xmm0, dword [rbp - 0x3c]
movss xmm8, dword [0x18017be00]
addss xmm0, xmm12
movss xmm9, dword [rbp - 0x68]
addss xmm11, dword [rbp - 0x40]
subss xmm11, xmm10
cvttss2si eax, xmm11
xorps xmm11, xmm11
subss xmm0, xmm11
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cvttss2si eax, xmm0
movss dword [rbp - 0x28], xmm6
movaps xmm2, xmm6
addss xmm2, xmm8
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x20], xmm2
movaps xmm0, xmm7
movaps xmm1, xmm7
subss xmm0, dword [r15 + 0x3c70]
subss xmm1, dword [0x18017be1c]
addss xmm0, dword [0x18017bdb0]
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x24], xmm0
test cl, cl
je 0x180048541
comiss xmm1, dword [rbp - 0x50]
jbe 0x180048541
movss xmm3, dword [rbp - 0x38]
comiss xmm3, xmm0
jbe 0x180048541
comiss xmm2, xmm9
jbe 0x180048541
movss xmm0, dword [rbp - 0x64]
comiss xmm0, xmm6
jbe 0x180048541
mov rax, qword [0x180197488]
lea rcx, [rbp - 0x78]
movss dword [rbp + 0x200], xmm6
movss dword [rbp + 0x204], xmm1
movups xmm0, xmmword [rax + 0x38b0]
movups xmmword [rbp - 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movss dword [rbp - 0x6c], xmm0
call fcn.180008a30
mov rcx, qword [rbx + 0x298]
lea rdx, [rbp - 0x28]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0x200]
call fcn.18002b950
cmp byte [rsp + 0x6c], 0
mov r14d, dword [rsp + 0x78]
jne 0x1800485c9
movss xmm0, dword [r15 + 0x3c70]
subss xmm6, xmm8
subss xmm7, xmm0
movss dword [r15 + 0x5c64], xmm0
mov byte [r15 + 0x5c58], 1
movss dword [r15 + 0x5c5c], xmm6
movss dword [r15 + 0x5c60], xmm7
jmp 0x1800485c9
movss xmm8, dword [0x18017be00]
xorps xmm11, xmm11
movss xmm9, dword [rbp - 0x68]
xor r12d, r12d
jmp 0x1800485d7
movss xmm8, dword [0x18017be00]
xorps xmm11, xmm11
movss xmm9, dword [rbp - 0x68]
jmp 0x1800485cf
movss xmm8, dword [0x18017be00]
xorps xmm11, xmm11
movss xmm9, dword [rbp - 0x68]
mov r14d, dword [rsp + 0x78]
movss xmm6, dword [rsp + 0x54]
movzx r8d, byte [rbp + 0x208]
mov ebx, dword [rbp - 0x54]
movaps xmm15, xmmword [rsp + 0x1e0]
movaps xmm14, xmmword [rsp + 0x1f0]
test bl, bl
je 0x1800485fa
test r8b, r8b
jne 0x1800485fa
call fcn.180014cf0
cmp byte [rsp + 0x64], 0
je 0x18004867c
movss xmm0, dword [rbp - 0x80]
lea rcx, [rbp + 0x200]
addss xmm0, dword [r15 + 0x3808]
movss dword [rbp + 0x200], xmm6
movss dword [rbp + 0x204], xmm0
call fcn.18003f450
or dword [r15 + 0x47d4], 0x401
call fcn.18000f7a0
mov eax, dword [r15 + 0x47f0]
mov ebx, dword [rbp + 0xa8]
and eax, 0x80
or ebx, eax
call fcn.18001b980
cmp dword [r15 + 0x47e8], 0
jne 0x180048679
mov eax, dword [rbp + 0xa4]
mov dword [r15 + 0x47ec], eax
mov dword [r15 + 0x47e8], r14d
mov dword [r15 + 0x47f0], ebx
mov ebx, dword [rbp - 0x54]
cmp byte [r15 + 0x5d18], 0
je 0x180048812
test bl, bl
je 0x18004869b
cmp byte [rbp + 0x208], 0
je 0x180048812
mov rsi, qword [0x180197488]
mov r14, qword [rsi + 0x3f48]
mov qword [rsi + 0x5d40], r12
mov qword [rsi + 0x5d38], r12
mov r12, qword [rbp + 0x1e0]
test rdi, rdi
jne 0x1800486ed
mov rdi, r12
cmp r12, 0xffffffffffffffff
jae 0x1800486ed
nop dword [rax]
movzx ecx, byte [rdi]
test cl, cl
je 0x1800486ed
lea rax, [rdi + 1]
cmp cl, 0x23
jne 0x1800486e4
cmp byte [rax], cl
je 0x1800486ed
mov rdi, rax
cmp rax, 0xffffffffffffffff
jb 0x1800486d0
movss xmm1, dword [rbp - 0x3c]
movss xmm0, dword [rsi + 0x3808]
addss xmm0, dword [rsi + 0x5d48]
movss dword [rsi + 0x5d48], xmm1
addss xmm0, xmm8
comiss xmm1, xmm0
jbe 0x180048727
lea rcx, [0x18013f38c]
call fcn.180024dc0
mov byte [rsi + 0x5d4c], 1
lea r8, [0x18017b2e5]
lea rdx, [0x18017b2e4]
lea rcx, [rbp - 0x40]
call fcn.180024e00
mov eax, dword [r14 + 0x188]
mov ecx, dword [rsi + 0x5d50]
cmp ecx, eax
jle 0x180048757
mov dword [rsi + 0x5d50], eax
mov ecx, eax
mov r14d, dword [r14 + 0x188]
mov r15d, 1
sub r14d, ecx
nop word [rax + rax]
mov r8, rdi
mov edx, 0xa
sub r8, r12
mov rcx, r12
call fcn.1801187b0
test rax, rax
mov rbx, rdi
cmovne rbx, rax
cmp r12, rbx
jne 0x180048797
cmp rbx, rdi
je 0x1800487f6
mov r9d, ebx
lea edx, [r14*4]
sub r9d, r12d
cmp byte [rsi + 0x5d4c], 0
jne 0x1800487b1
mov edx, r15d
lea r8, [0x18013f028]
mov qword [rsp + 0x20], r12
lea rcx, str._s_.s
call fcn.180024dc0
mov byte [rsi + 0x5d4c], 0
cmp byte [rbx], 0xa
jne 0x1800487e8
lea rcx, [0x18013f38c]
call fcn.180024dc0
mov byte [rsi + 0x5d4c], r15b
cmp rbx, rdi
je 0x1800487f6
lea r12, [rbx + 1]
jmp 0x180048770
lea r8, [0x18017b2e1]
lea rdx, [0x18017b2e0]
lea rcx, [rbp - 0x40]
call fcn.180024e00
mov r15, qword [rsp + 0x70]
movss xmm0, dword [rbp - 4]
comiss xmm0, xmm11
jbe 0x180048849
movss xmm1, dword [rbp + 0x54]
movaps xmm0, xmm9
addss xmm1, dword [r15 + 0x3808]
mov rdx, qword [rbp + 0x1d0]
mov r9b, 1
xor r8d, r8d
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180009390
movzx edx, byte [rsp + 0x51]
mov r8d, dword [rbp + 0x1f8]
test dl, dl
je 0x180048891
bt r8d, 0x1b
jb 0x180048891
mov rax, qword [0x180197488]
cmp word [rax + 0x5c32], 0
jg 0x180048891
mov ecx, dword [rax + 0x3fa8]
cmp ecx, dword [rsp + 0x78]
je 0x180048881
test ecx, ecx
jne 0x18004888a
mov word [rax + 0x3fb8], 0x101
or dword [rax + 0x47f0], 4
movzx ecx, byte [rsp + 0x60]
test r8b, 0x20
mov eax, edx
cmovne eax, ecx
jmp 0x180045501