Function at 0x180049010
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 r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x200
mov r8, qword [0x18006a120]
mov r14, rcx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [r8 + 0x1af0]
mov byte [rax + 0x80], 1
mov rdi, qword [r8 + 0x1af0]
cmp byte [rdi + 0x83], 0
jne 0x180049221
mov ecx, dword [rbp + 0x168]
mov ebx, ecx
mov r13, qword [0x18006a120]
mov eax, ecx
shr eax, 0xe
and al, 1
shr ebx, 0x14
mov dword [rsp + 0x58], eax
and bl, 1
mov eax, ecx
mov qword [rbp - 0x48], r13
shr eax, 0xf
and al, 1
mov dword [rsp + 0x60], ebx
mov dword [rbp - 0x60], eax
mov eax, ecx
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x80], eax
mov eax, ecx
shr eax, 0x12
and al, 1
mov dword [rsp + 0x70], eax
test bl, bl
je 0x1800490de
call fcn.180025850
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call fcn.180029050
movss xmm8, dword [0x18005b44c]
lea rcx, [rbp + 0x30]
mov r9b, 1
movss dword [rsp + 0x20], xmm8
xor r8d, r8d
mov dword [rsp + 0x68], eax
mov rdx, r14
mov esi, eax
call fcn.180025e70
test bl, bl
je 0x18004912b
movss xmm7, dword [r13 + 0x19a8]
mulss xmm7, dword [0x18005b3c8]
jmp 0x180049130
movss xmm7, dword [rbp + 0x34]
movss xmm6, dword [r13 + 0x1594]
call fcn.180025c10
mov rdx, qword [rbp + 0x160]
addss xmm6, xmm6
movaps xmm2, xmm0
lea rcx, [rbp + 0x48]
mov rdx, qword [rdx]
addss xmm6, xmm7
movaps xmm3, xmm6
call fcn.180025b00
movss xmm4, dword [rbp + 0x30]
xorps xmm15, xmm15
comiss xmm4, xmm15
jbe 0x180049179
addss xmm4, dword [r13 + 0x15a8]
jmp 0x18004917c
xorps xmm4, xmm4
movss xmm3, dword [rdi + 0xd0]
mov r15d, 1
movss xmm12, dword [rbp + 0x4c]
movaps xmm1, xmm3
movss xmm11, dword [rbp + 0x48]
movaps xmm0, xmm12
mov qword [rbp - 0x78], rdi
addss xmm4, xmm11
addss xmm1, xmm11
lea rcx, [rbp + 0x38]
addss xmm0, dword [rdi + 0xd4]
movss dword [rbp - 0x58], xmm3
movss xmm2, dword [rdi + 0xd4]
addss xmm4, xmm3
movss dword [rbp - 0x54], xmm2
movss dword [rbp - 0x50], xmm1
movss dword [rbp - 0x4c], xmm0
movaps xmm0, xmm2
movss dword [rbp + 0x38], xmm3
addss xmm0, xmm12
movss dword [rbp + 0x3c], xmm2
movss dword [rbp + 0x40], xmm4
movss dword [rbp + 0x44], xmm0
test bl, bl
je 0x18004931c
lea r8, [rbp - 0x58]
mov edx, esi
call fcn.18002a9c0
test al, al
jne 0x18004925a
movss xmm1, dword [r13 + 0x1594]
lea rcx, [rbp + 0x38]
call fcn.18002ac50
call fcn.180027740
xor al, al
lea r11, [rsp + 0x200]
movaps xmm6, xmmword [r11 - 0x20]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x70]
movaps xmm12, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0xb0]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [r13 + 0x170c]
mov ecx, 3
call fcn.18002f4b0
movss xmm1, dword [r13 + 0x1598]
mov ecx, 6
call fcn.18002f5a0
movss xmm1, dword [r13 + 0x159c]
mov ecx, 7
call fcn.18002f5a0
lea rdx, [r13 + 0x1590]
mov ecx, r15d
call fcn.18002f510
movss xmm0, dword [rbp - 0x50]
lea r8, [rbp - 0x68]
movss xmm1, dword [rbp - 0x4c]
movzx r9d, r15b
subss xmm0, dword [rbp - 0x58]
subss xmm1, dword [rbp - 0x54]
mov edx, esi
mov dword [rsp + 0x20], 0x10004
mov rcx, r14
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm1
call fcn.180025640
mov ecx, 3
movzx ebx, al
call fcn.18002efa0
mov ecx, r15d
call fcn.18002ef50
test bl, bl
jne 0x1800492fb
call fcn.180027200
jmp 0x18004921c
mov r14, qword [r13 + 0x1af0]
mov qword [rbp - 0x78], r14
mov eax, dword [r14 + 0x140]
or dword [r14 + 0x148], eax
subss xmm11, dword [r14 + 0x74]
jmp 0x180049341
movss xmm1, dword [r13 + 0x1594]
call fcn.18002ac50
lea r8, [rbp - 0x58]
mov edx, esi
lea rcx, [rbp + 0x38]
call fcn.18002a9c0
test al, al
je 0x180049221
mov edx, esi
movaps xmmword [rsp + 0x160], xmm14
lea rcx, [rbp - 0x58]
call fcn.18002ab00
mov byte [rsp + 0x64], al
movzx ebx, al
test al, al
je 0x180049367
mov dword [r13 + 0x1f78], r15d
xor eax, eax
lea r15, [r13 + 0x2070]
cmp dword [r15], esi
mov edx, esi
mov rcx, rdi
cmovne r15, rax
call fcn.180028840
movzx esi, al
test al, al
je 0x1800493a5
cmp qword [r13 + 0x1da0], rdi
jne 0x1800493a5
mov ecx, dword [rdi + 0x1b0]
cmp dword [r13 + 0x1db0], ecx
jne 0x1800493a5
mov r14b, 1
jmp 0x1800493b2
xor r14b, r14b
mov byte [rsp + 0x54], 1
test sil, sil
jne 0x1800493b7
mov byte [rsp + 0x54], 0
mov qword [rsp + 0x1f8], r12
test bl, bl
je 0x1800493d2
cmp byte [r13 + 0x420], 0
je 0x1800493d2
mov r12b, 1
jmp 0x1800493d5
xor r12b, r12b
mov eax, dword [r13 + 0x1b38]
mov ecx, dword [rsp + 0x68]
mov byte [rsp + 0x53], r12b
cmp eax, ecx
je 0x18004940c
cmp dword [r13 + 0x1c7c], ecx
je 0x180049405
cmp dword [r13 + 0x1c70], ecx
jne 0x18004940c
cmp dword [r13 + 0x1c90], 3
jne 0x18004940c
mov byte [rsp + 0x50], 1
jmp 0x180049411
mov byte [rsp + 0x50], 0
cmp byte [rsp + 0x60], 0
je 0x180049441
test r15, r15
je 0x180049441
test eax, eax
jne 0x180049441
mov rcx, qword [rbp - 0x78]
lea rdx, str.SCROLLY
xor r8d, r8d
call fcn.1800290b0
cmp dword [r13 + 0x1b78], eax
jne 0x180049441
mov bl, 1
jmp 0x18004944e
xor bl, bl
cmp byte [rsp + 0x60], bl
je 0x18004946e
test r15, r15
je 0x18004946e
mov rcx, qword [rbp - 0x78]
lea rdx, str.SCROLLY
xor r8d, r8d
call fcn.1800290b0
cmp dword [r13 + 0x1b38], eax
jne 0x18004946e
mov al, 1
jmp 0x180049470
xor al, al
mov r8d, dword [rsp + 0x68]
movzx ecx, byte [rsp + 0x50]
mov byte [rsp + 0x52], al
mov byte [rsp + 0x5c], 0
cmp dword [r13 + 0x1b38], r8d
je 0x1800494a5
test byte [rbp + 0x168], 0x10
jne 0x180049499
test cl, cl
je 0x1800494a5
cmp byte [rsp + 0x60], 0
mov byte [rsp + 0x6c], 1
je 0x1800494aa
mov byte [rsp + 0x6c], 0
test sil, sil
jne 0x1800494c9
test r12b, r12b
jne 0x1800494c9
test bl, bl
jne 0x1800494c9
test cl, cl
jne 0x1800494c9
test al, al
jne 0x1800494cc
mov ebx, dword [rsp + 0x60]
jmp 0x180049653
mov sil, 1
mov r12b, 1
cmp dword [r13 + 0x1b38], r8d
je 0x1800494c0
mov rcx, qword [rbp + 0x150]
lea r15, [r13 + 0x2070]
mov dword [r15 + 0xe70], 0xbe99999a
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rcx + rbx], 0
jne 0x180049500
inc ebx
lea rcx, [r15 + 0x30]
mov edx, ebx
call fcn.18004dfa0
mov rdx, qword [rbp + 0x150]
mov rcx, qword [r15 + 0x38]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [rbp + 0x158]
lea rcx, [r15 + 0x10]
xor r8d, r8d
mov qword [rbp - 0x68], r8
lea edx, [rbx + 1]
call fcn.18003b770
lea rcx, [r15 + 0x20]
xor edx, edx
call fcn.18004dfa0
mov r8, qword [rbp + 0x150]
lea rax, [rbp - 0x68]
mov rcx, qword [r15 + 0x18]
xor r9d, r9d
mov edx, ebx
mov qword [rsp + 0x20], rax
mov byte [r15 + 0x40], 0
call fcn.180029f60
mov ecx, dword [rbp - 0x68]
mov r8d, eax
sub ecx, dword [rbp + 0x150]
mov ebx, dword [rsp + 0x60]
mov dword [r15 + 4], eax
mov eax, dword [rsp + 0x68]
mov dword [r15 + 8], ecx
cmp dword [r15], eax
jne 0x1800495c0
cmp dword [r15 + 0x4c], r8d
mov edx, r8d
mov ecx, r8d
cmovl edx, dword [r15 + 0x4c]
cmp dword [r15 + 0x50], r8d
mov dword [r15 + 0x4c], edx
cmovl ecx, dword [r15 + 0x50]
cmp dword [r15 + 0x54], r8d
mov dword [r15 + 0x50], ecx
cmovl r8d, dword [r15 + 0x54]
mov dword [r15 + 0x54], r8d
jmp 0x18004961a
xor ecx, ecx
mov dword [r15], eax
movzx eax, bl
mov qword [r15 + 0x48], rcx
xor al, r12b
mov dword [r15 + 0xe62], 0x630000
mov dword [r15 + 0xe68], ecx
mov dword [r15 + 0xe6c], 0x3e7
mov qword [r15 + 0x50], rcx
mov dword [r15 + 0x58], 0x10000
mov dword [r15 + 0x60], ecx
mov byte [r15 + 0x5c], al
test bl, bl
jne 0x18004961a
mov ecx, dword [rsp + 0x6c]
test r14b, r14b
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x6c], ecx
test dword [rbp + 0x168], 0x2000
je 0x18004962a
mov byte [r15 + 0x58], r12b
test bl, bl
jne 0x18004964e
cmp byte [rsp + 0x54], bl
jne 0x180049643
cmp byte [rsp + 0x53], bl
je 0x18004964e
cmp byte [r13 + 0x148], bl
je 0x18004964e
mov r8d, dword [rsp + 0x68]
movzx r14d, r12b
jmp 0x180049658
mov r8d, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x6c]
cmp dword [r13 + 0x1b38], r8d
je 0x1800496f4
test sil, sil
je 0x1800496f4
mov rdx, rdi
mov ecx, r8d
call fcn.180032050
mov ecx, dword [rsp + 0x68]
mov rdx, rdi
call fcn.180032310
mov rcx, rdi
call fcn.180028650
mov eax, dword [r13 + 0x1b4c]
mov ecx, dword [rbp + 0x168]
or eax, 3
mov dword [r13 + 0x1b4c], eax
test bl, bl
jne 0x1800496ac
test cl, cl
jns 0x1800496b6
or eax, 0xc
mov dword [r13 + 0x1b4c], eax
mov rax, qword [r13 + 0x1b58]
or dword [r13 + 0x1b50], 2
or rax, 0x180
mov qword [r13 + 0x1b58], rax
test bl, bl
je 0x1800496e1
or rax, 0x60
mov qword [r13 + 0x1b58], rax
test ecx, 0x440
je 0x1800496f4
or rax, 1
mov qword [r13 + 0x1b58], rax
mov ebx, dword [rsp + 0x68]
cmp dword [r13 + 0x1b38], ebx
jne 0x180049731
test r15, r15
jne 0x18004970b
call fcn.180026510
cmp dword [r13 + 0x1b38], ebx
jne 0x180049731
cmp byte [r13 + 0x420], 0
je 0x18004973d
test r12b, r12b
jne 0x18004973d
test sil, sil
jne 0x18004973d
mov byte [rsp + 0x5c], 1
mov cl, 1
jmp 0x180049743
test r15, r15
je 0x180049741
cmp byte [rsp + 0x52], 0
je 0x180049741
mov cl, 1
jmp 0x180049743
xor cl, cl
mov byte [rsp + 0x51], cl
test r15, r15
je 0x18004975e
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
je 0x18004975e
test cl, cl
je 0x18004975e
mov dl, 1
jmp 0x180049760
xor dl, dl
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x6c], edx
movzx edi, dl
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x54], 0
test al, al
je 0x180049822
test r15, r15
je 0x180049822
test cl, cl
jne 0x180049792
test dl, dl
je 0x180049832
mov esi, dword [rbp + 0x158]
lea rcx, [r15 + 0x10]
xor eax, eax
mov qword [rbp - 0x68], rax
lea edx, [rsi + 1]
call fcn.18003b770
mov r12, qword [rbp + 0x150]
lea rax, [rbp - 0x68]
mov edx, dword [r15 + 0x10]
mov r8, r12
mov rcx, qword [r15 + 0x18]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.180029f60
mov ecx, dword [rbp - 0x68]
mov edx, eax
sub ecx, r12d
mov dword [r15 + 4], eax
cmp dword [r15 + 0x4c], eax
mov r8d, eax
mov dword [r15 + 8], ecx
mov ecx, eax
cmovl edx, dword [r15 + 0x4c]
cmp dword [r15 + 0x50], eax
mov dword [r15 + 0x4c], edx
cmovl ecx, dword [r15 + 0x50]
cmp dword [r15 + 0x54], eax
mov dword [r15 + 0x50], ecx
cmovl r8d, dword [r15 + 0x54]
xor eax, eax
cmp ecx, r8d
mov dword [r15 + 0x54], r8d
movzx ecx, byte [rsp + 0x51]
mov edx, eax
mov eax, dword [rsp + 0x58]
cmovne edx, edi
mov dword [rsp + 0x6c], edx
jmp 0x180049828
mov esi, dword [rbp + 0x158]
test cl, cl
jne 0x180049841
test dl, dl
jne 0x180049841
jmp 0x180049838
mov esi, dword [rbp + 0x158]
cmp dword [r13 + 0x1b38], ebx
jne 0x180049854
test al, al
jne 0x180049854
test r15, r15
je 0x180049854
cmp byte [r15 + 0x40], al
je 0x180049854
mov al, 1
jmp 0x180049856
xor al, al
cmp qword [rbp + 0x148], 0
mov byte [rsp + 0x7a], al
je 0x18004987e
test al, al
je 0x18004986e
mov rax, qword [r15 + 0x28]
jmp 0x180049875
mov rax, qword [rbp + 0x150]
cmp byte [rax], 0
jne 0x18004987e
mov al, 1
jmp 0x180049880
xor al, al
cmp byte [rbp - 0x60], 0
mov byte [rsp + 0x52], al
je 0x18004991f
test al, al
jne 0x18004991f
mov rcx, qword [r13 + 0x19a0]
mov edx, 0x2a
call fcn.180037d40
mov rcx, qword [r13 + 0x19a0]
lea r10, [r13 + 0x2f00]
mov r9, rax
mov edx, dword [rcx + 0x14]
mov dword [r10 + 0x14], edx
mov rcx, qword [r13 + 0x19a0]
mov edx, dword [rcx + 0x60]
mov rcx, r10
mov dword [r10 + 0x60], edx
mov rdx, qword [r13 + 0x19a0]
movsd xmm0, qword [rdx + 0x40]
movsd qword [r10 + 0x40], xmm0
mov rdx, qword [r13 + 0x19a0]
mov r8d, dword [rdx + 0x64]
mov dword [r10 + 0x64], r8d
mov rdx, qword [r13 + 0x19a0]
mov eax, dword [rdx + 0x68]
mov dword [r10 + 0x68], eax
mov rax, qword [r13 + 0x19a0]
mov rdx, qword [rax + 0x48]
mov qword [r10 + 0x48], rdx
mov qword [r10 + 0x38], r9
mov eax, dword [r9 + 4]
mov dword [r10 + 0x10], eax
call fcn.18002f2d0
movss xmm14, dword [0x18005b350]
xor r9d, r9d
mov ecx, 0x20000c
mov dword [rbp - 0x28], r9d
cmp dword [r13 + 0x1b38], ebx
jne 0x180049d40
mov eax, dword [r15 + 8]
mov r12, qword [rbp + 0x170]
mov edx, dword [rbp + 0x168]
mov dword [r15 + 0x44], esi
mov rsi, qword [rbp + 0x178]
mov qword [r15 + 0xe88], rsi
mov dword [r15 + 0xe78], edx
mov qword [r15 + 0xe80], r12
cmp byte [r13 + 0x138], r9b
mov dword [r13 + 0x3234], 1
mov dword [rbp - 0x28], eax
sete al
mov byte [r13 + 0x1b45], al
movss xmm6, dword [r13 + 0x130]
subss xmm6, dword [rbp - 0x58]
subss xmm6, dword [r13 + 0x1590]
addss xmm6, dword [r15 + 0x48]
cmp byte [rsp + 0x60], r9b
je 0x1800499d5
mov rax, qword [rbp - 0x78]
movss xmm2, dword [r13 + 0x134]
subss xmm2, dword [rax + 0xd4]
subss xmm2, dword [r13 + 0x1594]
jmp 0x1800499e3
movss xmm2, dword [r13 + 0x19a8]
mulss xmm2, xmm14
movzx edi, byte [r13 + 0xc9]
test r14b, r14b
jne 0x180049b60
movzx eax, byte [rsp + 0x64]
test al, al
je 0x180049a0f
test dil, dil
jne 0x180049a7d
cmp byte [r13 + 0x425], r9b
jne 0x180049b60
cmp byte [r13 + 0x420], r9b
je 0x180049ad8
cmp byte [r15 + 0xe75], r9b
jne 0x180049ad8
test al, al
je 0x180049b7c
cmp byte [r15 + 0x5c], r9b
je 0x180049a4b
xor r8d, r8d
lea rcx, [rbp - 0x20]
mov rdx, r15
call fcn.18004bc60
movss xmm2, dword [rbp - 0x14]
movaps xmm1, xmm6
mov rcx, r15
call fcn.18004e220
mov edx, dword [rbp + 0x168]
mov dword [r15 + 0x4c], eax
mov dword [r15 + 0x50], eax
mov dword [r15 + 0x54], eax
mov byte [r15 + 0x5b], 0
mov dword [r15 + 0xe70], 0xbe99999a
jmp 0x180049b7c
cmp byte [r13 + 0x425], r9b
je 0x180049a0f
mov r8d, ecx
lea rdx, [r15 + 0x4c]
mov rcx, r15
call fcn.18004ea70
mov r8d, 0x60000d
mov byte [r15 + 0xe74], 1
lea rdx, [r15 + 0x4c]
mov dword [r15 + 0xe70], 0xbe99999a
mov rcx, r15
call fcn.18004ea70
mov edx, dword [rbp + 0x168]
mov byte [r15 + 0xe74], 1
mov dword [r15 + 0xe70], 0xbe99999a
jmp 0x180049b7c
cmp byte [r13 + 0x138], r9b
je 0x180049b7c
cmp byte [r15 + 0xe75], r9b
jne 0x180049b7c
ucomiss xmm15, dword [r13 + 0x3c0]
jne 0x180049b06
ucomiss xmm15, dword [r13 + 0x3c4]
je 0x180049b7c
cmp byte [r15 + 0x5c], r9b
je 0x180049b20
xor r8d, r8d
lea rcx, [rbp - 0x20]
mov rdx, r15
call fcn.18004bc60
movss xmm2, dword [rbp - 0x14]
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
jne 0x180049b32
mov eax, dword [r15 + 0x4c]
mov dword [r15 + 0x50], eax
movaps xmm1, xmm6
mov rcx, r15
call fcn.18004e220
mov edx, dword [rbp + 0x168]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x4c], eax
mov dword [r15 + 0xe70], 0xbe99999a
mov byte [r15 + 0xe74], 1
jmp 0x180049b7c
mov eax, dword [r15 + 4]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x4c], eax
mov dword [r15 + 0x50], r9d
mov byte [r15 + 0x5b], r9b
mov byte [r15 + 0xe75], 1
cmp byte [r15 + 0xe75], 0
je 0x180049b98
cmp byte [r13 + 0x138], 0
jne 0x180049b98
mov byte [r15 + 0xe75], 0
cmp byte [r13 + 0x148], 0
je 0x180049bac
cmp byte [r13 + 0x14a], 0
je 0x180049bbb
test dil, dil
je 0x180049bbf
cmp byte [r13 + 0x14b], 0
je 0x180049bbf
mov bl, 1
jmp 0x180049bc1
xor bl, bl
bt edx, 0xa
jae 0x180049c8e
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180049c8e
mov dl, 1
call fcn.18002a730
test al, al
mov eax, dword [rsp + 0x58]
je 0x180049de7
test bl, bl
jne 0x180049de7
cmp byte [r13 + 0x149], bl
jne 0x180049de7
test al, al
jne 0x180049de7
mov rcx, qword [r13 + 0x1550]
movsxd rax, dword [r13 + 0x1548]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x180049c42
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x180049c88
cmp rcx, rdx
jb 0x180049c30
mov edx, dword [rbp + 0x168]
lea rcx, [rsp + 0x74]
mov r9, rsi
mov dword [rsp + 0x74], 9
mov r8, r12
call fcn.18004b8a0
test al, al
je 0x180049c88
mov r8d, dword [rsp + 0x74]
lea rdx, [r15 + 0x4c]
mov rcx, r15
call fcn.18004ea70
mov byte [r15 + 0xe74], 1
mov dword [r15 + 0xe70], 0xbe99999a
mov edx, dword [rbp + 0x168]
mov eax, dword [rsp + 0x58]
cmp dword [r13 + 0x1548], 0
jle 0x180049d39
test bl, bl
jne 0x180049d2b
test al, al
jne 0x180049d2b
cmp byte [rsp + 0x50], al
jne 0x180049d2b
xor eax, eax
mov edi, eax
mov ebx, eax
nop dword [rax]
mov rax, qword [r13 + 0x1550]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x74], ecx
cmp ecx, 9
jne 0x180049cde
cmp byte [r13 + 0x149], 0
jne 0x180049d16
mov r9, rsi
lea rcx, [rsp + 0x74]
mov r8, r12
call fcn.18004b8a0
test al, al
je 0x180049d16
mov r8d, dword [rsp + 0x74]
lea rdx, [r15 + 0x4c]
mov rcx, r15
call fcn.18004ea70
mov byte [r15 + 0xe74], 1
mov dword [r15 + 0xe70], 0xbe99999a
mov edx, dword [rbp + 0x168]
inc edi
add rbx, 2
cmp edi, dword [r13 + 0x1548]
jl 0x180049cc0
lea rcx, [r13 + 0x1548]
xor edx, edx
call fcn.18003b770
mov ebx, dword [rsp + 0x68]
xor r9d, r9d
xor cl, cl
cmp dword [r13 + 0x1b38], ebx
jne 0x18004ac97
cmp byte [r13 + 0x1b44], cl
jne 0x18004a81b
cmp byte [rsp + 0x5c], cl
jne 0x18004a81b
movzx r8d, byte [r13 + 0xc9]
movzx ecx, byte [r13 + 0x149]
movzx eax, cl
mov byte [rsp + 0x7c], r8b
neg al
sbb edi, edi
and edi, 0x400000
test r8b, r8b
je 0x180049df2
cmp byte [r13 + 0x14b], 0
je 0x180049da6
cmp byte [r13 + 0x148], 0
mov eax, 1
je 0x180049da9
mov eax, r9d
test eax, eax
jne 0x180049e06
xor dl, dl
mov byte [rsp + 0x50], dl
test r8b, r8b
je 0x180049e18
cmp byte [r13 + 0x14b], 0
je 0x180049e18
cmp byte [r13 + 0x149], 0
je 0x180049e18
cmp byte [r13 + 0x148], 0
jne 0x180049e18
cmp byte [r13 + 0x14a], 0
jne 0x180049e18
mov byte [rsp + 0x53], 1
jmp 0x180049e22
mov edx, dword [rbp + 0x168]
jmp 0x180049c92
cmp byte [r13 + 0x148], 0
je 0x180049dad
cmp byte [r13 + 0x14b], 0
jne 0x180049dad
cmp byte [r13 + 0x14a], 0
jne 0x180049dad
test cl, cl
jne 0x180049dad
mov dl, 1
jmp 0x180049daf
mov byte [rsp + 0x53], 0
test r8b, r8b
je 0x180049e74
cmp byte [r13 + 0x14b], 0
movzx r12d, byte [r13 + 0x14a]
je 0x180049e81
cmp byte [r13 + 0x148], 0
jne 0x180049e81
test r12b, r12b
jne 0x180049e81
movzx ecx, byte [r13 + 0x148]
mov r14b, 1
xor bl, bl
cmp byte [r13 + 0x149], bl
je 0x180049ead
test cl, cl
jne 0x180049ead
cmp byte [r13 + 0x14a], bl
jne 0x180049ead
cmp byte [r13 + 0x14b], bl
jne 0x180049ead
mov sil, 1
jmp 0x180049eb0
movzx r12d, byte [r13 + 0x148]
mov byte [rsp + 0x53], 0
movzx ecx, byte [r13 + 0x148]
xor r14b, r14b
test cl, cl
je 0x180049e4e
cmp byte [r13 + 0x149], r14b
jne 0x180049e4e
cmp byte [r13 + 0x14a], r14b
jne 0x180049e4e
cmp byte [r13 + 0x14b], r14b
jne 0x180049e4e
mov bl, 1
xor sil, sil
test dl, dl
je 0x180049ed0
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x180049ed0
mov dl, 1
call fcn.18002a730
test al, al
jne 0x180049eee
test sil, sil
je 0x180049f13
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180049f13
mov dl, 1
call fcn.18002a730
test al, al
je 0x180049f13
cmp byte [rsp + 0x58], 0
jne 0x180049f13
cmp byte [rbp - 0x60], 0
jne 0x180049f13
cmp byte [rsp + 0x60], 0
je 0x180049f0c
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
je 0x180049f13
mov byte [rsp + 0x78], 1
jmp 0x180049f18
mov byte [rsp + 0x78], 0
cmp byte [rsp + 0x50], 0
je 0x180049f3b
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x180049f3b
mov dl, 1
call fcn.18002a730
test al, al
jne 0x180049f58
test bl, bl
je 0x180049f76
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180049f76
mov dl, 1
call fcn.18002a730
test al, al
je 0x180049f76
cmp byte [rbp - 0x60], 0
jne 0x180049f76
cmp byte [rsp + 0x60], 0
je 0x180049f6f
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
je 0x180049f76
mov byte [rsp + 0x79], 1
jmp 0x180049f7b
mov byte [rsp + 0x79], 0
movzx ebx, byte [rsp + 0x50]
test bl, bl
je 0x180049fa0
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x180049fa0
mov dl, 1
call fcn.18002a730
test al, al
jne 0x180049fbe
test sil, sil
je 0x180049fce
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180049fce
mov dl, 1
call fcn.18002a730
test al, al
je 0x180049fce
mov esi, dword [rsp + 0x58]
test sil, sil
jne 0x180049fd2
mov byte [rsp + 0x64], 1
jmp 0x180049fd7
mov esi, dword [rsp + 0x58]
mov byte [rsp + 0x64], 0
test bl, bl
je 0x18004a007
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18004a007
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a007
test sil, sil
jne 0x18004a007
cmp byte [rbp - 0x80], sil
je 0x18004a007
mov sil, 1
jmp 0x18004a00e
xor sil, sil
test bl, bl
je 0x18004a02a
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x18004a02a
mov dl, 1
call fcn.18002a730
test al, al
jne 0x18004a04d
cmp byte [rsp + 0x53], 0
je 0x18004a05e
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18004a05e
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a05e
cmp byte [rsp + 0x58], 0
jne 0x18004a05e
cmp byte [rbp - 0x80], 0
je 0x18004a05e
mov bl, 1
jmp 0x18004a060
xor bl, bl
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x18004a0ab
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a0ab
test r14b, r14b
je 0x18004a085
mov ecx, 0x200004
jmp 0x18004a095
test r12b, r12b
mov ecx, 0x200000
mov eax, 0x20000c
cmovne ecx, eax
or ecx, edi
lea rdx, [r15 + 0x4c]
mov r8d, ecx
mov rcx, r15
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x18004a10a
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a10a
test r14b, r14b
je 0x18004a0e4
mov ecx, 0x200005
lea rdx, [r15 + 0x4c]
or edi, ecx
mov rcx, r15
mov r8d, edi
call fcn.18004ea70
jmp 0x18004a7e1
test r12b, r12b
lea rdx, [r15 + 0x4c]
mov ecx, 0x200001
mov eax, 0x20000d
cmovne ecx, eax
or edi, ecx
mov rcx, r15
mov r8d, edi
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18004a178
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a178
cmp byte [rsp + 0x60], 0
je 0x18004a178
cmp byte [r13 + 0x148], 0
je 0x18004a158
mov rbx, qword [rbp - 0x78]
mov rcx, rbx
movss xmm1, dword [rbx + 0x58]
subss xmm1, dword [r13 + 0x19a8]
maxss xmm1, xmm15
call fcn.180032580
jmp 0x18004a7f4
movzx eax, r14b
lea rdx, [r15 + 0x4c]
mov rcx, r15
lea r8d, [rax*4 + 0x200002]
or r8d, edi
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x18004a1ea
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a1ea
cmp byte [rsp + 0x60], 0
je 0x18004a1ea
cmp byte [r13 + 0x148], 0
je 0x18004a1ca
call fcn.180029560
mov rax, qword [rbp - 0x78]
movss xmm1, dword [r13 + 0x19a8]
mov rcx, rax
addss xmm1, dword [rax + 0x58]
minss xmm1, xmm0
call fcn.180032580
jmp 0x18004a7f4
movzx eax, r14b
lea rdx, [r15 + 0x4c]
mov rcx, r15
lea r8d, [rax*4 + 0x200003]
or r8d, edi
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x18004a230
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a230
mov eax, edi
mov r8d, 0x200004
or eax, 0x200006
or r8d, edi
lea rdx, [r15 + 0x4c]
cmp byte [r13 + 0x148], 0
mov rcx, r15
cmovne r8d, eax
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x18004a258
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a258
mov eax, edi
mov r8d, 0x200005
or eax, 0x200007
jmp 0x18004a210
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x18004a295
mov dl, 1
call fcn.18002a730
mov r14d, dword [rsp + 0x58]
test al, al
je 0x18004a29a
test r14b, r14b
jne 0x18004a29a
or edi, 0x200008
lea rdx, [r15 + 0x4c]
mov r8d, edi
mov rcx, r15
call fcn.18004ea70
jmp 0x18004a7e1
mov r14d, dword [rsp + 0x58]
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x18004a33b
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a33b
test r14b, r14b
jne 0x18004a33b
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
jne 0x18004a321
test r12b, r12b
je 0x18004a2d7
mov r8d, 0x60000c
jmp 0x18004a302
cmp byte [rsp + 0x7c], 0
je 0x18004a321
cmp byte [r13 + 0x14b], 0
je 0x18004a321
cmp byte [r13 + 0x14a], 0
jne 0x18004a321
cmp byte [r13 + 0x148], 0
jne 0x18004a321
mov r8d, 0x600004
lea rdx, [r15 + 0x4c]
mov rcx, r15
call fcn.18004ea70
mov dword [r15 + 0xe70], 0xbe99999a
mov byte [r15 + 0xe74], 1
or edi, 0x200009
lea rdx, [r15 + 0x4c]
mov r8d, edi
mov rcx, r15
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x18004a354
mov dl, 1
call fcn.18002a730
test al, al
jne 0x18004a371
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x18004a3ef
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a3ef
mov edx, dword [rbp + 0x168]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [rsp + 0x60], 0
je 0x18004a395
movzx ecx, byte [r13 + 0x148]
test al, al
je 0x18004a3a4
test cl, cl
jne 0x18004a3a8
mov byte [rsp + 0x5c], 1
mov byte [rsp + 0x54], 1
jmp 0x18004a7f4
test cl, cl
jne 0x18004a395
test r14b, r14b
jne 0x18004a7f4
mov r9, qword [rbp + 0x178]
lea rcx, [rsp + 0x74]
mov r8, qword [rbp + 0x170]
mov dword [rsp + 0x74], 0xa
call fcn.18004b8a0
test al, al
je 0x18004a7f4
mov r8d, dword [rsp + 0x74]
lea rdx, [r15 + 0x4c]
mov rcx, r15
call fcn.18004ea70
jmp 0x18004a7e1
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x18004a413
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a413
mov cl, 1
mov byte [rsp + 0x5c], cl
jmp 0x18004a7f6
test sil, sil
jne 0x18004a7ba
test bl, bl
jne 0x18004a7ba
cmp byte [rsp + 0x50], bl
je 0x18004a45e
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x18004a45e
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004a45e
xor eax, eax
mov byte [r15 + 0x5b], bl
mov dword [r15 + 0x50], eax
mov eax, dword [r15 + 4]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x4c], eax
jmp 0x18004a7ec
movzx r12d, byte [rsp + 0x78]
test r12b, r12b
jne 0x18004a68a
cmp byte [rsp + 0x79], r12b
jne 0x18004a68a
cmp byte [rsp + 0x64], r12b
je 0x18004a7f4
call fcn.180028ae0
mov rbx, rax
test rax, rax
je 0x18004a7f4
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x18004a4a0
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call fcn.18002b2f0
xor r12d, r12d
mov qword [rbp - 0x20], rax
mov r14, rax
mov esi, r12d
cmp byte [rbx], r12b
je 0x18004a53e
mov r12, qword [rbp + 0x178]
mov rdi, rax
mov r13, qword [rbp + 0x170]
mov r14d, dword [rbp + 0x168]
nop dword [rax]
nop word [rax + rax]
xor r8d, r8d
lea rcx, [rbp - 0x80]
mov rdx, rbx
call fcn.180029ab0
movsxd rcx, eax
add rbx, rcx
cmp dword [rbp - 0x80], 0
je 0x18004a533
mov r9, r12
lea rcx, [rbp - 0x80]
mov r8, r13
mov edx, r14d
call fcn.18004b8a0
test al, al
je 0x18004a52e
movzx eax, word [rbp - 0x80]
inc esi
mov word [rdi], ax
add rdi, 2
cmp byte [rbx], 0
jne 0x18004a4f0
mov r13, qword [rbp - 0x48]
xor r12d, r12d
mov r14, qword [rbp - 0x20]
movsxd rax, esi
mov word [r14 + rax*2], r12w
test esi, esi
jle 0x18004a67d
mov r8d, dword [r15 + 0x54]
mov eax, dword [r15 + 0x50]
mov ecx, dword [r15 + 4]
cmp eax, r8d
je 0x18004a588
mov edx, eax
cmp eax, ecx
jle 0x18004a56b
mov dword [r15 + 0x50], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x18004a57a
mov dword [r15 + 0x54], ecx
mov r9d, ecx
mov r8d, r9d
mov eax, edx
cmp edx, r9d
jne 0x18004a588
mov dword [r15 + 0x4c], edx
mov r9d, dword [r15 + 0x4c]
cmp r9d, ecx
jle 0x18004a598
mov dword [r15 + 0x4c], ecx
mov r9d, ecx
mov ecx, dword [r15 + 4]
cmp eax, r8d
je 0x18004a5cd
mov edx, eax
cmp eax, ecx
jle 0x18004a5ad
mov dword [r15 + 0x50], ecx
mov edx, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x18004a5bc
mov dword [r15 + 0x54], ecx
mov r10d, ecx
mov r8d, r10d
mov eax, edx
cmp edx, r10d
jne 0x18004a5cd
mov dword [r15 + 0x4c], edx
mov r9d, edx
cmp r9d, ecx
jle 0x18004a5d6
mov dword [r15 + 0x4c], ecx
cmp eax, r8d
je 0x18004a618
lea rdx, [r15 + 0x4c]
mov rcx, r15
jge 0x18004a5fc
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18004e6c0
mov eax, dword [r15 + 0x50]
mov dword [r15 + 0x54], eax
jmp 0x18004a60f
sub eax, r8d
mov r9d, eax
call fcn.18004e6c0
mov eax, dword [r15 + 0x54]
mov dword [r15 + 0x50], eax
mov dword [r15 + 0x4c], eax
mov byte [r15 + 0x5b], 0
mov edx, dword [r15 + 0x4c]
mov r9d, esi
mov r8, r14
mov rcx, r15
call fcn.18004bb40
test al, al
je 0x18004a65d
mov edi, dword [r15 + 0x4c]
lea rcx, [r15 + 0x64]
xor edx, edx
call fcn.18004e050
test rax, rax
je 0x18004a652
mov dword [rax], edi
mov dword [rax + 4], r12d
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0xffffffff
add dword [r15 + 0x4c], esi
mov byte [r15 + 0x5b], 0
jmp 0x18004a675
movzx eax, word [r15 + 0xe62]
test ax, ax
je 0x18004a675
dec ax
mov word [r15 + 0xe62], ax
mov byte [r15 + 0xe74], 1
mov rcx, r14
call fcn.18002b310
jmp 0x18004a7f4
cmp qword [r13 + 0x108], 0
je 0x18004a6fd
mov eax, dword [r15 + 0x54]
mov ecx, dword [r15 + 0x50]
cmp ecx, eax
je 0x18004a6aa
mov edx, eax
cmovge eax, ecx
cmovl edx, ecx
jmp 0x18004a6b2
xor eax, eax
mov edx, eax
mov eax, dword [r15 + 4]
movsxd r14, eax
mov rax, qword [r15 + 0x18]
movsxd rsi, edx
lea rdx, [rax + r14*2]
lea rcx, [rax + rsi*2]
call fcn.180029ec0
lea ebx, [rax + 1]
movsxd rcx, ebx
call fcn.18002b2f0
mov rcx, qword [r15 + 0x18]
mov edx, ebx
mov rdi, rax
lea r9, [rcx + r14*2]
lea r8, [rcx + rsi*2]
mov rcx, rax
call fcn.18002a200
mov rcx, rdi
call fcn.180032120
mov rcx, rdi
call fcn.18002b310
test r12b, r12b
je 0x18004a7f4
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
jne 0x18004a727
xor eax, eax
mov byte [r15 + 0x5b], 0
mov dword [r15 + 0x50], eax
mov eax, dword [r15 + 4]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x4c], eax
mov byte [r15 + 0xe74], 1
mov r8d, dword [r15 + 0x54]
mov eax, dword [r15 + 0x50]
cmp eax, r8d
je 0x18004a7f4
mov ecx, dword [r15 + 4]
cmp eax, ecx
jle 0x18004a74e
mov dword [r15 + 0x50], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x18004a75a
mov dword [r15 + 0x54], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x18004a763
mov dword [r15 + 0x4c], eax
cmp dword [r15 + 0x4c], ecx
jle 0x18004a76d
mov dword [r15 + 0x4c], ecx
cmp eax, r8d
je 0x18004a7b3
lea rdx, [r15 + 0x4c]
mov rcx, r15
jge 0x18004a79c
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.18004e6c0
mov eax, dword [r15 + 0x50]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x4c], eax
mov byte [r15 + 0x5b], 0
jmp 0x18004a7f4
sub eax, r8d
mov r9d, eax
call fcn.18004e6c0
mov eax, dword [r15 + 0x54]
mov dword [r15 + 0x50], eax
mov dword [r15 + 0x4c], eax
mov byte [r15 + 0x5b], 0
jmp 0x18004a7f4
movzx r8d, sil
lea rdx, [r15 + 0x4c]
xor r8d, 1
mov rcx, r15
add r8d, 0x20000a
call fcn.18004ea70
mov eax, dword [r15 + 0x4c]
mov dword [r15 + 0x54], eax
mov dword [r15 + 0x50], eax
mov dword [r15 + 0xe70], 0xbe99999a
mov byte [r15 + 0xe74], 1
xor cl, cl
mov eax, dword [r15 + 0x54]
cmp dword [r15 + 0x50], eax
je 0x18004a80b
cmp byte [rsp + 0x51], 0
je 0x18004a80b
mov al, 1
jmp 0x18004a80d
xor al, al
mov edx, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0x68]
or dl, al
mov dword [rsp + 0x6c], edx
cmp dword [r13 + 0x1b38], ebx
jne 0x18004ac97
xor esi, esi
mov r12d, esi
mov r14d, esi
test cl, cl
je 0x18004aa07
cmp byte [rsp + 0x58], sil
jne 0x18004a965
mov r9, qword [r15 + 0x38]
mov rax, qword [rbp + 0x150]
mov r8, r9
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18004a867
inc rax
test ecx, ecx
jne 0x18004a854
test edx, edx
je 0x18004a965
mov r14d, dword [r15 + 0x30]
mov r12, r9
dec r14d
mov ebx, esi
mov rdi, rsi
test r14d, r14d
jle 0x18004a8d2
movsxd rsi, r14d
mov rcx, r9
add rsi, r9
mov rdx, rsi
call fcn.180029c50
lea ebx, [rax + 1]
test ebx, ebx
jle 0x18004a8b9
mov ecx, 8
mov eax, ebx
cmp ebx, ecx
cmovl eax, ecx
test eax, eax
jle 0x18004a8b9
movsxd rcx, eax
add rcx, rcx
call fcn.18002b2f0
mov rdi, rax
xor eax, eax
mov r9, rsi
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, ebx
mov rcx, rdi
call fcn.180029f60
xor esi, esi
dec ebx
lea rcx, [r15 + 0x64]
test r14d, r14d
cmovle ebx, esi
movsxd rsi, dword [r15 + 4]
mov r8d, esi
mov r9d, ebx
xor edx, edx
call fcn.18004e1a0
mov r9, rax
test rax, rax
je 0x18004a927
mov r8, rsi
test esi, esi
jle 0x18004a927
xor esi, esi
mov edx, esi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r15 + 0x18]
movzx ecx, word [rax + rdx*2]
mov word [r9 + rdx*2], cx
inc rdx
cmp rdx, r8
jl 0x18004a910
jmp 0x18004a929
xor esi, esi
mov r8d, dword [r15 + 4]
xor edx, edx
mov rcx, r15
call fcn.18004baa0
test ebx, ebx
jle 0x18004a958
mov r9d, ebx
mov r8, rdi
xor edx, edx
mov rcx, r15
call fcn.18004bb40
test al, al
je 0x18004a958
mov dword [r15 + 0x4c], ebx
mov byte [r15 + 0x5b], 0
test rdi, rdi
je 0x18004a965
mov rcx, rdi
call fcn.18002b310
cmp byte [rsp + 0x54], 0
je 0x18004a97c
mov edi, dword [rbp + 0x168]
test dil, 0x20
jne 0x18004aa0d
mov r10, qword [rbp + 0x150]
mov ebx, dword [rsp + 0x70]
test r12, r12
je 0x18004ac7c
test bl, bl
je 0x18004ac5a
xor eax, eax
mov dword [rbp - 8], 0x40000
mov qword [rbp + 8], rax
lea rcx, [rbp - 8]
mov eax, dword [rbp + 0x168]
xorps xmm0, xmm0
mov dword [rbp - 4], eax
lea eax, [r14 + 1]
cmp dword [rbp + 0x158], eax
movdqu xmmword [rbp + 0x20], xmm0
cmovge eax, dword [rbp + 0x158]
mov dword [rbp + 0x1c], eax
mov rax, qword [rbp + 0x178]
mov qword [rbp], rax
mov qword [rbp + 0x10], r10
mov dword [rbp + 0x18], r14d
call qword [rbp + 0x170]
mov ecx, dword [rbp + 0x1c]
mov r10, qword [rbp + 0x10]
mov qword [rbp + 0x150], r10
lea r14d, [rcx - 1]
cmp dword [rbp + 0x18], r14d
cmovl r14d, dword [rbp + 0x18]
jmp 0x18004ac60
mov edi, dword [rbp + 0x168]
cmp byte [rsp + 0x58], 0
jne 0x18004aa41
mov edx, dword [r15 + 0x10]
lea rcx, [r15 + 0x20]
mov byte [r15 + 0x40], 1
lea edx, [rdx*4 + 1]
call fcn.18004dfa0
mov r8, qword [r15 + 0x18]
xor r9d, r9d
mov edx, dword [r15 + 0x20]
mov rcx, qword [r15 + 0x28]
call fcn.18002a200
test edi, 0x1c0
je 0x18004ac10
mov ebx, 0x16
test dil, 0x40
je 0x18004aa7a
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x18004aa7a
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004aa7a
mov eax, 0x40
mov ebx, esi
jmp 0x18004aad5
test dil, dil
jns 0x18004aac9
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18004aaa4
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004aaa4
mov eax, 0x80
mov ebx, 3
jmp 0x18004aad5
mov rax, qword [0x18006a120]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x18004aac9
mov dl, 1
call fcn.18002a730
test al, al
je 0x18004aac9
mov eax, 0x80
mov ebx, 4
jmp 0x18004aad5
mov ecx, 0x100
mov eax, esi
test ecx, edi
cmovne eax, ecx
test eax, eax
je 0x18004ac10
mov dword [rbp - 8], eax
mov rax, qword [rbp + 0x178]
mov qword [rbp], rax
mov rax, qword [r15 + 0x28]
mov qword [rbp + 0x10], rax
mov eax, dword [r15 + 8]
mov dword [rbp + 0x18], eax
mov eax, dword [r15 + 0x44]
mov dword [rbp + 0x1c], eax
movsxd rax, dword [r15 + 0x4c]
mov dword [rbp + 0xc], ebx
mov rbx, qword [r15 + 0x18]
mov rcx, rbx
mov dword [rbp + 8], esi
mov word [rbp + 0x21], si
mov byte [rbp + 0x23], 0
lea rdx, [rbx + rax*2]
mov dword [rbp - 4], edi
mov byte [rbp + 0x20], 0
call fcn.180029ec0
movsxd rdx, dword [r15 + 0x50]
mov rcx, rbx
mov edi, eax
mov dword [rbp + 0x24], eax
lea rdx, [rbx + rdx*2]
call fcn.180029ec0
movsxd rdx, dword [r15 + 0x54]
mov rcx, rbx
mov esi, eax
mov dword [rbp + 0x28], eax
lea rdx, [rbx + rdx*2]
call fcn.180029ec0
lea rcx, [rbp - 8]
mov dword [rbp + 0x2c], eax
mov ebx, eax
call qword [rbp + 0x170]
movsxd rcx, dword [rbp + 0x24]
cmp ecx, edi
je 0x18004ab86
mov rdx, rcx
mov rcx, qword [rbp + 0x10]
add rdx, rcx
call fcn.180029c50
mov dword [r15 + 0x4c], eax
mov byte [r15 + 0xe74], 1
movsxd rax, dword [rbp + 0x28]
cmp eax, esi
je 0x18004ab9f
mov rcx, qword [rbp + 0x10]
lea rdx, [rcx + rax]
call fcn.180029c50
mov dword [r15 + 0x50], eax
movsxd rax, dword [rbp + 0x2c]
cmp eax, ebx
je 0x18004abb8
mov rcx, qword [rbp + 0x10]
lea rdx, [rcx + rax]
call fcn.180029c50
mov dword [r15 + 0x54], eax
cmp byte [rbp + 0x20], 0
mov ebx, dword [rsp + 0x70]
je 0x18004ac14
mov edx, dword [rbp + 0x18]
mov eax, dword [rbp - 0x28]
cmp edx, eax
jle 0x18004abdd
test bl, bl
je 0x18004abdd
lea rcx, [r15 + 0x10]
sub edx, eax
add edx, dword [rcx]
call fcn.18003b770
mov r8, qword [rbp + 0x10]
xor eax, eax
mov edx, dword [r15 + 0x10]
xor r9d, r9d
mov rcx, qword [r15 + 0x18]
mov qword [rsp + 0x20], rax
call fcn.180029f60
mov dword [r15 + 4], eax
mov eax, dword [rbp + 0x18]
mov dword [r15 + 8], eax
mov dword [r15 + 0xe70], 0xbe99999a
jmp 0x18004ac14
mov ebx, dword [rsp + 0x70]
cmp byte [rsp + 0x58], 0
mov r10, qword [rbp + 0x150]
jne 0x18004a987
mov r9, qword [r15 + 0x28]
mov r8, r10
mov rax, r9
sub r8, r9
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18004ac46
inc rax
test ecx, ecx
jne 0x18004ac33
test edx, edx
je 0x18004a987
mov r14d, dword [r15 + 8]
mov r12, r9
jmp 0x18004a987
mov ecx, dword [rbp + 0x158]
lea eax, [r14 + 1]
mov rdx, r12
cmp eax, ecx
cmovl ecx, eax
movsxd r8, ecx
mov rcx, r10
call fcn.180029a70
mov byte [rsp + 0x7b], 1
mov ebx, dword [rsp + 0x68]
xor eax, eax
mov dword [r15 + 0xe78], eax
mov qword [r15 + 0xe80], rax
mov qword [r15 + 0xe88], rax
cmp byte [rsp + 0x5c], 0
je 0x18004acac
cmp dword [r13 + 0x1b38], ebx
jne 0x18004acac
call fcn.180026510
mov r11d, dword [rsp + 0x60]
mov r12d, 1
movaps xmmword [rsp + 0x1a0], xmm10
test r11b, r11b
jne 0x18004ad5f
mov r8d, r12d
lea rcx, [rbp - 0x58]
mov edx, ebx
call fcn.18002ffb0
movss xmm10, dword [0x18005b36c]
mov ecx, 0x10
movss xmm6, dword [r13 + 0x1598]
movaps xmm1, xmm10
call fcn.180028e90
mov rdx, qword [rbp - 0x50]
movzx r9d, r12b
mov rcx, qword [rbp - 0x58]
mov r8d, eax
movss dword [rsp + 0x20], xmm6
call fcn.18002fe00
movss xmm3, dword [rbp - 0x58]
movss xmm2, dword [rbp - 0x54]
movaps xmm0, xmm3
mov r11d, dword [rsp + 0x60]
addss xmm0, xmm11
mov r14, qword [rbp - 0x78]
movaps xmm1, xmm2
movss dword [rbp - 0x38], xmm3
addss xmm1, xmm12
movss dword [rbp - 0x34], xmm2
movss dword [rbp - 0x30], xmm0
movaps xmm0, xmm2
movss dword [rbp - 0x2c], xmm1
addss xmm0, dword [r13 + 0x1594]
addss xmm3, dword [r13 + 0x1590]
jmp 0x18004adac
movss xmm1, dword [rbp - 0x58]
movaps xmm0, xmm11
movss xmm2, dword [rbp - 0x54]
addss xmm0, xmm1
mov r14, qword [rbp - 0x78]
movss xmm10, dword [0x18005b36c]
movss dword [rbp - 0x38], xmm1
movaps xmm1, xmm2
movss dword [rbp - 0x34], xmm2
addss xmm1, xmm12
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss xmm3, dword [r14 + 0xd0]
movss xmm0, dword [r14 + 0xd4]
cmp byte [rsp + 0x7a], 0
movss dword [rbp - 0x70], xmm3
movss dword [rbp - 0x6c], xmm0
movss dword [rsp + 0x70], xmm15
movss dword [rsp + 0x74], xmm15
je 0x18004add8
mov rbx, qword [r15 + 0x28]
mov qword [rbp + 0x150], rbx
jmp 0x18004addf
mov rbx, qword [rbp + 0x150]
movzx esi, byte [rsp + 0x52]
xor edx, edx
mov qword [rbp - 0x68], rdx
mov edi, edx
test sil, sil
je 0x18004ae1f
mov rax, qword [rbp + 0x148]
mov rdi, 0xffffffffffffffff
mov rbx, rax
mov qword [rbp + 0x150], rax
nop dword [rax]
inc rdi
cmp byte [rax + rdi], dl
jne 0x18004ae10
add rdi, rax
mov qword [rbp - 0x68], rdi
movzx eax, byte [rsp + 0x51]
mov ecx, dword [rsp + 0x6c]
movaps xmmword [rsp + 0x1b0], xmm9
test al, al
jne 0x18004af44
test cl, cl
jne 0x18004af44
test r11b, r11b
je 0x18004aea5
mov ecx, edx
lea rdi, [rbx + 1]
movzx edx, byte [rbx]
test dl, dl
je 0x18004ae75
nop dword [rax]
nop word [rax + rax]
cmp dl, 0xa
lea eax, [rcx + 1]
movzx edx, byte [rdi]
cmovne eax, ecx
inc rdi
mov ecx, eax
test dl, dl
jne 0x18004ae60
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0xa
je 0x18004ae86
cmp al, 0xd
je 0x18004ae86
inc ecx
movd xmm9, ecx
movaps xmm6, xmm11
cvtdq2ps xmm9, xmm9
mulss xmm9, dword [r13 + 0x19a8]
movss dword [rsp + 0x74], xmm9
jmp 0x18004aee7
test sil, sil
jne 0x18004aecf
mov eax, dword [rsp + 0x68]
cmp dword [r13 + 0x1b38], eax
jne 0x18004aebd
movsxd rdi, dword [r15 + 8]
jmp 0x18004aecc
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rbx + rdi], dl
jne 0x18004aec4
add rdi, rbx
mov rax, rdi
sub rax, rbx
cmp rax, 0x200000
jge 0x18004b7cd
movss xmm6, dword [rsp + 0x70]
mov ecx, esi
movaps xmm1, xmm10
call fcn.180028e90
cmp byte [rsp + 0x60], 0
lea rdx, [rbp - 0x38]
movss xmm2, dword [r13 + 0x19a8]
lea r9, [rbp - 0x70]
mov rcx, qword [r14 + 0x2b0]
mov r8d, 0
cmovne rdx, r8
mov qword [rsp + 0x40], rdx
mov rdx, qword [r13 + 0x19a0]
movss dword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
call fcn.1800371d0
jmp 0x18004b721
movaps xmmword [rsp + 0x170], xmm13
test sil, sil
jne 0x18004af5d
movsxd rdi, dword [r15 + 8]
add rdi, rbx
mov qword [rbp - 0x68], rdi
mov r10, qword [r15 + 0x18]
mov r8d, 0xfffffc18
mov qword [rbp - 0x48], r10
mov r14d, r8d
mov qword [rbp - 0x20], rdx
movaps xmm7, xmm15
movaps xmm6, xmm15
mov rsi, rdx
mov r9, rdx
test al, al
je 0x18004af95
movsxd rax, dword [r15 + 0x4c]
mov r8d, 0xffffffff
mov edx, r12d
lea rsi, [r10 + rax*2]
test cl, cl
je 0x18004afb9
mov ecx, dword [r15 + 0x54]
mov r14d, 0xffffffff
cmp dword [r15 + 0x50], ecx
cmovl ecx, dword [r15 + 0x50]
inc edx
movsxd rax, ecx
lea r9, [r10 + rax*2]
mov qword [rbp - 0x20], r9
movzx ecx, word [r10]
movzx eax, r11b
add edx, eax
xor eax, eax
mov ebx, eax
mov rax, r10
test cx, cx
je 0x18004b00d
nop
cmp cx, 0xa
jne 0x18004b000
inc ebx
cmp r8d, 0xffffffff
jne 0x18004afec
cmp rax, rsi
jb 0x18004afec
dec edx
mov r8d, ebx
test edx, edx
jle 0x18004b00d
cmp r14d, 0xffffffff
jne 0x18004b000
cmp rax, r9
jb 0x18004b000
dec edx
mov r14d, ebx
test edx, edx
jle 0x18004b00d
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x18004afd0
inc ebx
mov rdx, r10
cmp r8d, 0xffffffff
mov r12d, ebx
mov rcx, rsi
cmovne r12d, r8d
cmp r14d, 0xffffffff
cmove r14d, ebx
call fcn.180029a50
mov rcx, qword [0x18006a120]
mov rdx, rax
movss dword [rbp - 0x80], xmm15
movaps xmm13, xmm15
movaps xmm1, xmm15
mov r8, qword [rcx + 0x19a0]
movss xmm2, dword [rcx + 0x19a8]
divss xmm2, dword [r8 + 0x14]
cmp rax, rsi
jae 0x18004b0b4
nop
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18004b077
maxss xmm13, xmm1
movaps xmm1, xmm15
jmp 0x18004b09a
cmp ecx, 0xd
je 0x18004b09a
cmp ecx, dword [r8]
jge 0x18004b08c
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18004b092
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rdx, rsi
jb 0x18004b060
comiss xmm13, xmm1
movss dword [rbp - 0x80], xmm13
jae 0x18004b0b4
movss dword [rbp - 0x80], xmm1
movaps xmm13, xmm1
movss xmm0, dword [r13 + 0x19a8]
movd xmm8, r12d
mov r12, qword [rbp - 0x48]
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm0
movss dword [rbp - 0x28], xmm8
test r14d, r14d
js 0x18004b17b
mov rsi, qword [rbp - 0x20]
mov rdx, r12
mov rcx, rsi
call fcn.180029a50
mov rcx, qword [0x18006a120]
mov rdx, rax
movaps xmm6, xmm15
movaps xmm1, xmm15
mov r8, qword [rcx + 0x19a0]
movss xmm2, dword [rcx + 0x19a8]
divss xmm2, dword [r8 + 0x14]
cmp rax, rsi
jae 0x18004b166
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x18004b136
maxss xmm6, xmm1
movaps xmm1, xmm15
jmp 0x18004b159
cmp ecx, 0xd
je 0x18004b159
cmp ecx, dword [r8]
jge 0x18004b14b
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18004b151
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rdx, rsi
jb 0x18004b120
comiss xmm6, xmm1
jae 0x18004b166
movaps xmm6, xmm1
movss xmm0, dword [r13 + 0x19a8]
movd xmm7, r14d
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
mov edx, dword [rsp + 0x60]
test dl, dl
je 0x18004b19f
movd xmm9, ebx
cvtdq2ps xmm9, xmm9
movss dword [rsp + 0x70], xmm11
mulss xmm9, xmm0
movss dword [rsp + 0x74], xmm9
movzx r14d, byte [rsp + 0x51]
test r14b, r14b
je 0x18004b279
cmp byte [r15 + 0xe74], 0
je 0x18004b279
test dword [rbp + 0x168], 0x1000
jne 0x18004b221
movss xmm2, dword [r15 + 0x48]
movaps xmm1, xmm11
comiss xmm13, xmm2
mulss xmm1, dword [0x18005b338]
movaps xmm0, xmm13
jae 0x18004b200
subss xmm0, xmm1
maxss xmm0, xmm15
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x48], xmm0
jmp 0x18004b227
subss xmm0, xmm11
comiss xmm0, xmm2
jb 0x18004b227
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x48], xmm0
jmp 0x18004b227
xor eax, eax
mov dword [r15 + 0x48], eax
test dl, dl
je 0x18004b271
mov rax, qword [rbp - 0x78]
movaps xmm1, xmm8
subss xmm1, dword [r13 + 0x19a8]
movss xmm2, dword [rax + 0x58]
comiss xmm1, xmm2
jae 0x18004b24d
maxss xmm1, xmm15
jmp 0x18004b25a
movaps xmm1, xmm8
subss xmm1, xmm12
maxss xmm1, xmm2
movss xmm0, dword [rbp - 0x6c]
subss xmm2, xmm1
addss xmm0, xmm2
movss dword [rbp - 0x6c], xmm0
movss dword [rax + 0x58], xmm1
mov byte [r15 + 0xe74], 0
cmp byte [rsp + 0x6c], 0
movss xmm12, dword [r15 + 0x48]
je 0x18004b504
mov edx, dword [r15 + 0x54]
mov eax, edx
mov ecx, dword [r15 + 0x50]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea rbx, [r12 + rax*2]
movsxd rax, edx
lea rsi, [r12 + rax*2]
test r14b, r14b
je 0x18004b2b4
movaps xmm1, xmm10
jmp 0x18004b2bc
movss xmm1, dword [0x18005b354]
mov ecx, 0x33
call fcn.180028e90
cmp byte [rsp + 0x60], 0
mov r14d, eax
je 0x18004b2d6
movaps xmm14, xmm15
jmp 0x18004b2e8
movss xmm14, dword [0x18005b44c]
movss xmm15, dword [0x18005b3a0]
movss xmm11, dword [rbp - 0x70]
movaps xmm3, xmm11
addss xmm3, xmm6
movss xmm6, dword [rbp - 0x6c]
addss xmm6, xmm7
subss xmm3, xmm12
cmp rbx, rsi
jae 0x18004b4f1
movss xmm7, dword [rbp - 0x2c]
xorps xmm13, xmm13
movss xmm9, dword [rbp - 0x30]
movss xmm8, dword [rbp - 0x34]
movss xmm10, dword [rbp - 0x38]
mov rdi, qword [rbp - 0x78]
nop dword [rax]
movaps xmm0, xmm7
addss xmm0, dword [r13 + 0x19a8]
comiss xmm6, xmm0
ja 0x18004b4e1
comiss xmm6, xmm8
jae 0x18004b36f
cmp rbx, rsi
jae 0x18004b4c6
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x18004b4c6
cmp rbx, rsi
jb 0x18004b354
jmp 0x18004b4e1
mov rax, qword [0x18006a120]
movaps xmm5, xmm13
movaps xmm1, xmm13
mov rdx, qword [rax + 0x19a0]
movss xmm2, dword [rax + 0x19a8]
divss xmm2, dword [rdx + 0x14]
cmp rbx, rsi
jae 0x18004b3e0
nop word [rax + rax]
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x18004b3d4
cmp ecx, 0xd
je 0x18004b3cd
cmp ecx, dword [rdx]
jge 0x18004b3c0
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x18004b3c5
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rsi
jb 0x18004b3a0
jmp 0x18004b3e0
movaps xmm5, xmm1
movaps xmm1, xmm13
maxss xmm5, xmm13
maxss xmm5, xmm1
comiss xmm5, xmm13
ja 0x18004b41c
mov rax, qword [r13 + 0x19a0]
cmp dword [rax], 0x20
jle 0x18004b404
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x18004b409
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x18005b350]
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movaps xmm0, xmm14
addss xmm5, xmm3
subss xmm0, dword [r13 + 0x19a8]
movaps xmm1, xmm15
movaps xmm2, xmm8
addss xmm1, xmm6
movaps xmm4, xmm10
maxss xmm4, xmm3
movaps xmm3, xmm9
minss xmm3, xmm5
addss xmm0, xmm6
movss dword [rbp - 0x48], xmm4
movss dword [rbp - 0x40], xmm3
maxss xmm2, xmm0
movaps xmm0, xmm7
minss xmm0, xmm1
movss dword [rbp - 0x44], xmm2
comiss xmm8, xmm0
movss dword [rbp - 0x3c], xmm0
jae 0x18004b4c6
comiss xmm7, xmm2
jbe 0x18004b4c6
comiss xmm10, xmm3
jae 0x18004b4c6
comiss xmm9, xmm4
jbe 0x18004b4c6
mov rcx, qword [rdi + 0x2b0]
lea r8, [rbp - 0x40]
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x48]
mov r9d, r14d
movss dword [rsp + 0x20], xmm13
call fcn.180037030
movss xmm7, dword [rbp - 0x2c]
movss xmm9, dword [rbp - 0x30]
movss xmm8, dword [rbp - 0x34]
movss xmm10, dword [rbp - 0x38]
movss xmm11, dword [rbp - 0x70]
movaps xmm3, xmm11
subss xmm3, xmm12
addss xmm6, dword [r13 + 0x19a8]
cmp rbx, rsi
jb 0x18004b330
movss xmm13, dword [rbp - 0x80]
movss xmm8, dword [rbp - 0x28]
mov rdi, qword [rbp - 0x68]
movzx r14d, byte [rsp + 0x51]
xorps xmm15, xmm15
movss xmm14, dword [0x18005b350]
mov ebx, dword [rsp + 0x60]
test bl, bl
jne 0x18004b522
mov rax, rdi
sub rax, qword [rbp + 0x150]
cmp rax, 0x200000
jge 0x18004b5ac
movzx esi, byte [rsp + 0x52]
movss xmm9, dword [0x18005b36c]
mov ecx, esi
movaps xmm1, xmm9
call fcn.180028e90
movss xmm0, dword [rbp - 0x70]
lea rcx, [rbp - 0x38]
mov r12, qword [rbp - 0x78]
subss xmm0, xmm12
movss xmm2, dword [r13 + 0x19a8]
lea r9, [rbp - 0x48]
mov rdx, qword [r13 + 0x19a0]
test bl, bl
mov rbx, qword [rbp + 0x150]
mov r8d, 0
cmovne rcx, r8
mov qword [rsp + 0x40], rcx
mov rcx, qword [r12 + 0x2b0]
movss dword [rsp + 0x38], xmm15
movss dword [rbp - 0x48], xmm0
movss xmm0, dword [rbp - 0x6c]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbx
movss dword [rbp - 0x44], xmm0
mov dword [rsp + 0x20], eax
call fcn.1800371d0
jmp 0x18004b5c5
movss xmm9, dword [0x18005b36c]
mov rbx, qword [rbp + 0x150]
movzx esi, byte [rsp + 0x52]
mov r12, qword [rbp - 0x78]
test r14b, r14b
je 0x18004b709
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [r15 + 0xe70]
movss dword [r15 + 0xe70], xmm0
cmp byte [r13 + 0xca], 0
je 0x18004b610
comiss xmm0, xmm15
jbe 0x18004b610
movss xmm1, dword [0x180060590]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
comiss xmm0, dword [0x18005b360]
jbe 0x18004b610
xor al, al
jmp 0x18004b612
mov al, 1
movss xmm7, dword [rbp - 0x6c]
movss xmm6, dword [rbp - 0x70]
addss xmm7, xmm8
addss xmm6, xmm13
movaps xmm1, xmm7
movaps xmm2, xmm7
subss xmm6, xmm12
subss xmm1, dword [r13 + 0x19a8]
subss xmm2, dword [0x18005b384]
movss dword [rbp - 0x20], xmm6
movaps xmm3, xmm6
addss xmm1, xmm14
movss dword [rbp - 0x14], xmm2
addss xmm3, xmm9
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x18], xmm3
test al, al
je 0x18004b6d0
movss xmm0, dword [rbp - 0x34]
comiss xmm0, xmm2
jae 0x18004b6d0
movss xmm0, dword [rbp - 0x2c]
comiss xmm0, xmm1
jbe 0x18004b6d0
movss xmm0, dword [rbp - 0x38]
comiss xmm0, xmm3
jae 0x18004b6d0
movss xmm0, dword [rbp - 0x30]
comiss xmm0, xmm6
jbe 0x18004b6d0
mov rbx, qword [r12 + 0x2b0]
movaps xmm1, xmm9
xor ecx, ecx
call fcn.180028e90
movss xmm0, dword [rbp - 0x20]
lea r8, [rbp - 0x48]
movss xmm1, dword [rbp - 0x14]
lea rdx, [rbp - 0x20]
mov r9d, eax
movss dword [rbp - 0x48], xmm0
mov rcx, rbx
movss dword [rbp - 0x44], xmm1
movss dword [rsp + 0x20], xmm9
call fcn.1800360f0
cmp byte [rsp + 0x58], 0
movss xmm8, dword [0x18005b44c]
mov rbx, qword [rbp + 0x150]
jne 0x18004b712
subss xmm7, dword [r13 + 0x19a8]
subss xmm6, xmm9
movss dword [r13 + 0x2fc4], xmm7
movss dword [r13 + 0x2fc0], xmm6
jmp 0x18004b712
movss xmm8, dword [0x18005b44c]
movss xmm6, dword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x170]
cmp byte [rsp + 0x60], 0
je 0x18004b7c8
mov rcx, qword [0x18006a120]
movss xmm0, dword [rsp + 0x74]
addss xmm0, dword [r13 + 0x19a8]
movss dword [rbp - 0x78], xmm6
movss dword [rbp - 0x74], xmm0
mov rax, qword [rcx + 0x1af0]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1af0]
cmp byte [rax + 0x83], 0
jne 0x18004b7be
movss xmm0, dword [rax + 0xd0]
lea rcx, [rbp - 0x78]
movss xmm2, dword [rbp - 0x74]
movaps xmm3, xmm0
addss xmm2, dword [rax + 0xd4]
addss xmm3, dword [rbp - 0x78]
movss dword [rbp - 0x48], xmm0
movaps xmm1, xmm8
movss xmm0, dword [rax + 0xd4]
movss dword [rbp - 0x44], xmm0
movss dword [rbp - 0x3c], xmm2
movss dword [rbp - 0x40], xmm3
call fcn.18002ac90
xor r8d, r8d
lea rcx, [rbp - 0x48]
xor edx, edx
call fcn.18002a9c0
call fcn.180027200
call fcn.180027740
movss xmm2, dword [rbp - 0x54]
mov eax, dword [rbp - 0x60]
movaps xmm14, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1b0]
mov r12, qword [rsp + 0x1f8]
test al, al
je 0x18004b809
test sil, sil
jne 0x18004b809
call fcn.18002ee70
movss xmm2, dword [rbp - 0x54]
mov eax, dword [rbp - 0x60]
cmp byte [r13 + 0x3008], 0
je 0x18004b830
test al, al
je 0x18004b81c
test sil, sil
je 0x18004b830
mov r8, rdi
lea rcx, [rbp - 0x70]
mov rdx, rbx
call fcn.18002b060
movss xmm2, dword [rbp - 0x54]
movss xmm0, dword [rbp + 0x30]
comiss xmm0, xmm15
jbe 0x18004b86c
movss xmm0, dword [rbp - 0x50]
mov r9b, 1
addss xmm0, dword [r13 + 0x15a8]
addss xmm2, dword [r13 + 0x1594]
mov rdx, qword [rbp + 0x140]
xor r8d, r8d
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.180030240
movzx edi, byte [rsp + 0x7b]
mov ebx, dword [rbp + 0x168]
test dil, dil
je 0x18004b88b
bt ebx, 0x15
jb 0x18004b88b
mov ecx, dword [rsp + 0x68]
call fcn.18002b2d0
movzx ecx, byte [rsp + 0x54]
test bl, 0x20
mov eax, edi
cmovne eax, ecx
jmp 0x180049223