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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x240
lea rbp, [rsp + 0xc0]
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x1b8], rsi
mov qword [rbp + 0x1c0], rdi
movaps xmmword [rbp + 0x170], xmm6
movaps xmmword [rbp + 0x160], xmm7
movaps xmmword [rbp + 0x150], xmm8
mov rax, qword [0x18025cbc0]
xor rax, rbp
mov qword [rbp + 0x140], rax
mov r14d, dword [rcx + 0xc]
xor r12d, r12d
mov r15d, dword [rcx + 0x10]
mov edi, r8d
mov dword [rbp + 0x90], r12d
mov rbx, rdx
mov dword [rbp + 0x94], r12d
mov rsi, rcx
mov dword [rbp + 0x40], r12d
mov qword [rbp + 0xb8], r9
mov dword [rbp + 0x18], r8d
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0x5c], r14d
mov dword [rbp + 0x10], r15d
call fcn.18011b790
mov r13, qword [rsi]
mov r8d, dword [rbp + 0x1d0]
imul r8d, dword [rsi + 0x14]
mov qword [rbp + 0x50], r13
mov ecx, dword [r13 + 4]
mov rax, qword [r13 + 0x20]
mov edx, dword [r13 + 8]
mov qword [rbp + 0xc0], rax
mov eax, dword [rsi + 0x18]
lea r9d, [rcx + 0x800]
mov dword [rbp + 4], eax
mov eax, dword [rsi + 0x1c]
mov dword [rbp + 8], eax
mov eax, r9d
imul eax, r14d
mov dword [rbp + 0x58], ecx
mov dword [rbp], edx
mov dword [rbp + 0x1d0], r8d
mov dword [rbp + 0xc], r12d
movsxd rcx, eax
lea eax, [r14 + r14*2]
shl eax, 3
mov r14d, r12d
cdqe
add rax, 0x1a
add rcx, rax
lea eax, [rdx + rdx]
mov edx, dword [r13 + 0x28]
lea r11, [rsi + rcx*4]
movsxd rcx, eax
mov qword [rbp + 0x28], r11
lea rax, [r11 + rcx*4]
mov qword [rbp + 0x30], rax
lea rax, [rax + rcx*4]
mov qword [rbp + 0x20], rax
lea rax, [rax + rcx*4]
mov qword [rbp + 0x78], rax
test edx, edx
js 0x180118a3e
mov edi, dword [r13 + 0x30]
mov ecx, r14d
mov eax, edi
shl eax, cl
cmp eax, r8d
je 0x180118a37
inc r14d
cmp r14d, edx
jle 0x180118a23
mov edi, dword [rbp + 0x18]
mov dword [rbp + 0xc], r14d
cmp r14d, edx
jg 0x18011a121
mov ecx, r14d
mov r12d, 1
shl r12d, cl
mov dword [rbp + 0xa8], r12d
cmp edi, 0x4fb
ja 0x18011a121
cmp qword [rbp + 0xb8], 0
je 0x18011a121
movsxd r10, dword [rbp + 0x5c]
mov eax, r12d
imul eax, dword [r13 + 0x30]
mov r8d, 0x800
xor edx, edx
mov qword [rbp + 0x88], r10
mov dword [rbp + 0x1c], eax
cdqe
sub r8, rax
xor edi, edi
nop dword [rax]
movsxd rax, edi
add edi, r9d
add rax, 0x1a
lea rcx, [rsi + rax*4]
lea rax, [rcx + r8*4]
mov qword [rbp + rdx*8 + 0xf8], rcx
mov qword [rbp + rdx*8 + 0xe8], rax
inc rdx
cmp rdx, r10
jl 0x180118aa0
mov eax, dword [r13 + 0xc]
mov ecx, dword [rbp + 8]
cmp ecx, eax
cmovg ecx, eax
mov dword [rbp + 0xd0], ecx
test rbx, rbx
je 0x18011a0c9
mov edi, dword [rbp + 0x18]
cmp edi, 1
jle 0x18011a0c9
cmp dword [rsi + 0x3c], 0
jne 0x180118afe
mov dword [rsi + 0x40], 0
mov r13, qword [rbp + 0x1d8]
test r13, r13
jne 0x180118b2e
mov r8d, edi
lea rcx, [rbp + 0x108]
mov rdx, rbx
call fcn.18011c0e0
mov r11, qword [rbp + 0x28]
lea r13, [rbp + 0x108]
mov qword [rbp + 0x1d8], r13
movsxd rbx, dword [rbp]
cmp r15d, 1
jne 0x180118c1c
xor r15d, r15d
mov r10d, r15d
cmp rbx, 4
jl 0x180118bf3
lea rax, [rbx*4]
mov r8, 0xfffffffffffffffc
sub r8, rax
lea rcx, [rbx + 2]
mov r9d, 4
lea rcx, [r11 + rcx*4]
sub r9, rax
mov rdx, rbx
lea rax, [rbx - 4]
mov rdi, 0xfffffffffffffffe
shr rax, 2
neg rdx
sub rdi, rbx
inc rax
lea r10, [rax*4]
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rcx + rdi*4]
movss xmm1, dword [rcx + r8]
maxss xmm0, dword [rcx - 8]
lea rcx, [rcx + 0x10]
movss dword [rcx + rdi*4 - 0x10], xmm0
movss xmm0, dword [rcx + rdx*4 - 0x10]
maxss xmm1, dword [rcx - 0x14]
movss dword [rcx + r8 - 0x10], xmm1
movss xmm1, dword [r9 + rcx - 0x10]
maxss xmm0, dword [rcx - 0x10]
movss dword [rcx + rdx*4 - 0x10], xmm0
maxss xmm1, dword [rcx - 0xc]
movss dword [r9 + rcx - 0x10], xmm1
sub rax, 1
jne 0x180118ba0
mov edi, dword [rbp + 0x18]
cmp r10, rbx
jge 0x180118c1f
mov rcx, rbx
lea rax, [r11 + r10*4]
sub rcx, r10
movss xmm0, dword [rax]
maxss xmm0, dword [rax + rbx*4]
lea rax, [rax + 4]
movss dword [rax - 4], xmm0
sub rcx, 1
jne 0x180118c02
jmp 0x180118c1f
xor r15d, r15d
mov ecx, dword [r13 + 0x20]
lea ebx, [rdi*8]
mov edi, dword [r13 + 0x18]
bsr eax, ecx
sub edi, eax
dec edi
cmp edi, ebx
jl 0x180118c4f
bsr eax, ecx
mov dword [rbp + 0x68], 1
mov edi, ebx
inc eax
add eax, ebx
mov dword [r13 + 0x18], eax
jmp 0x180118c7f
cmp edi, 1
jne 0x180118c7b
mov edx, 0xf
mov rcx, r13
call fcn.18011bfb0
mov ecx, dword [r13 + 0x20]
mov dword [rbp + 0x68], eax
test eax, eax
je 0x180118c7f
bsr eax, ecx
mov edi, ebx
inc eax
add eax, ebx
mov dword [r13 + 0x18], eax
jmp 0x180118c7f
mov dword [rbp + 0x68], r15d
cmp dword [rbp + 4], 0
xorps xmm8, xmm8
mov dword [rbp + 0x6c], r15d
mov dword [rbp + 0x70], r15d
mov r15d, 6
mov dword [rbp + 0x38], r15d
mov qword [rbp + 0xe0], 2
jne 0x180118d47
lea eax, [rdi + 0x10]
cmp eax, ebx
jg 0x180118d47
mov edx, 1
mov rcx, r13
call fcn.18011bfb0
test eax, eax
je 0x180118d3a
mov edx, r15d
mov rcx, r13
call fcn.18011c1d0
mov rcx, r13
mov edi, eax
lea edx, [rax + 4]
call fcn.18011c000
mov ecx, edi
lea edx, [rax - 1]
mov eax, 0x10
shl eax, cl
mov rcx, r13
add eax, edx
mov edx, 3
mov dword [rbp + 0x6c], eax
call fcn.18011c000
bsr ecx, dword [r13 + 0x20]
mov edi, eax
mov eax, dword [r13 + 0x18]
sub eax, ecx
cmp eax, ebx
jge 0x180118d25
mov r8d, 2
lea rdx, [0x180217690]
mov rcx, r13
call fcn.18011c080
mov dword [rbp + 0x70], eax
lea eax, [rdi + 1]
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm8, dword [0x180217ac8]
bsr eax, dword [r13 + 0x20]
mov edi, dword [r13 + 0x18]
sub edi, eax
dec edi
test r14d, r14d
jle 0x180118d7c
lea eax, [rdi + 3]
cmp eax, ebx
jg 0x180118d7c
mov edx, 3
mov rcx, r13
call fcn.18011bfb0
mov edi, dword [r13 + 0x18]
mov ecx, eax
mov dword [rbp + 0x14], eax
bsr eax, dword [r13 + 0x20]
sub edi, eax
dec edi
test ecx, ecx
je 0x180118d83
mov dword [rbp + 0x3c], r12d
jmp 0x180118d8a
mov dword [rbp + 0x14], 0
mov dword [rbp + 0x3c], 0
lea eax, [rdi + 3]
cmp eax, ebx
jg 0x180118db6
mov edx, 3
mov rcx, r13
call fcn.18011bfb0
movsxd r13, dword [rbp + 8]
mov r12d, eax
mov qword [rbp + 0x60], r13
mov dword [rbp + 0x48], eax
test eax, eax
jne 0x180118eeb
jmp 0x180118dc5
movsxd r13, dword [rbp + 8]
xor r12d, r12d
mov dword [rbp + 0x48], r12d
mov qword [rbp + 0x60], r13
mov edx, dword [rsi + 0x3c]
test edx, edx
je 0x180118eeb
movsxd rax, dword [rbp]
mov ebx, 2
movsxd r11, dword [rbp + 4]
movss xmm7, dword [0x180217ad4]
movss xmm5, dword [0x18015dfb0]
movss xmm6, dword [0x180217ad8]
lea r15, [rax*4]
mov rax, qword [rbp + 0x28]
mov r12, qword [rbp + 0x20]
lea r10, [rax + r11*4]
nop dword [rax]
mov ecx, r14d
mov r9d, edx
sar r9d, cl
xorps xmm4, xmm4
cmp r9d, 0xa
jle 0x180118e2b
mov edx, dword [rsi + 0x3c]
mov r9d, 0xa
test r14d, r14d
jne 0x180118e35
movaps xmm4, xmm7
jmp 0x180118e3e
cmp r14d, 1
jne 0x180118e3e
movaps xmm4, xmm5
cmp r11, r13
jge 0x180118eda
mov rdi, qword [rbp + 0x30]
mov r8, r12
sub rdi, r12
sub r8, rax
mov rdx, r13
mov rcx, r10
sub rdx, r11
nop dword [rax]
movss xmm1, dword [r8 + rcx]
lea rax, [r8 + rcx]
movss xmm3, dword [rdi + rax]
movss xmm2, dword [rcx]
movaps xmm0, xmm3
maxss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x180118eb2
subss xmm1, xmm2
xorps xmm0, xmm0
subss xmm3, xmm2
lea eax, [r9 + 1]
cvtsi2ss xmm0, eax
mulss xmm1, xmm5
maxss xmm3, xmm1
xorps xmm1, xmm1
mulss xmm0, xmm3
maxss xmm1, xmm0
movaps xmm0, xmm6
subss xmm2, xmm1
maxss xmm0, xmm2
jmp 0x180118ec1
movaps xmm0, xmm2
minss xmm0, xmm3
comiss xmm1, xmm0
ja 0x180118ec1
movaps xmm0, xmm1
subss xmm0, xmm4
movss dword [rcx], xmm0
add rcx, 4
sub rdx, 1
jne 0x180118e60
mov edx, dword [rsi + 0x3c]
mov rax, qword [rbp + 0x28]
add r10, r15
sub rbx, 1
jne 0x180118e10
mov r12d, dword [rbp + 0x48]
mov ecx, dword [rbp + 0x10]
mov rdi, qword [rbp + 0x1d8]
mov r9, qword [rbp + 0x28]
mov r8d, dword [rbp + 8]
mov edx, dword [rbp + 4]
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp + 0x50]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r12d
call fcn.180125200
movsxd rax, dword [rbp]
movabs rdx, 0xffffffffffffff0
lea rax, [rax*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180118f3e
mov rcx, rdx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
bsr eax, dword [rdi + 0x20]
mov esi, dword [rdi + 8]
sub rsp, rcx
mov edx, dword [rdi + 0x18]
mov r8d, 4
mov r10d, dword [rbp + 0x14]
sub edx, eax
shl esi, 3
mov eax, 2
test r10d, r10d
lea r13, [rsp + 0xc0]
mov qword [rbp + 0xd8], r13
cmovne r8d, eax
lea ecx, [rdx - 1]
test r14d, r14d
jle 0x180118f99
lea eax, [rdx + r8]
cmp eax, esi
ja 0x180118f99
mov r12d, 1
jmp 0x180118f9c
xor r12d, r12d
movsxd rdi, dword [rbp + 4]
sub esi, r12d
mov r9, qword [rbp + 0x60]
xor ebx, ebx
xor r15d, r15d
mov dword [rbp + 0x48], r12d
cmp rdi, r9
jge 0x18011900c
mov r12, qword [rbp + 0x1d8]
mov eax, r10d
neg eax
sbb r14d, r14d
lea eax, [r8 + rcx]
cmp eax, esi
ja 0x180118fef
mov edx, r8d
mov rcx, r12
call fcn.18011bfb0
mov ecx, dword [r12 + 0x18]
xor ebx, eax
bsr eax, dword [r12 + 0x20]
mov r9, qword [rbp + 0x60]
sub ecx, eax
dec ecx
or r15d, ebx
mov dword [r13 + rdi*4], ebx
lea r8d, [r14 + 5]
inc rdi
cmp rdi, r9
jl 0x180118fc4
mov r12d, dword [rbp + 0x48]
mov r14d, dword [rbp + 0xc]
mov r10d, dword [rbp + 0x14]
xor edi, edi
lea rbx, [0x180217b18]
test r12d, r12d
mov r12, qword [rbp + 0x1d8]
je 0x18011904c
lea eax, [r15 + r10*4]
movsxd rdx, r14d
movsxd rcx, eax
lea rcx, [rcx + rdx*8]
movzx eax, byte [rcx + rbx + 2]
cmp byte [rcx + rbx], al
je 0x18011904c
mov edx, 1
mov rcx, r12
call fcn.18011bfb0
mov r9, qword [rbp + 0x60]
mov edi, eax
movsxd rdx, dword [rbp + 4]
movsxd rcx, r14d
cmp rdx, r9
jge 0x18011908d
mov eax, dword [rbp + 0x14]
lea r8, [rcx*8]
lea eax, [rdi + rax*2]
lea edi, [rax + rax]
nop dword [rax]
mov eax, dword [r13 + rdx*4]
add eax, edi
cdqe
add rax, r8
movsx eax, byte [rax + rbx]
mov dword [r13 + rdx*4], eax
inc rdx
cmp rdx, r9
jl 0x180119070
bsr eax, dword [r12 + 0x20]
mov ecx, dword [r12 + 0x18]
mov r14d, 5
sub ecx, eax
mov dword [rbp + 0x48], 2
mov eax, dword [rbp + 0x18]
add ecx, 3
lea r13d, [rax*8]
cmp ecx, r13d
jg 0x1801190cf
mov r8d, r14d
lea rdx, [0x18021768c]
mov rcx, r12
call fcn.18011c080
mov dword [rbp + 0x48], eax
movsxd rax, dword [rbp]
movabs rbx, 0xffffffffffffff0
lea rdi, [rax*4]
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x1801190f1
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1801518f0
mov r15d, dword [rbp + 0xc]
sub rsp, rax
mov r9d, dword [rbp + 0x10]
mov r8d, r15d
mov rcx, qword [rbp + 0x50]
lea rsi, [rsp + 0xc0]
mov rdx, rsi
mov qword [rbp + 0xa0], rsi
call fcn.18011be80
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x18011912f
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1801518f0
sub rsp, rax
shl r13d, 3
mov rcx, r12
lea rbx, [rsp + 0xc0]
mov qword [rbp + 0x98], rbx
call fcn.18011ea50
movsxd r12, dword [rbp + 4]
mov r8d, eax
mov rdi, qword [rbp + 0x60]
mov qword [rbp + 0x80], r12
cmp r12, rdi
jge 0x18011926e
mov r15, rsi
lea r14, [rbx + r12*4]
sub r15, rbx
mov r9d, 0x30
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0xc0]
mov ecx, dword [rbp + 0xc]
movsx edx, word [rax + r12*2 + 2]
movsx eax, word [rax + r12*2]
sub edx, eax
imul edx, dword [rbp + 0x10]
shl edx, cl
mov ecx, dword [rbp + 0x38]
cmp edx, 0x30
mov esi, edx
cmovl esi, r9d
lea eax, [rdx*8]
mov edx, ecx
cmp eax, esi
cmovl esi, eax
xor ebx, ebx
lea eax, [r8 + rcx*8]
cmp eax, r13d
jge 0x180119225
mov r12, qword [rbp + 0x1d8]
nop dword [rax]
cmp ebx, dword [r15 + r14]
jge 0x180119211
mov rcx, r12
call fcn.18011bfb0
mov rcx, r12
mov edi, eax
call fcn.18011ea50
mov r8d, eax
test edi, edi
je 0x180119211
add ebx, esi
sub r13d, esi
add eax, 8
mov edx, 1
cmp eax, r13d
jl 0x1801191e0
mov r12, qword [rbp + 0x80]
mov r9d, 0x30
mov rdi, qword [rbp + 0x60]
mov ecx, dword [rbp + 0x38]
mov dword [r14], ebx
test ebx, ebx
jle 0x18011923f
lea eax, [rcx - 1]
mov ecx, eax
cmp eax, 2
mov eax, 2
cmovl ecx, eax
mov dword [rbp + 0x38], ecx
inc r12
add r14, 4
mov qword [rbp + 0x80], r12
cmp r12, rdi
jl 0x180119190
mov rbx, qword [rbp + 0x98]
mov r14d, 5
mov rsi, qword [rbp + 0xa0]
mov r15d, dword [rbp + 0xc]
movsxd rax, dword [rbp]
lea rax, [rax*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18011928d
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
sub rsp, rcx
lea eax, [r8 + 0x30]
lea rdi, [rsp + 0xc0]
mov qword [rbp + 0x98], rdi
cmp eax, r13d
jg 0x1801192d0
mov rcx, qword [rbp + 0x1d8]
lea rdx, [0x180217680]
mov r8d, 7
call fcn.18011c080
mov r14d, eax
mov rcx, qword [rbp + 0x1d8]
call fcn.18011ea50
mov edx, dword [rbp + 0x18]
shl edx, 6
sub edx, eax
dec edx
cmp dword [rbp + 0x14], 0
je 0x180119306
cmp r15d, 2
jl 0x180119306
lea eax, [r15*8 + 0x10]
cmp edx, eax
jl 0x180119306
mov r12d, 8
jmp 0x180119309
xor r12d, r12d
movsxd r8, dword [rbp]
movabs r9, 0xffffffffffffff0
lea rax, [r8*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18011932b
mov rcx, r9
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
sub rsp, rcx
lea rax, [r8*4]
lea rcx, [rax + 0xf]
lea r13, [rsp + 0xc0]
cmp rcx, rax
ja 0x180119356
mov rcx, r9
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
mov r8d, dword [rbp + 8]
sub rsp, rcx
xor ecx, ecx
sub edx, r12d
mov r9, rbx
mov dword [rsp + 0x90], ecx
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x80], ecx
mov rcx, qword [rbp + 0x1d8]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rbp + 0x50]
mov dword [rsp + 0x70], r15d
mov r15d, dword [rbp + 0x10]
mov dword [rsp + 0x68], r15d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r13
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x94]
mov dword [rsp + 0x40], edx
mov edx, dword [rbp + 4]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
call fcn.18011fae0
mov r9, qword [rbp + 0x28]
mov r8d, dword [rbp + 8]
mov edx, dword [rbp + 4]
mov rcx, qword [rbp + 0x50]
mov dword [rbp + 0x38], eax
mov rax, qword [rbp + 0x1d8]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.180125660
movsxd rcx, dword [rbp + 0x1c]
xor edi, edi
mov eax, dword [rbp + 0x58]
mov rsi, rcx
mov r14, qword [rbp + 0x88]
sub eax, ecx
add eax, 0x800
movsxd rbx, eax
shl rbx, 2
nop word [rax + rax]
mov rcx, qword [rbp + rdi*8 + 0xf8]
mov r8, rbx
lea rdx, [rcx + rsi*4]
call sub.VCRUNTIME140.dll_memmove
inc rdi
cmp rdi, r14
jl 0x180119450
mov edi, dword [rbp]
mov edx, r15d
imul edi, edx
movabs r8, 0xffffffffffffff0
movsxd rax, edi
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18011948e
mov rcx, r8
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
mov eax, dword [rbp + 0x1c]
sub rsp, rcx
imul eax, edx
lea r15, [rsp + 0xc0]
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1801194be
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.1801518f0
sub rsp, rax
lea r14, [rsp + 0xc0]
cmp edx, 2
jne 0x1801194dd
lea rdx, [r14 + rsi*4]
jmp 0x1801194df
xor edx, edx
mov rax, qword [rbp + 0xb0]
mov ecx, dword [rbp + 0x18]
mov r9d, dword [rbp + 8]
mov r8d, dword [rbp + 4]
lea rbx, [rax + 0x2c]
shl ecx, 6
lea rsi, [rax + 0x30]
sub ecx, r12d
mov eax, dword [rax + 0x24]
mov dword [rsp + 0xb0], eax
mov eax, dword [rbx]
mov dword [rsp + 0xa8], eax
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0x90], eax
mov eax, dword [rbp + 0xc]
mov dword [rsp + 0x88], eax
mov rax, qword [rbp + 0x1d8]
mov qword [rsp + 0x80], rax
mov eax, dword [rbp + 0xc8]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0xd8]
mov dword [rsp + 0x70], ecx
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x94]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x3c]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0x50]
mov qword [rsp + 0x20], r14
call fcn.180122720
test r12d, r12d
je 0x1801195c5
mov rcx, qword [rbp + 0x1d8]
mov edx, 1
call fcn.18011c000
mov dword [rbp + 0x40], eax
mov rax, qword [rbp + 0x1d8]
mov ecx, dword [rbp + 0x18]
mov r12, qword [rbp + 0x28]
mov r8d, dword [rbp + 8]
mov r9, r12
bsr edx, dword [rax + 0x20]
lea ecx, [rcx*8]
sub ecx, dword [rax + 0x18]
inc edx
add edx, ecx
mov ecx, dword [rbp + 0x10]
mov dword [rsp + 0x40], ecx
mov rcx, qword [rbp + 0xa0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edx
mov edx, dword [rbp + 4]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x98]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0x50]
call fcn.180125410
cmp dword [rbp + 0x40], 0
mov rax, rbx
je 0x180119692
mov eax, dword [rbx]
mov r8, r15
mov rcx, qword [rbp + 0x20]
mov rdx, r14
mov dword [rsp + 0x68], eax
mov eax, dword [rsi]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x58], r13
mov r13d, dword [rbp + 0x10]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rbp + 0x50]
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 8]
mov qword [rsp + 0x40], r12
mov r12d, dword [rbp + 0xc]
mov r9d, r12d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x1c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r13d
call fcn.180120b50
mov r15, qword [rbp + 0xb0]
lea rax, [r15 + 0x2c]
jmp 0x1801196a1
mov r12d, dword [rbp + 0xc]
mov r15, qword [rbp + 0xb0]
mov r13d, dword [rbp + 0x10]
mov esi, dword [rbp + 0x68]
test esi, esi
je 0x1801196c3
mov rbx, rax
test edi, edi
jle 0x1801196c3
movsxd rcx, edi
lea rbx, [r15 + 0x2c]
mov rdi, qword [rbp + 0x28]
mov rax, 0xffffffffc1e00000
rep stosd dword [rdi], eax
cmp dword [r15 + 0x5c], 0
je 0x1801196d5
mov edx, dword [rbp + 0x1c]
mov rcx, r15
call fcn.18011b400
mov eax, dword [rbx]
lea r8, [rbp + 0xe8]
mov r9, qword [rbp + 0x28]
mov rdx, r14
mov r14, qword [rbp + 0x50]
mov dword [rsp + 0x60], eax
mov rcx, r14
mov eax, dword [r15 + 0x14]
mov dword [rsp + 0x58], esi
mov esi, dword [rbp + 0x14]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x5c]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0xd0]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x20], eax
call fcn.18011a350
test r12d, r12d
mov r12, qword [rbp + 0x88]
je 0x180119838
mov r14d, dword [rbp + 0x70]
xor esi, esi
mov r13d, dword [rbp + 0x6c]
mov eax, dword [rbx]
mov r9d, 0xf
cmp dword [r15 + 0x44], r9d
mov r8d, 0xf
mov rcx, qword [rbp + 0x50]
cmovg r9d, dword [r15 + 0x44]
cmp dword [r15 + 0x48], r8d
movss xmm0, dword [r15 + 0x4c]
mov rdi, qword [rbp + rsi*8 + 0xe8]
movss xmm1, dword [r15 + 0x50]
mov rdx, rdi
cmovg r8d, dword [r15 + 0x48]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x50], eax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x48], rax
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0x40], eax
mov eax, dword [r15 + 0x58]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x30]
mov rcx, rdi
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm1
mov dword [rsp + 0x20], eax
mov dword [r15 + 0x44], r9d
mov dword [r15 + 0x48], r8d
call fcn.18011bab0
mov r8, qword [rbp + 0x50]
mov r9d, r13d
mov eax, dword [rbx]
mov edx, dword [rbp + 0x1c]
movss xmm0, dword [r15 + 0x4c]
movsxd rcx, dword [r8 + 0x30]
mov dword [rsp + 0x58], eax
sub edx, ecx
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x50], eax
mov rax, qword [r8 + 0x48]
lea rdi, [rdi + rcx*4]
mov r8d, dword [r15 + 0x44]
mov rcx, rdi
mov qword [rsp + 0x48], rax
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], eax
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], edx
mov rdx, rdi
call fcn.18011bab0
inc rsi
cmp rsi, r12
jl 0x180119744
mov r13d, dword [rbp + 0x10]
jmp 0x1801198c5
mov esi, dword [rbp + 0x58]
xor edi, edi
nop dword [rax]
mov eax, dword [rbx]
mov r9d, 0xf
cmp dword [r15 + 0x44], r9d
mov r8d, 0xf
movss xmm0, dword [r15 + 0x4c]
cmovg r9d, dword [r15 + 0x44]
cmp dword [r15 + 0x48], r8d
mov rcx, qword [rbp + rdi*8 + 0xe8]
movss xmm1, dword [r15 + 0x50]
mov rdx, rcx
cmovg r8d, dword [r15 + 0x48]
mov dword [rsp + 0x58], eax
mov rax, qword [r14 + 0x48]
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x48], rax
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0x40], eax
mov eax, dword [r15 + 0x58]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + 0x30]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm1
mov dword [r15 + 0x48], r8d
mov dword [rsp + 0x20], eax
mov dword [r15 + 0x44], r9d
call fcn.18011bab0
inc rdi
cmp rdi, r12
jl 0x180119840
mov eax, dword [r15 + 0x44]
mov r12d, dword [rbp + 0xc]
mov ecx, dword [rbp + 0x6c]
mov esi, dword [rbp + 0x14]
mov dword [r15 + 0x48], eax
mov eax, dword [r15 + 0x4c]
mov dword [r15 + 0x50], eax
mov eax, dword [r15 + 0x54]
mov dword [r15 + 0x58], eax
mov eax, dword [rbp + 0x70]
mov dword [r15 + 0x54], eax
movss dword [r15 + 0x4c], xmm8
mov dword [r15 + 0x44], ecx
test r12d, r12d
je 0x18011990b
movss dword [r15 + 0x50], xmm8
mov dword [r15 + 0x48], ecx
mov dword [r15 + 0x58], eax
cmp r13d, 1
mov r13, qword [rbp + 0x28]
jne 0x180119936
movsxd r14, dword [rbp]
mov rdx, r13
lea rcx, [r14*4]
add rcx, r13
lea r8, [r14*4]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x18011993a
mov r14d, dword [rbp]
mov r12, qword [rbp + 0x30]
lea edx, [r14 + r14]
test esi, esi
jne 0x18011997f
mov rsi, qword [rbp + 0x20]
movsxd r8, edx
mov rcx, rsi
mov rdx, r12
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memcpy
lea eax, [r14 + r14]
mov rdx, r13
movsxd r8, eax
mov rcx, r12
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x180119ae7
xor edi, edi
test edx, edx
jle 0x180119a30
cmp edx, 0x10
jb 0x180119a30
lea eax, [rdx - 1]
movsxd rcx, eax
lea rax, [rcx*4]
add rax, r13
lea r8, [r12 + rcx*4]
cmp r12, rax
ja 0x1801199b1
cmp r8, r13
jae 0x180119a30
mov ecx, edx
and ecx, 0x8000000f
jge 0x1801199c2
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, edx
xor r8d, r8d
sub eax, ecx
mov rcx, r13
movsxd r9, eax
sub rcx, r12
lea rax, [r12 + 0x10]
nop word [rax + rax]
movups xmm1, xmmword [rax - 0x10]
add edi, 0x10
add r8, 0x10
movups xmm0, xmmword [rcx + rax - 0x10]
lea rax, [rax + 0x40]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm2, xmmword [rax - 0x40]
minps xmm2, xmm0
movups xmm0, xmmword [rcx + rax - 0x30]
movups xmmword [rax - 0x40], xmm2
movups xmm1, xmmword [rax - 0x30]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rax - 0x20]
minps xmm1, xmm0
movups xmmword [rax - 0x20], xmm1
cmp r8, r9
jl 0x1801199e0
movsxd r8, edi
movsxd rdi, edx
cmp r8, rdi
jge 0x180119ae3
mov rax, rdi
sub rax, r8
cmp rax, 4
jl 0x180119abe
lea rax, [r8 + 1]
mov rdx, rdi
sub rdx, r8
lea rax, [r12 + rax*4]
sub rdx, 4
mov rcx, r13
shr rdx, 2
sub rcx, r12
inc rdx
lea r8, [r8 + rdx*4]
nop
movss xmm0, dword [rax - 4]
movss xmm1, dword [rax]
minss xmm0, dword [rcx + rax - 4]
lea rax, [rax + 0x10]
movss dword [rax - 0x14], xmm0
movss xmm0, dword [rax - 0xc]
minss xmm1, dword [rcx + rax - 0x10]
movss dword [rax - 0x10], xmm1
movss xmm1, dword [rax - 8]
minss xmm0, dword [rcx + rax - 0xc]
movss dword [rax - 0xc], xmm0
minss xmm1, dword [rcx + rax - 8]
movss dword [rax - 8], xmm1
sub rdx, 1
jne 0x180119a70
cmp r8, rdi
jge 0x180119ae3
mov rcx, r13
lea rax, [r12 + r8*4]
sub rcx, r12
sub rdi, r8
movss xmm0, dword [rax]
minss xmm0, dword [rax + rcx]
lea rax, [rax + 4]
movss dword [rax - 4], xmm0
sub rdi, 1
jne 0x180119acb
mov rsi, qword [rbp + 0x20]
mov ecx, dword [rbp + 0xa8]
lea edx, [r14 + r14]
add ecx, dword [r15 + 0x3c]
mov eax, 0xa0
mov r10, qword [rbp + 0x78]
cmp ecx, eax
cmovg ecx, eax
xor edi, edi
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x180173094]
movaps xmm3, xmm2
shufps xmm3, xmm3, 0
test edx, edx
jle 0x180119bdf
cmp edx, 0x10
jb 0x180119bdf
lea eax, [rdx - 1]
movsxd rcx, eax
lea rax, [rcx*4]
add rax, r13
lea r8, [r10 + rcx*4]
cmp r10, rax
ja 0x180119b4f
cmp r8, r13
jae 0x180119bdf
mov ecx, edx
and ecx, 0x8000000f
jge 0x180119b60
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, edx
xor r8d, r8d
sub eax, ecx
mov rcx, r13
movsxd r9, eax
sub rcx, r10
lea rax, [r10 + 0x10]
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rax - 0x10]
add edi, 0x10
add r8, 0x10
movaps xmm1, xmm3
addps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
minps xmm1, xmm0
movups xmmword [rax - 0x10], xmm1
movups xmm0, xmmword [rax]
movaps xmm1, xmm3
addps xmm1, xmm0
movups xmm0, xmmword [rcx + rax]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax + 0x10]
movups xmmword [rax], xmm1
movups xmm1, xmmword [rax + 0x10]
addps xmm1, xmm3
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rax + 0x20]
addps xmm1, xmm3
minps xmm1, xmm0
movups xmmword [rax + 0x20], xmm1
add rax, 0x40
cmp r8, r9
jl 0x180119b80
movsxd r8, edi
movsxd rcx, edx
cmp r8, rcx
jge 0x180119c9f
mov rax, rcx
sub rax, r8
cmp rax, 4
jl 0x180119c78
lea rax, [r8 + 1]
mov rdx, rcx
sub rdx, r8
lea rax, [r10 + rax*4]
sub rdx, 4
mov rdi, r13
shr rdx, 2
sub rdi, r10
inc rdx
lea r8, [r8 + rdx*4]
nop dword [rax]
movaps xmm0, xmm2
movaps xmm1, xmm2
addss xmm0, dword [rax - 4]
addss xmm1, dword [rax]
minss xmm0, dword [rdi + rax - 4]
movss dword [rax - 4], xmm0
movaps xmm0, xmm2
minss xmm1, dword [rdi + rax]
addss xmm0, dword [rax + 4]
movss dword [rax], xmm1
movaps xmm1, xmm2
minss xmm0, dword [rdi + rax + 4]
addss xmm1, dword [rax + 8]
movss dword [rax + 4], xmm0
minss xmm1, dword [rdi + rax + 8]
movss dword [rax + 8], xmm1
add rax, 0x10
sub rdx, 1
jne 0x180119c20
cmp r8, rcx
jge 0x180119c9f
mov rdx, r13
lea rax, [r10 + r8*4]
sub rdx, r10
sub rcx, r8
movaps xmm0, xmm2
addss xmm0, dword [rax]
minss xmm0, dword [rax + rdx]
movss dword [rax], xmm0
add rax, 4
sub rcx, 1
jne 0x180119c85
mov r11, qword [rbp + 0x30]
xor r8d, r8d
mov ecx, dword [rbp + 4]
sub r12, rsi
movsxd r9, dword [rbp + 8]
sub r13, rsi
movsxd rax, r14d
mov ebx, r14d
sub ebx, r9d
mov dword [rbp + 0x40], r8d
mov dword [rbp + 0x3c], ebx
mov qword [rbp + 0x78], r8
lea rax, [rax*4]
mov qword [rbp + 0x98], rax
lea eax, [rcx - 1]
movsxd rcx, eax
mov eax, dword [rbp]
sub r9, rcx
dec eax
shl r9, 2
cdqe
sub rax, rcx
mov qword [rbp + 0x60], r9
shl rax, 2
lea rdx, [rcx*4]
mov qword [rbp + 0xd8], rax
lea r14, [rdx + rsi]
sub rax, rsi
lea rdi, [rax + r11]
mov qword [rbp + 0x88], rdi
mov rdi, qword [rbp + 0x28]
add rax, rdi
mov qword [rbp + 0xa0], rax
mov rax, r9
sub rax, rsi
lea r10, [rax + rdi]
add rax, r11
mov qword [rbp + 0x80], rax
mov rax, r11
sub rax, rdx
mov qword [rbp + 0xa8], r10
sub rax, rsi
mov r11, rdi
mov rsi, rdx
mov qword [rbp + 0x48], rax
neg rsi
sub r11, rdx
sub r11, qword [rbp + 0x20]
mov qword [rbp + 0xc0], r11
mov qword [rbp + 0xd0], rsi
nop word [rax + rax]
mov edx, dword [rbp + 4]
xor r15d, r15d
test edx, edx
jle 0x180119e54
cmp edx, 4
jb 0x180119e54
lea rdx, [rax + r14]
cmp rdx, r14
ja 0x180119da1
lea rcx, [r14 + r12]
lea rax, [rsi + r14]
cmp rcx, rax
jae 0x180119e54
lea rdi, [r14 + r13]
cmp rdx, rdi
ja 0x180119dbb
lea rcx, [r14 + r12]
lea rax, [r11 + r14]
cmp rcx, rax
jae 0x180119e54
lea rax, [rsi + r14]
cmp rax, rdi
ja 0x180119dd1
lea rax, [r11 + r14]
cmp r14, rax
jae 0x180119e54
mov ecx, dword [rbp + 4]
mov eax, ecx
and eax, 0x80000003
jge 0x180119de4
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
add r15d, 4
cmp r15d, ecx
jl 0x180119de6
lea eax, [rcx + 3]
movsxd rbx, r8d
cdq
and edx, 3
add eax, edx
xor edx, edx
sar eax, 2
movsxd rsi, eax
mov rax, qword [rbp + 0x28]
shl rsi, 4
mov r8, rsi
and r8, 0xfffffffffffffffc
lea rcx, [rax + rbx*4]
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rbp + 0x20]
mov rcx, rsi
mov r11, qword [rbp + 0x30]
mov rax, 0xffffffffc1e00000
shr rcx, 2
shr rsi, 2
lea rdi, [r8 + rbx*4]
rep stosd dword [rdi], eax
lea rdi, [r11 + rbx*4]
mov rcx, rsi
rep stosd dword [rdi], eax
mov r9, qword [rbp + 0x60]
mov r10, qword [rbp + 0xa8]
mov ebx, dword [rbp + 0x3c]
jmp 0x180119e5c
mov r8, qword [rbp + 0x20]
mov r11, qword [rbp + 0x30]
movsxd rax, dword [rbp + 4]
movsxd rdx, r15d
mov rdi, rax
mov r15, qword [rbp + 0x78]
cmp rdx, rax
jge 0x180119eac
mov r13, qword [rbp + 0x28]
lea rax, [rdx + r15]
lea rcx, [r8 + rax*4]
mov r12, r11
mov rax, rdi
sub r13, r8
sub rax, rdx
sub r12, r8
xor edx, edx
nop dword [rax]
mov dword [rcx + r13], edx
mov dword [rcx], 0xc1e00000
mov dword [r12 + rcx], 0xc1e00000
lea rcx, [rcx + 4]
sub rax, 1
jne 0x180119e90
mov esi, dword [rbp + 8]
mov r11d, dword [rbp]
cmp esi, r11d
jge 0x180119f9e
cmp ebx, 4
jb 0x180119f9e
mov r8, qword [rbp + 0xd8]
mov rdi, qword [rbp + 0x80]
add r8, r14
mov r11, qword [rbp + 0x88]
add rdi, r14
cmp rdi, r8
ja 0x180119ef6
lea rcx, [r11 + r14]
lea rax, [r14 + r9]
cmp rcx, rax
jae 0x180119f9a
mov rdx, qword [rbp + 0xa0]
add rdx, r14
cmp rdi, rdx
ja 0x180119f16
lea rcx, [r10 + r14]
lea rax, [r11 + r14]
cmp rax, rcx
jae 0x180119f9a
lea rax, [r14 + r9]
cmp rax, rdx
ja 0x180119f28
lea rax, [r10 + r14]
cmp r8, rax
jae 0x180119f9a
mov eax, ebx
and eax, 0x80000003
jge 0x180119f38
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [rbp]
sub ecx, eax
nop dword [rax]
add esi, 4
cmp esi, ecx
jl 0x180119f40
sub ecx, dword [rbp + 8]
lea eax, [rcx + 3]
cdq
lea rcx, [r10 + r14]
and edx, 3
add eax, edx
xor edx, edx
sar eax, 2
movsxd rbx, eax
shl rbx, 4
mov r8, rbx
and r8, 0xfffffffffffffffc
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rbp + 0x60]
mov rcx, rbx
shr rcx, 2
mov rax, 0xffffffffc1e00000
shr rbx, 2
lea rdi, [r14 + r9]
rep stosd dword [rdi], eax
mov rdi, qword [rbp + 0x80]
mov rcx, rbx
add rdi, r14
rep stosd dword [rdi], eax
mov r11d, dword [rbp]
movsxd r8, dword [rbp]
movsxd rdx, esi
cmp rdx, r8
jge 0x180119fec
mov rdi, qword [rbp + 0x20]
lea rax, [rdx + r15]
mov r13, qword [rbp + 0x28]
mov r12, qword [rbp + 0x30]
sub r13, rdi
sub r12, rdi
lea rcx, [rdi + rax*4]
mov rax, r8
sub rax, rdx
xor edx, edx
nop dword [rax]
mov dword [rcx + r13], edx
mov dword [rcx], 0xc1e00000
mov dword [r12 + rcx], 0xc1e00000
lea rcx, [rcx + 4]
sub rax, 1
jne 0x180119fd0
mov r8d, dword [rbp + 0x40]
add r14, qword [rbp + 0x98]
add r8d, r11d
mov r10, qword [rbp + 0xa8]
mov ebx, dword [rbp + 0x3c]
mov rsi, qword [rbp + 0xd0]
movsxd rax, r11d
mov r11, qword [rbp + 0xc0]
add r15, rax
sub qword [rbp + 0xe0], 1
mov rax, qword [rbp + 0x48]
mov dword [rbp + 0x40], r8d
mov qword [rbp + 0x78], r15
jne 0x180119d70
mov rdi, qword [rbp + 0xb0]
mov rbx, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x50]
mov r9d, dword [rbp + 0x5c]
add rdx, 0x10
mov r8d, dword [rbp + 0x1c]
lea rcx, [rdi + 0x60]
mov eax, dword [rbx + 0x20]
mov dword [rdi + 0x30], eax
mov eax, dword [rbp + 0x1e0]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0x14]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.18011aa10
mov ecx, dword [rbx + 0x18]
xor eax, eax
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x5c], eax
bsr eax, dword [rbx + 0x20]
sub ecx, eax
mov eax, dword [rbp + 0x18]
dec ecx
lea eax, [rax*8]
cmp ecx, eax
jle 0x18011a0b0
mov eax, 0xfffffffd
jmp 0x18011a126
cmp dword [rbx + 0x30], 0
je 0x18011a0bd
mov dword [rdi + 0x34], 1
mov eax, dword [rbp + 0x1d0]
cdq
idiv dword [rdi + 0x14]
jmp 0x18011a126
mov edx, dword [rbp + 0x1c]
mov r8d, r14d
mov rcx, rsi
call fcn.1801176f0
mov eax, dword [rbp + 0x1e0]
lea rcx, [rsi + 0x60]
mov r9d, dword [rbp + 0x5c]
lea rdx, [r13 + 0x10]
mov r8d, dword [rbp + 0x1c]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x14]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.18011aa10
mov eax, dword [rbp + 0x1d0]
cdq
idiv dword [rsi + 0x14]
jmp 0x18011a126
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x140]
xor rcx, rbp
call fcn.180151320
mov rbx, qword [rbp + 0x1b0]
mov rsi, qword [rbp + 0x1b8]
mov rdi, qword [rbp + 0x1c0]
movaps xmm6, xmmword [rbp + 0x170]
movaps xmm7, xmmword [rbp + 0x160]
movaps xmm8, xmmword [rbp + 0x150]
lea rsp, [rbp + 0x180]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret