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

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x138
mov rdi, rcx
mov rcx, rdx
movaps xmmword [rsp + 0xf0], xmm8
xorpd xmm8, xmm8
mov rbx, r9
mov r14, r8
call fcn.1800865a0
lea rdx, [0x180196154]
mov rcx, rbx
add eax, dword [rdi + 0x38]
mov dword [r14 + 0x4c], eax
call fcn.180166f80
test rax, rax
mov rsi, rax
mov qword [rsp + 0xb0], rax
jne 0x1800cbdce
mov rcx, qword [rdi]
lea r8, str.failed_to_open__s_for_writing_n
lea edx, [rax + 1]
mov r9, rbx
call fcn.1800866f0
xor eax, eax
jmp 0x1800cce20
mov r9d, dword [r14 + 0x1c]
mov r8d, dword [r14 + 0x18]
lea rdx, str._d__d_n
mov rcx, rax
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x128], r13
call fcn.18016a4a0
mov r8d, dword [r14 + 0x20]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
mov r9d, dword [r14 + 0x28]
mov r8d, dword [r14 + 0x24]
lea rdx, str._d__d_n
mov rcx, rsi
call fcn.18016a4a0
mov r9d, dword [r14 + 0x38]
mov r8d, dword [r14 + 0x34]
lea rdx, str._d__d_n
mov rcx, rsi
call fcn.18016a4a0
mov r8d, dword [r14 + 0x3c]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
mov r8d, dword [r14 + 0x40]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
mov r8d, dword [r14 + 0x44]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
movsxd rbx, dword [r14 + 0x44]
test rbx, rbx
js 0x1800cbeac
lea rdi, [rbx*4 + 0x120]
mov rax, qword [r14 + 0x50]
mov r8d, 1
lea rdx, str.__d__d_
mov ecx, dword [rax + rdi]
shl r8d, cl
mov rcx, rsi
mov r9d, r8d
call fcn.18016a4a0
sub rdi, 4
sub rbx, 1
jns 0x1800cbe80
lea rdx, [0x180197754]
mov rcx, rsi
call fcn.18016a4a0
mov r8d, dword [r14 + 0x48]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
mov r8d, dword [r14 + 0x4c]
lea rdx, [0x180197768]
mov rcx, rsi
call fcn.18016a4a0
mov eax, dword [r14 + 0x34]
xor edi, edi
imul eax, dword [r14 + 0x38]
test eax, eax
jle 0x1800cbf62
xor ebx, ebx
mov rcx, qword [r14 + 0x50]
lea rdx, str._4d__9d__9d__9d__9e__9d__9e_n
mov eax, dword [rcx + rbx + 0x230]
mov r9d, dword [rcx + rbx + 0xc]
mov r8d, dword [rcx + rbx + 8]
movsd xmm2, qword [rcx + rbx + 0x238]
movsd xmm1, xmm2
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + rbx + 0x14]
movsd qword [rsp + 0x30], xmm2
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + rbx + 0x10]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.18016a4a0
mov eax, dword [r14 + 0x34]
add edi, 1
add rbx, 0x240
imul eax, dword [r14 + 0x38]
cmp edi, eax
jl 0x1800cbef2
mov eax, dword [r14 + 0x34]
xor r13d, r13d
xor r12d, r12d
mov dword [rsp + 0x160], r13d
mov qword [rsp + 0x80], r12
imul eax, dword [r14 + 0x38]
test eax, eax
jle 0x1800ccdd0
mov qword [rsp + 0x168], rbp
mov qword [rsp + 0x120], r15
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm7
movaps xmmword [rsp + 0xe0], xmm9
movsd xmm9, qword [0x180197a68]
nop
nop
mov eax, dword [r14 + 0x20]
xor r15d, r15d
xor ebx, ebx
test eax, eax
mov dword [rsp + 0x170], r15d
mov qword [rsp + 0x78], rbx
jne 0x1800cc154
lea rdx, str.pack_nb_tileno_layno_resno_compno_precno_start_pos__end_pos_disto_n
mov rcx, rsi
call fcn.18016a4a0
cmp dword [r14 + 0x40], ebx
jle 0x1800ccd75
nop
nop
nop
mov eax, dword [r14 + 0x44]
xor ecx, ecx
xor r13d, r13d
add eax, 1
mov qword [rsp + 0x70], rcx
test eax, eax
jle 0x1800cc139
nop
nop
xor ebp, ebp
cmp dword [r14 + 0x3c], ebp
jle 0x1800cc11c
lea rax, [r12 + r12*8]
shl rax, 4
add rcx, rax
mov qword [rsp + 0x88], rcx
nop
mov rax, qword [r14 + 0x50]
xor edi, edi
mov esi, dword [rax + rcx*4 + 0x18]
imul esi, dword [rax + rcx*4 + 0x9c]
test esi, esi
jle 0x1800cc10a
mov rcx, qword [rsp + 0x78]
lea r12, [r12 + r12*8]
mov eax, esi
shl r12, 6
shl rbx, 4
add rcx, rax
mov qword [rsp + 0x78], rcx
nop
nop
nop
mov rax, qword [r14 + 0x50]
mov r9d, dword [rsp + 0x160]
mov r8d, dword [rsp + 0x170]
mov rcx, qword [rax + r12 + 0x228]
lea rdx, str._4d__6d__7d__5d__6d__6d__9d__9d__8e_n
mov eax, dword [rcx + rbx + 4]
movsd xmm6, qword [rcx + rbx + 8]
movsd qword [rsp + 0x50], xmm6
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + rbx]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r15d
call fcn.18016a4a0
add dword [rsp + 0x170], 1
add edi, 1
addsd xmm8, xmm6
add rbx, 0x10
cmp edi, esi
jl 0x1800cc080
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
add ebp, 1
cmp ebp, dword [r14 + 0x3c]
jl 0x1800cc040
mov rcx, qword [rsp + 0x70]
mov eax, dword [r14 + 0x44]
add rcx, 1
add r13d, 1
add eax, 1
mov qword [rsp + 0x70], rcx
cmp r13d, eax
jl 0x1800cc020
add r15d, 1
cmp r15d, dword [r14 + 0x40]
jl 0x1800cc000
mov r13d, dword [rsp + 0x160]
jmp 0x1800ccd75
cmp eax, 1
jne 0x1800cc2dc
lea rdx, str.pack_nb_tileno_resno_layno_compno_precno_start_pos__end_pos_disto_n
mov rcx, rsi
call fcn.18016a4a0
mov eax, dword [r14 + 0x44]
xor edx, edx
add eax, 1
mov qword [rsp + 0x70], rdx
test eax, eax
jle 0x1800ccd75
xor r13d, r13d
cmp dword [r14 + 0x40], r13d
jle 0x1800cc2b2
nop
xor ebp, ebp
cmp dword [r14 + 0x3c], ebp
jle 0x1800cc2a4
lea rax, [r12 + r12*8]
shl rax, 4
lea rcx, [rax + rdx]
add rdx, rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xa8], rdx
nop
nop
mov rax, qword [r14 + 0x50]
xor edi, edi
mov esi, dword [rax + rdx*4 + 0x18]
imul esi, dword [rax + rcx*4 + 0x9c]
test esi, esi
jle 0x1800cc292
mov rcx, qword [rsp + 0x78]
lea r12, [r12 + r12*8]
mov eax, esi
shl r12, 6
shl rbx, 4
add rcx, rax
mov qword [rsp + 0x78], rcx
nop
nop
nop
mov rax, qword [r14 + 0x50]
mov r9d, dword [rsp + 0x160]
mov r8d, dword [rsp + 0x170]
mov rcx, qword [rax + r12 + 0x228]
lea rdx, str._4d__6d__5d__7d__6d__6d__9d__9d__8e_n
mov eax, dword [rcx + rbx + 4]
movsd xmm6, qword [rcx + rbx + 8]
movsd qword [rsp + 0x50], xmm6
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + rbx]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r15d
call fcn.18016a4a0
add dword [rsp + 0x170], 1
add edi, 1
addsd xmm8, xmm6
add rbx, 0x10
cmp edi, esi
jl 0x1800cc200
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
add ebp, 1
cmp ebp, dword [r14 + 0x3c]
jl 0x1800cc1c0
mov rdx, qword [rsp + 0x70]
add r13d, 1
cmp r13d, dword [r14 + 0x40]
jl 0x1800cc190
mov eax, dword [r14 + 0x44]
add rdx, 1
add r15d, 1
add eax, 1
mov qword [rsp + 0x70], rdx
cmp r15d, eax
jl 0x1800cc182
mov r13d, dword [rsp + 0x160]
jmp 0x1800ccd75
cmp eax, 2
jne 0x1800cc66f
lea rdx, str._npack_nb_tileno_resno_precno_compno_layno_start_pos__end_pos_disto_n
mov rcx, rsi
call fcn.18016a4a0
mov eax, dword [r14 + 0x44]
xor edi, edi
xor esi, esi
add eax, 1
mov dword [rsp + 0x60], edi
test eax, eax
mov qword [rsp + 0x88], rsi
jle 0x1800ccd75
cvtsi2ss xmm7, r13d
nop
nop
mov ebx, dword [r14 + 0x34]
movaps xmm1, xmm7
cvtsi2ss xmm0, ebx
divss xmm1, xmm0
cvtss2sd xmm0, xmm1
call fcn.180168cf0
mov ecx, dword [r14 + 0x2c]
mov edx, dword [r14 + 0x24]
cvttsd2si r8d, xmm0
mov eax, r8d
mov ebp, ecx
imul eax, ebx
imul eax, edx
sub ebp, eax
mov eax, dword [r14 + 0x28]
add ebp, r13d
mov dword [rsp + 0x90], ebp
lea r12d, [rdx + rbp]
imul r8d, eax
add r8d, ecx
xor ecx, ecx
mov dword [rsp + 0x64], r12d
add eax, r8d
cmp dword [r14 + 0x3c], ecx
mov dword [rsp + 0x94], r8d
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x68], ecx
jle 0x1800cc640
mov rax, qword [rsp + 0x80]
lea r8, [rax + rax*8]
shl r8, 4
mov qword [rsp + 0xc0], r8
lea r10, [r8 + rsi]
lea r9, [r8 + rsi]
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x70], r9
nop
mov rax, qword [r14 + 0x50]
xor r13d, r13d
mov edx, dword [rax + r9*4 + 0x18]
mov dword [rsp + 0x170], r13d
imul edx, dword [rax + r10*4 + 0x9c]
test edx, edx
mov dword [rsp + 0xa8], edx
jle 0x1800cc623
lea rax, [r8 + rsi]
lea rcx, [r8 + rsi]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xd0], rcx
nop
nop
nop
mov rbx, qword [r14 + 0x50]
mov edi, dword [r14 + 0x44]
movsd xmm0, xmm9
mov eax, dword [rbx + rax*4 + 0x120]
mov esi, dword [rbx + r9*4 + 0x18]
sub eax, dword [rsp + 0x60]
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
cvttsd2si eax, xmm0
movsd xmm0, xmm9
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rbx + rax*4 + 0x1a4]
sub eax, dword [rsp + 0x60]
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
cvtsi2ss xmm2, r13d
cvttsd2si ebx, xmm0
divss xmm2, xmm1
cvtss2sd xmm0, xmm2
call fcn.180168cf0
mov r10d, dword [rsp + 0x94]
mov edx, dword [rsp + 0x170]
cvttsd2si ecx, xmm0
mov eax, ecx
mov r8d, edx
mov r13d, r10d
imul eax, esi
sub r8d, eax
mov eax, dword [rsp + 0x6c]
cmp r10d, eax
mov dword [rsp + 0xa0], r8d
jge 0x1800cc5e0
imul ecx, ebx
mov dword [rsp + 0x98], ecx
cmp ecx, r13d
jne 0x1800cc5d3
cmp ebp, r12d
mov edi, ebp
jge 0x1800cc5d3
mov eax, dword [rsp + 0x64]
mov r12d, r8d
imul r12d, dword [rsp + 0x9c]
cmp r12d, edi
jne 0x1800cc5a9
xor ebp, ebp
cmp dword [r14 + 0x40], ebp
jle 0x1800cc5a9
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
lea rsi, [rax + rax*8]
shl rsi, 6
shl rbx, 4
nop
nop
nop
mov rax, qword [r14 + 0x50]
mov r9d, dword [rsp + 0x160]
mov r8d, r15d
mov rcx, qword [rax + rsi + 0x228]
mov eax, dword [rcx + rbx + 4]
movsd xmm6, qword [rcx + rbx + 8]
movsd qword [rsp + 0x50], xmm6
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + rbx]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x28], edx
lea rdx, str._4d__6d__5d__6d__6d__7d__9d__9d__8e_n
mov dword [rsp + 0x20], eax
call fcn.18016a4a0
add qword [rsp + 0x78], 1
mov edx, dword [rsp + 0x170]
addsd xmm8, xmm6
add ebp, 1
add r15d, 1
add rbx, 0x10
cmp ebp, dword [r14 + 0x40]
jl 0x1800cc520
mov eax, dword [rsp + 0x64]
add edi, 1
cmp edi, eax
jl 0x1800cc4e7
mov r12d, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x98]
mov r8d, dword [rsp + 0xa0]
mov eax, dword [rsp + 0x6c]
add r13d, 1
cmp r13d, eax
jl 0x1800cc4c3
mov rax, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x70]
add edx, 1
cmp edx, dword [rsp + 0xa8]
mov dword [rsp + 0x170], edx
mov r13d, edx
jl 0x1800cc410
mov ecx, dword [rsp + 0x68]
mov r8, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x88]
mov r10, qword [rsp + 0xc8]
add ecx, 1
cmp ecx, dword [r14 + 0x3c]
mov dword [rsp + 0x68], ecx
jl 0x1800cc3c0
mov edi, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x160]
mov eax, dword [r14 + 0x44]
add edi, 1
add rsi, 1
add eax, 1
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x88], rsi
cmp edi, eax
jl 0x1800cc320
mov r12, qword [rsp + 0x80]
jmp 0x1800ccd75
cmp eax, 3
jne 0x1800cc9f0
mov ebx, dword [r14 + 0x34]
cvtsi2ss xmm1, r13d
cvtsi2ss xmm0, ebx
divss xmm1, xmm0
cvtss2sd xmm0, xmm1
call fcn.180168cf0
mov edx, dword [r14 + 0x24]
mov ecx, dword [r14 + 0x2c]
cvttsd2si r8d, xmm0
mov eax, r8d
mov ebp, ecx
imul eax, ebx
imul eax, edx
sub ebp, eax
mov eax, dword [r14 + 0x28]
add ebp, r13d
mov dword [rsp + 0x98], ebp
lea r12d, [rdx + rbp]
lea rdx, str._npack_nb_tileno_precno_compno_resno_layno_start_pos__end_pos_disto_n
imul r8d, eax
add r8d, ecx
mov rcx, rsi
mov dword [rsp + 0x68], r12d
add eax, r8d
mov dword [rsp + 0xa8], r8d
mov dword [rsp + 0x6c], eax
call fcn.18016a4a0
xor edx, edx
cmp dword [r14 + 0x3c], edx
mov dword [rsp + 0x64], edx
jle 0x1800ccd6d
nop
nop
mov eax, dword [r14 + 0x44]
xor ecx, ecx
xor r9d, r9d
add eax, 1
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x88], r9
test eax, eax
jle 0x1800cc9ca
mov rax, qword [rsp + 0x80]
lea r10, [rax + rax*8]
shl r10, 4
mov qword [rsp + 0xb8], r10
lea r8, [r10*4 + 0x18]
mov qword [rsp + 0x70], r8
nop
nop
nop
mov rax, qword [r14 + 0x50]
xor r13d, r13d
mov edx, dword [r8 + rax + 0x84]
mov dword [rsp + 0x170], r13d
imul edx, dword [r8 + rax]
test edx, edx
mov dword [rsp + 0x94], edx
jle 0x1800cc99b
lea rax, [r10 + r9]
lea rdx, [r10 + r9]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov rbx, qword [r14 + 0x50]
mov edi, dword [r14 + 0x44]
movsd xmm0, xmm9
mov eax, dword [rbx + rax*4 + 0x120]
mov esi, dword [r8 + rbx]
sub eax, ecx
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
cvttsd2si eax, xmm0
movsd xmm0, xmm9
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0xc8]
mov eax, dword [rbx + rax*4 + 0x1a4]
sub eax, dword [rsp + 0x60]
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
cvtsi2ss xmm2, r13d
cvttsd2si ebx, xmm0
divss xmm2, xmm1
cvtss2sd xmm0, xmm2
call fcn.180168cf0
mov edi, dword [rsp + 0xa8]
mov edx, dword [rsp + 0x170]
cvttsd2si ecx, xmm0
mov eax, ecx
mov r8d, edx
mov r13d, edi
imul eax, esi
sub r8d, eax
mov eax, dword [rsp + 0x6c]
cmp edi, eax
mov dword [rsp + 0x9c], r8d
jge 0x1800cc960
imul ecx, ebx
mov dword [rsp + 0x90], ecx
cmp ecx, r13d
jne 0x1800cc953
cmp ebp, r12d
mov edi, ebp
jge 0x1800cc953
mov eax, dword [rsp + 0x68]
mov r12d, r8d
imul r12d, dword [rsp + 0xa0]
cmp r12d, edi
jne 0x1800cc929
xor ebp, ebp
cmp dword [r14 + 0x40], ebp
jle 0x1800cc929
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
lea rsi, [rax + rax*8]
shl rsi, 6
shl rbx, 4
nop
nop
nop
nop
mov rax, qword [r14 + 0x50]
mov r9d, dword [rsp + 0x160]
mov r8d, r15d
mov rcx, qword [rax + rsi + 0x228]
mov eax, dword [rcx + rbx + 4]
movsd xmm6, qword [rcx + rbx + 8]
movsd qword [rsp + 0x50], xmm6
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + rbx]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, str._4d__6d__6d__6d__5d__7d__9d__9d__8e_n
call fcn.18016a4a0
add qword [rsp + 0x78], 1
mov edx, dword [rsp + 0x170]
addsd xmm8, xmm6
add ebp, 1
add r15d, 1
add rbx, 0x10
cmp ebp, dword [r14 + 0x40]
jl 0x1800cc8a0
mov eax, dword [rsp + 0x68]
add edi, 1
cmp edi, eax
jl 0x1800cc865
mov r12d, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x6c]
add r13d, 1
cmp r13d, eax
jl 0x1800cc841
mov ecx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
add edx, 1
cmp edx, dword [rsp + 0x94]
mov dword [rsp + 0x170], edx
mov r13d, edx
jl 0x1800cc793
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0xb8]
mov eax, dword [r14 + 0x44]
add ecx, 1
add r9, 1
add r8, 4
add eax, 1
mov dword [rsp + 0x60], ecx
cmp ecx, eax
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x70], r8
jl 0x1800cc750
mov edx, dword [rsp + 0x64]
add edx, 1
cmp edx, dword [r14 + 0x3c]
mov dword [rsp + 0x64], edx
jl 0x1800cc700
mov r12, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x160]
jmp 0x1800ccd75
lea rdx, str._npack_nb_tileno_compno_precno_resno_layno_start_pos__end_pos_disto_n
mov rcx, rsi
call fcn.18016a4a0
xor edi, edi
cmp dword [r14 + 0x3c], ebx
mov dword [rsp + 0x64], edi
jle 0x1800ccd75
cvtsi2ss xmm7, r13d
nop
nop
nop
mov ebx, dword [r14 + 0x34]
movaps xmm1, xmm7
cvtsi2ss xmm0, ebx
divss xmm1, xmm0
cvtss2sd xmm0, xmm1
call fcn.180168cf0
mov ecx, dword [r14 + 0x2c]
mov edx, dword [r14 + 0x24]
cvttsd2si r8d, xmm0
mov eax, r8d
mov ebp, ecx
xor r9d, r9d
mov qword [rsp + 0x88], r9
imul eax, ebx
imul eax, edx
sub ebp, eax
mov eax, dword [r14 + 0x28]
add ebp, r13d
mov dword [rsp + 0x98], ebp
lea r12d, [rbp + rdx]
imul r8d, eax
add r8d, ecx
xor ecx, ecx
mov dword [rsp + 0x68], r12d
add eax, r8d
mov dword [rsp + 0xa8], r8d
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [r14 + 0x44]
add eax, 1
test eax, eax
jle 0x1800ccd52
mov rax, qword [rsp + 0x80]
lea r10, [rax + rax*8]
shl r10, 4
mov qword [rsp + 0xb8], r10
lea r8, [r10*4 + 0x18]
mov qword [rsp + 0x70], r8
nop
nop
nop
mov rax, qword [r14 + 0x50]
xor r13d, r13d
mov edx, dword [r8 + rax + 0x84]
mov dword [rsp + 0x170], r13d
imul edx, dword [r8 + rax]
test edx, edx
mov dword [rsp + 0x94], edx
jle 0x1800ccd1b
lea rax, [r10 + r9]
lea rdx, [r10 + r9]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov rbx, qword [r14 + 0x50]
mov edi, dword [r14 + 0x44]
movsd xmm0, xmm9
mov eax, dword [rbx + rax*4 + 0x120]
mov esi, dword [r8 + rbx]
sub eax, ecx
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
cvttsd2si eax, xmm0
movsd xmm0, xmm9
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0xc8]
mov eax, dword [rbx + rax*4 + 0x1a4]
sub eax, dword [rsp + 0x60]
add eax, edi
cvtsi2sd xmm1, eax
call fcn.180169de0
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
cvtsi2ss xmm2, r13d
cvttsd2si ebx, xmm0
divss xmm2, xmm1
cvtss2sd xmm0, xmm2
call fcn.180168cf0
mov r11d, dword [rsp + 0xa8]
mov edx, dword [rsp + 0x170]
cvttsd2si ecx, xmm0
mov eax, ecx
mov r8d, edx
mov r13d, r11d
imul eax, esi
sub r8d, eax
mov eax, dword [rsp + 0x6c]
cmp r11d, eax
mov dword [rsp + 0x9c], r8d
jge 0x1800ccce0
imul ecx, ebx
mov dword [rsp + 0x90], ecx
cmp ecx, r13d
jne 0x1800cccd3
cmp ebp, r12d
mov edi, ebp
jge 0x1800cccd3
mov eax, dword [rsp + 0x68]
mov r12d, r8d
imul r12d, dword [rsp + 0xa0]
cmp r12d, edi
jne 0x1800ccca9
xor ebp, ebp
cmp dword [r14 + 0x40], ebp
jle 0x1800ccca9
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
lea rsi, [rax + rax*8]
shl rsi, 6
shl rbx, 4
nop
nop
nop
mov rax, qword [r14 + 0x50]
mov r9d, dword [rsp + 0x160]
mov r8d, r15d
mov rcx, qword [rax + rsi + 0x228]
mov eax, dword [rcx + rbx + 4]
movsd xmm6, qword [rcx + rbx + 8]
movsd qword [rsp + 0x50], xmm6
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + rbx]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x28], edx
lea rdx, str._4d__6d__6d__6d__5d__7d__9d__9d__8e_n
mov dword [rsp + 0x20], eax
call fcn.18016a4a0
add qword [rsp + 0x78], 1
mov edx, dword [rsp + 0x170]
addsd xmm8, xmm6
add ebp, 1
add r15d, 1
add rbx, 0x10
cmp ebp, dword [r14 + 0x40]
jl 0x1800ccc20
mov eax, dword [rsp + 0x68]
add edi, 1
cmp edi, eax
jl 0x1800ccbe7
mov r12d, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x6c]
add r13d, 1
cmp r13d, eax
jl 0x1800ccbc3
mov ecx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
add edx, 1
cmp edx, dword [rsp + 0x94]
mov dword [rsp + 0x170], edx
mov r13d, edx
jl 0x1800ccb13
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0xb8]
mov eax, dword [r14 + 0x44]
add ecx, 1
add r9, 1
add r8, 4
add eax, 1
mov dword [rsp + 0x60], ecx
cmp ecx, eax
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x70], r8
jl 0x1800ccad0
mov edi, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x160]
add edi, 1
cmp edi, dword [r14 + 0x3c]
mov dword [rsp + 0x64], edi
jl 0x1800cca20
mov r12, qword [rsp + 0x80]
jmp 0x1800ccd75
mov r12, qword [rsp + 0x80]
mov eax, dword [r14 + 0x34]
mov rsi, qword [rsp + 0xb0]
add r13d, 1
add r12, 1
mov dword [rsp + 0x160], r13d
imul eax, dword [r14 + 0x38]
cmp r13d, eax
mov qword [rsp + 0x80], r12
jl 0x1800cbfc0
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x168]
movsd xmm2, qword [r14 + 8]
lea rdx, str._8e_n
mov rcx, rsi
movq r8, xmm2
call fcn.18016a4a0
movsd xmm2, xmm8
lea rdx, str._.8e_n
mov rcx, rsi
movq r8, xmm2
call fcn.18016a4a0
mov rcx, rsi
call fcn.180164820
mov r13, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
mov eax, 1
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x138
pop r14
pop rdi
pop rsi
pop rbx
ret