Function at 0x140009140
Capabilities:
Execute command

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x328]
sub rsp, 0x400
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400230c0]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x58], rdx
mov r10d, ecx
mov dword [rsp + 0x70], ecx
call fcn.140003be0
movsx r9d, al
call fcn.140003bd0
movsx r8d, al
imul r9d, r8d
call fcn.140003c10
movsx edi, al
imul ecx, r9d, 7
movsx eax, byte [0x14002300c]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
xor r13d, r13d
cmp eax, ecx
je 0x140009483
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov eax, r13d
cmp r10d, 2
setl al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp - 0x28], xmm1
lea esi, [rdi + r9*2]
add esi, r9d
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400092af
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400092af
lea r10d, [r13 + 7]
lea ebx, [r9 + r9*8]
jmp 0x14000930a
lea ebx, [r9 + r9*8]
movsx eax, byte [0x14002300c]
add eax, ebx
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009305
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x28]
cvttsd2si r10d, xmm0
jmp 0x14000930a
mov r10d, dword [rsp + 0x54]
movsx eax, byte [0x14002300c]
add eax, edi
lea eax, [rax + r9*8]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x140009483
mov r9d, 0x10
mov r8, qword [str.Error]
mov rdx, qword [str.The_program_can]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea r9d, [rdi + rbx]
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400093fe
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140009479
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009470
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x28]
cvttsd2si eax, xmm0
jmp 0x140009474
mov eax, dword [rsp + 0x54]
cmp r13d, eax
jge 0x140009483
mov eax, 1
jmp 0x140017f3c
lea rax, str.Stop_reversing_the_binary
mov qword [rbp + 0xf0], rax
lea rax, str.Reconsider_your_life_choices
mov qword [rbp + 0xf8], rax
lea rax, str.And_go_touch_some_grass
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], r13
mov ebx, r13d
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea r12d, [rcx + rdx*4]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea r14d, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
add r14d, ecx
call fcn.140003bd0
movsx esi, al
call fcn.140003be0
movsx ecx, al
imul esi, ecx
call fcn.140003c10
movsx r15d, al
mov edi, dword [rsp + 0x54]
nop dword [rax + rax]
movsx eax, byte [0x14002300c]
add eax, r12d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400095cf
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400095cf
mov edi, 7
jmp 0x140009624
lea ecx, [rsi + r15]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + rsi*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009624
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x28]
cvttsd2si edi, xmm0
cmp ebx, edi
jge 0x140009661
mov dword [rsp + 0x20], r13d
mov eax, dword [rsp + 0x20]
mov rdx, qword [section..data]
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rbp + rax*8 + 0xf0]
call rdx
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 4
jb 0x140009631
inc ebx
jmp 0x140009520
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], r13
mov qword [rbp + 0x248], 0xf
mov byte [rbp + 0x230], r13b
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], r13
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
movups xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], r13
mov qword [rbp + 0x228], 0xf
mov byte [rbp + 0x210], 0
xor dil, dil
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x6c], dil
mov r9d, r13d
mov dword [rsp + 0x48], r13d
movsxd r10, dword [rsp + 0x70]
mov rbx, r10
mov qword [rsp + 0x60], rbx
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
add r8d, ecx
mov dword [rsp + 0x4c], r8d
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*4]
mov dword [rbp - 0x34], eax
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
imul edx, edx, 7
call fcn.140003c10
movsx eax, al
add eax, edx
mov dword [rbp - 0x1c], eax
call fcn.140003be0
movsx r15d, al
call fcn.140003bd0
movsx ecx, al
imul r15d, ecx
mov dword [rsp + 0x68], r15d
call fcn.140003c10
movsx r12d, al
mov dword [rsp + 0x58], r12d
lea r14d, [r12 + r15*2]
add r14d, r15d
mov esi, 1
mov qword [rbp - 0x28], rsi
movsd xmm6, qword [0x14001ab98]
movsd xmm7, qword [0x14001ab90]
movsd xmm8, qword [0x14001ab88]
movsd xmm9, qword [0x14001ab80]
movsd xmm10, qword [0x14001ab78]
movsd xmm11, qword [0x14001ab70]
movsd xmm12, qword [0x14001ab68]
movsd xmm13, qword [0x14001ab60]
movsd xmm14, qword [0x14001ab58]
movsd xmm15, qword [0x14001ab50]
movsd xmm3, qword [0x14001ab48]
movsd xmm4, qword [0x14001ab40]
movsd xmm5, qword [0x14001ab38]
mov r13, qword [rbp - 0x60]
mov r11, qword [rbp - 0x58]
movsx eax, byte [0x14002300c]
add eax, r8d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x40], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400098b3
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400098b3
mov eax, 7
mov dword [rbp - 0x14], eax
jmp 0x140009911
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000990e
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x40]
cvttsd2si eax, xmm0
mov dword [rbp - 0x14], eax
jmp 0x140009911
mov eax, dword [rbp - 0x14]
cmp r9d, eax
jge 0x14000efb7
mov r9d, esi
mov dword [rsp + 0x34], esi
mov rdi, rsi
mov qword [rbp - 0x40], rsi
cmp rbx, 1
jle 0x14000b8fb
lea esi, [r15 + r12]
mov dword [rbp - 0x30], esi
nop dword [rax]
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8ba
xor eax, eax
mov byte [rbp - 0x1d], al
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009a21
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009a21
mov dword [rbp - 0x10], 7
jmp 0x140009a86
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009a7d
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si ecx, xmm0
mov dword [rbp - 0x10], ecx
jmp 0x140009a80
mov ecx, dword [rbp - 0x10]
xor eax, eax
cmp eax, ecx
jge 0x140009a9f
mov eax, dword [0x14001a74c]
mov dword [rbp + 0xdc], eax
lea r13, [rbp + 0xdc]
mov qword [rbp - 0x60], r13
xor eax, eax
cmp byte [r13], 0
jne 0x14000a508
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jae 0x14000a508
lea eax, [r15 + r15*2]
lea ebx, [r12 + rax*2]
call fcn.140003bf0
movsx r9d, al
call fcn.140003c20
movsx r10d, al
call fcn.140003c00
movsx r11d, al
mov edi, dword [rbp - 0x68]
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009cdb
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009b89
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009b89
mov edi, 7
jmp 0x140009bdf
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009bdf
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si edi, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009c55
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009c55
mov dword [rbp - 0xc], 7
jmp 0x140009cae
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009cae
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp - 0xc], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r13 + 1]
and r8b, byte [rbp - 0xc]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r13 + 1]
sub dl, r8b
add dl, dil
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r13 + 1], dl
movsx eax, byte [0x14002300c]
add eax, ebx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a2ea
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009eec
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009d97
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009d97
mov dword [rbp - 4], 7
jmp 0x140009df0
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009df0
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp - 4], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009e66
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009e66
mov dword [rbp - 8], 7
jmp 0x140009ebf
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009ebf
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp - 8], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r13 + 1]
and r8b, byte [rbp - 8]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r13 + 1]
sub dl, r8b
add dl, byte [rbp - 4]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r13 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a0de
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009f88
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140009f88
mov dword [rbp + 4], 7
jmp 0x140009fe1
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140009fe1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp + 4], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a058
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a058
mov dword [rbp], 7
jmp 0x14000a0b1
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a0b1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r13 + 1]
and r8b, byte [rbp]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r13 + 1]
sub dl, r8b
add dl, byte [rbp + 4]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r13 + 1], dl
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a2ea
mov eax, dword [rsp + 0x20]
sub eax, 0x56
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a186
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a186
mov dword [rbp - 0x18], 7
jmp 0x14000a1df
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a1df
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp - 0x18], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x56
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a264
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a264
mov dword [rbp + 8], 7
jmp 0x14000a2bd
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a2bd
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp + 8], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r13 + 1]
and r8b, byte [rbp + 8]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r13 + 1]
sub dl, r8b
add dl, byte [rbp - 0x18]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r13 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r9d
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a4d7
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a381
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a381
mov dword [rbp + 0x14], 7
jmp 0x14000a3da
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a3da
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp + 0x14], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rbp - 0x68], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a451
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a451
mov dword [rbp + 0x10], 7
jmp 0x14000a4aa
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a4aa
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x68]
cvttsd2si eax, xmm0
mov dword [rbp + 0x10], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r13 + 1]
and r8b, byte [rbp + 0x10]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r13 + 1]
sub dl, r8b
add dl, byte [rbp + 0x14]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r13 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jb 0x140009af0
mov dword [rbp - 0x68], edi
mov rdi, qword [rbp - 0x40]
mov r9d, dword [rsp + 0x34]
mov r11, qword [rbp - 0x58]
mov r10d, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov byte [r13], 1
lea r8, [r13 + 1]
mov rax, qword [r11 + rdi*8]
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000a533
inc rax
test ecx, ecx
jne 0x14000a520
test edx, edx
jne 0x14000a547
lea eax, [r9 + 1]
cmp eax, r10d
jge 0x14000a547
mov edx, 1
jmp 0x14000a549
xor edx, edx
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a5dd
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a5dd
mov dword [rbp + 0x18], 7
jmp 0x14000a637
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a637
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x18], eax
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x18]
test eax, eax
je 0x14000a6e8
inc r9d
mov dword [rsp + 0x34], r9d
inc rdi
mov qword [rbp - 0x40], rdi
mov r9, qword [r11 + rdi*8]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r9 + rdi], 0
jne 0x14000a682
mov rax, qword [rbp + 0x248]
cmp rdi, rax
ja 0x14000a6c9
lea rbx, [rbp + 0x230]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x230]
mov qword [rbp + 0x240], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x14000b8ac
xor r8d, r8d
mov byte [rbp - 0x20], r8b
mov rdx, rdi
lea rcx, [rbp + 0x230]
call fcn.1400014d0
mov r11, qword [rbp - 0x58]
jmp 0x14000b8b5
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x4c]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8ba
call fcn.140003bf0
movsx ebx, al
mov r9d, ebx
call fcn.140003c20
movsx edi, al
call fcn.140003c00
movsx esi, al
movsx edx, byte [0x1400233d8]
imul edx, ebx
lea r8d, [rdx + rdx*4]
add r8d, r8d
sub r8d, edi
add r8d, esi
movsx eax, byte [0x140023009]
add eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a7c6
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, edi
add edx, esi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a7c6
mov dword [rbp + 0x1c], 7
jmp 0x14000a820
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a820
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x1c], eax
lea edx, [r15 + r15*4]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x1c]
xor edx, edx
test eax, eax
je 0x14000aaf5
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm1
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a8bd
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, edi
add edx, esi
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000a8ff
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a8ff
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8a8
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*8]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000a9d9
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000a9d9
mov dword [rbp + 0x20], 7
jmp 0x14000aa33
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000aa33
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x20], eax
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x34]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x20]
test eax, eax
je 0x14000b8a8
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a990]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000aae8
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000b8a8
lea esi, [r15 + r12]
mov r11, qword [rbp - 0x58]
jmp 0x14000ecd7
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x1c]
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8a8
xor eax, eax
mov byte [rbp - 0x1f], al
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000abba
movsx edx, byte [0x1400233d8]
imul edx, ebx
add edx, edx
sub edx, edi
add edx, esi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000abba
mov dword [rbp + 0x24], 7
jmp 0x14000ac1f
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ac16
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si ecx, xmm0
mov dword [rbp + 0x24], ecx
jmp 0x14000ac19
mov ecx, dword [rbp + 0x24]
xor eax, eax
cmp eax, ecx
jge 0x14000ac3b
mov eax, dword [0x14001a750]
mov dword [rbp + 0xd8], eax
lea rdi, [rbp + 0xd8]
mov qword [rsp + 0x28], rdi
xor eax, eax
jmp 0x14000ac40
mov rdi, qword [rsp + 0x28]
cmp byte [rdi], 0
jne 0x14000b6d1
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jae 0x14000b6d1
lea eax, [r15 + r15*2]
lea ebx, [r12 + rax*2]
call fcn.140003bf0
movsx r9d, al
call fcn.140003c20
movsx r10d, al
call fcn.140003c00
movsx r11d, al
lea esi, [r15 + r12]
mov r13d, dword [rbp - 0x78]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ae7d
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ad2b
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ad2b
mov r13d, 7
jmp 0x14000ad82
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ad82
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000adf9
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000adf9
mov dword [rbp + 0x28], 7
jmp 0x14000ae52
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ae52
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rdi + 1]
and r8b, byte [rbp + 0x28]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rdi + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rdi + 1], dl
movsx eax, byte [0x14002300c]
add eax, ebx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b4b5
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b097
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000af3d
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000af3d
mov dword [rbp + 0xd4], 7
jmp 0x14000af99
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000af99
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xd4], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b010
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b010
mov dword [rbp + 0x30], 7
jmp 0x14000b069
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b069
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x30], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rdi + 1]
and r8b, byte [rbp + 0x30]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rdi + 1]
sub dl, r8b
add dl, byte [rbp + 0xd4]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rdi + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b299
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm12
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b136
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b136
mov dword [rbp + 0xc8], 7
jmp 0x14000b192
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b192
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xc8], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm12
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b20c
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b20c
mov dword [rbp + 0xcc], 7
jmp 0x14000b268
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b268
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xcc], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rdi + 1]
and r8b, byte [rbp + 0xcc]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rdi + 1]
sub dl, r8b
add dl, byte [rbp + 0xc8]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rdi + 1], dl
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b4b5
mov eax, dword [rsp + 0x20]
sub eax, 0x50
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b344
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b344
mov dword [rbp + 0xc4], 7
jmp 0x14000b3a0
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b3a0
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xc4], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x50
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b428
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b428
mov dword [rbp + 0xd0], 7
jmp 0x14000b484
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b484
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xd0], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rdi + 1]
and r8b, byte [rbp + 0xd0]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rdi + 1]
sub dl, r8b
add dl, byte [rbp + 0xc4]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rdi + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r9d
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b6b2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm13
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b54f
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b54f
mov dword [rbp + 0xbc], 7
jmp 0x14000b5ab
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b5ab
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xbc], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm13
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b625
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b625
mov dword [rbp + 0xc0], 7
jmp 0x14000b681
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b681
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0xc0], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rdi + 1]
and r8b, byte [rbp + 0xc0]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rdi + 1]
sub dl, r8b
add dl, byte [rbp + 0xbc]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rdi + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jb 0x14000ac90
mov dword [rbp - 0x78], r13d
mov r13, qword [rbp - 0x60]
mov byte [rdi], 1
lea r8, [rdi + 1]
mov rsi, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov rax, qword [r11 + rsi*8]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000b703
inc rax
test ecx, ecx
jne 0x14000b6f0
mov r9d, dword [rsp + 0x34]
test edx, edx
jne 0x14000b71f
lea eax, [r9 + 1]
cmp eax, dword [rsp + 0x70]
jge 0x14000b71f
mov edx, 1
xor edi, edi
jmp 0x14000b723
xor edi, edi
mov edx, edi
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b7ba
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000b7ba
mov dword [rbp + 0xb8], 7
jmp 0x14000b817
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b817
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0xb8], eax
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*8]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0xb8]
test eax, eax
je 0x14000b92d
inc r9d
mov dword [rsp + 0x34], r9d
inc rsi
mov qword [rbp - 0x40], rsi
mov r9, qword [r11 + rsi*8]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r9 + rdi], 0
jne 0x14000b862
mov rax, qword [rbp + 0x208]
cmp rdi, rax
ja 0x14000b912
lea rbx, [rbp + 0x1f0]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x1f0]
mov qword [rbp + 0x200], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
lea esi, [r15 + r12]
mov r11, qword [rbp - 0x58]
mov rbx, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x34]
inc r9d
mov dword [rsp + 0x34], r9d
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
cmp rax, rbx
movsd xmm3, qword [0x14001ab48]
movsd xmm4, qword [0x14001ab40]
movsd xmm5, qword [0x14001ab38]
mov rdi, rax
mov r10d, dword [rsp + 0x70]
jl 0x140009940
mov esi, 1
mov r9d, dword [rsp + 0x48]
inc r9d
mov dword [rsp + 0x48], r9d
mov r8d, dword [rsp + 0x4c]
jmp 0x140009801
xor r8d, r8d
mov byte [rbp - 0x1e], r8b
mov rdx, rdi
lea rcx, [rbp + 0x1f0]
call fcn.1400014d0
jmp 0x14000b8a8
movsx eax, byte [0x14002300c]
lea esi, [r15 + r12]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
lea r8d, [rdx + rdx*2]
add r8d, r8d
call fcn.140003c20
movsx ecx, al
sub r8d, ecx
call fcn.140003c00
movsx ecx, al
add r8d, ecx
movsx eax, byte [0x140023009]
add eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ba24
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ba24
mov dword [rbp + 0xb4], 7
jmp 0x14000ba81
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ba81
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0xb4], eax
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0xb4]
xor edx, edx
test eax, eax
je 0x14000bd1b
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a9b8]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bb3c
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000bb7e
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bb7e
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
lea r9d, [r12 + r15*8]
add r9d, r15d
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x34]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bc5e
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000bc5e
mov dword [rbp + 0xb0], 7
jmp 0x14000bcb4
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bcb4
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0xb0], eax
lea edx, [r15 + r15*4]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0xb0]
test eax, eax
je 0x14000b8b0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a9c0]
jmp 0x14000ec7a
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
xor eax, eax
mov byte [rbp - 0x50], al
lea rdx, [rbp + 0xe4]
lea rcx, [rbp - 0x50]
call fcn.140002bf0
mov rbx, rax
cmp byte [rax], 0
jne 0x14000c7d4
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
cmp ecx, 3
jae 0x14000c7d4
lea ecx, [r15 + r15*2]
lea edi, [r12 + rcx*2]
call fcn.140003bf0
movsx r9d, al
call fcn.140003c20
movsx r10d, al
call fcn.140003c00
movsx r11d, al
mov r13d, dword [rbp - 0x80]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000bf96
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm14
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000be3b
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000be3b
mov r13d, 7
jmp 0x14000be92
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000be92
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm14
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bf0c
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000bf0c
mov dword [rbp + 0xac], 7
jmp 0x14000bf68
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000bf68
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0xac], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0xac]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c5cc
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c1b9
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm15
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c056
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c056
mov dword [rbp + 0xa4], 7
jmp 0x14000c0b2
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c0b2
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0xa4], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm15
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c12c
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c12c
mov dword [rbp + 0xa8], 7
jmp 0x14000c188
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c188
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0xa8], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0xa8]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0xa4]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c3b9
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c257
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c257
mov dword [rbp + 0x9c], 7
jmp 0x14000c2b3
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c2b3
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0x9c], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c32c
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c32c
mov dword [rbp + 0xa0], 7
jmp 0x14000c388
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c388
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0xa0], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0xa0]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x9c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c5cc
mov eax, dword [rsp + 0x20]
sub eax, 0x4a
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c461
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c461
mov dword [rbp + 0xc], 7
jmp 0x14000c4ba
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c4ba
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0xc], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x4a
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c542
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c542
mov dword [rbp + 0x98], 7
jmp 0x14000c59e
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c59e
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0x98], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x98]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0xc]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r9d
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c7b5
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c662
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c662
mov dword [rbp + 0x2c], 7
jmp 0x14000c6bb
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c6bb
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0x2c], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rbp - 0x80], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c731
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c731
mov dword [rbp + 0x64], 7
jmp 0x14000c78a
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c78a
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x80]
cvttsd2si eax, xmm0
mov dword [rbp + 0x64], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x64]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x2c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jb 0x14000bda0
mov dword [rbp - 0x80], r13d
mov r13, qword [rbp - 0x60]
mov byte [rbx], 1
lea r8, [rbx + 1]
mov r9, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov rax, qword [r11 + r9*8]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000c803
inc rax
test ecx, ecx
jne 0x14000c7f0
mov r10d, dword [rsp + 0x34]
test edx, edx
jne 0x14000c81d
lea eax, [r10 + 1]
cmp eax, dword [rsp + 0x70]
jge 0x14000c81d
mov edx, 1
jmp 0x14000c81f
xor edx, edx
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c8b3
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000c8b3
mov dword [rbp + 0x34], 7
jmp 0x14000c90d
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000c90d
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x34], eax
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x34]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x34]
test eax, eax
je 0x14000c957
inc r10d
mov dword [rsp + 0x34], r10d
inc r9
mov qword [rbp - 0x40], r9
mov rdx, qword [r11 + r9*8]
lea rcx, [rbp + 0x210]
call fcn.140001e50
jmp 0x14000b8ac
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x1c]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx eax, byte [0x140023009]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ca40
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ca40
mov dword [rbp + 0x38], 7
jmp 0x14000ca9a
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ca9a
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x38], eax
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*8]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x38]
xor edx, edx
test eax, eax
je 0x14000cd2b
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a998]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000cb4f
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000cb91
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000cb91
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
lea edx, [r15 + r15*4]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000cc6d
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000cc6d
mov dword [rbp + 0x3c], 7
jmp 0x14000ccc7
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ccc7
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x3c], eax
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x3c]
test eax, eax
je 0x14000b8b0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a9a0]
jmp 0x14000ec7a
lea edi, [r12 + r15*8]
add edi, r15d
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
xor eax, eax
mov byte [rbp - 0x4f], al
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x4f]
call fcn.140003050
mov rbx, rax
cmp byte [rax], 0
jne 0x14000d795
xor eax, eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x20]
lea ecx, [r15 + r15*2]
lea esi, [r12 + rcx*2]
call fcn.140003bf0
movsx r9d, al
call fcn.140003c20
movsx r10d, al
call fcn.140003c00
movsx r11d, al
mov r12d, dword [rbp - 0x30]
mov r13d, dword [rsp + 0x78]
mov r15d, dword [rbp + 0x60]
nop
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000cf8b
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ce4b
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ce4b
mov r13d, 7
jmp 0x14000ce9b
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ce9b
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000cf11
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000cf11
mov r15d, 7
jmp 0x14000cf61
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000cf61
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d57f
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d196
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab30]
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d050
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d050
mov dword [rbp + 0x44], 7
jmp 0x14000d0a2
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d0a2
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x44], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d119
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d119
mov dword [rbp + 0x40], 7
jmp 0x14000d16b
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d16b
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d380
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab28]
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d23a
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d23a
mov dword [rbp + 0x4c], 7
jmp 0x14000d28c
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d28c
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x4c], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d303
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d303
mov dword [rbp + 0x48], 7
jmp 0x14000d355
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d355
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, r12d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d57f
mov eax, dword [rsp + 0x20]
sub eax, 0x44
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d42a
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d42a
mov dword [rbp + 0x54], 7
jmp 0x14000d47c
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d47c
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x54], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x44
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d502
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d502
mov dword [rbp + 0x50], 7
jmp 0x14000d554
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d554
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x50]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x54]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r9d
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d764
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab20]
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d61e
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d61e
mov dword [rbp + 0x5c], 7
jmp 0x14000d670
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d670
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x5c], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d6e7
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d6e7
mov dword [rbp + 0x58], 7
jmp 0x14000d739
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d739
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x78]
cvttsd2si eax, xmm0
mov dword [rbp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x5c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jb 0x14000cdb0
mov dword [rbp + 0x60], r15d
mov dword [rsp + 0x78], r13d
mov r15d, dword [rsp + 0x68]
mov r12d, dword [rsp + 0x58]
mov r13, qword [rbp - 0x60]
mov esi, dword [rbp - 0x30]
mov byte [rbx], 1
lea r8, [rbx + 1]
mov rax, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov rax, qword [r11 + rax*8]
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000d7c3
inc rax
test ecx, ecx
jne 0x14000d7b0
xor edi, edi
mov eax, edi
test edx, edx
sete al
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d860
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d860
mov dword [rbp + 0x68], 7
jmp 0x14000d8ba
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d8ba
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x68], eax
lea edx, [r15 + r15*4]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x68]
test eax, eax
je 0x14000d8f1
mov byte [rsp + 0x50], 1
jmp 0x14000b8b0
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
shl edx, 3
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx eax, byte [0x140023009]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000d9db
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000d9db
mov dword [rbp + 0x6c], 7
jmp 0x14000da35
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000da35
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x6c], eax
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x34]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x6c]
xor edx, edx
test eax, eax
je 0x14000dcb8
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a9a8]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dae6
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000db28
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000db28
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
movsx eax, byte [0x14002300c]
add eax, dword [rbp - 0x1c]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dc05
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000dc05
mov dword [rbp + 0x70], 7
jmp 0x14000dc5f
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dc5f
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp + 0x70], eax
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rbp + 0x70]
test eax, eax
je 0x14000b8b0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
jmp 0x14000ec7a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
xor eax, eax
mov byte [rbp - 0x4e], al
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x4e]
call fcn.1400031b0
mov rbx, rax
cmp byte [rax], dil
jne 0x14000e74a
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
lea ecx, [r15 + r15*2]
lea esi, [r12 + rcx*2]
call fcn.140003bf0
movsx r9d, al
call fcn.140003c20
movsx r10d, al
call fcn.140003c00
movsx r11d, al
lea edi, [r12 + r15*8]
add edi, r15d
mov r12d, dword [rbp - 0x30]
mov r13d, dword [rbp - 0x70]
mov r15d, dword [rbp + 0x94]
nop dword [rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000df1f
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab18]
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dde2
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000dde2
mov r13d, 7
jmp 0x14000de31
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000de31
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dea6
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000dea6
mov r15d, 7
jmp 0x14000def5
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000def5
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e522
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e126
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab10]
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000dfe3
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000dfe3
mov dword [rbp + 0x78], 7
jmp 0x14000e034
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e034
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x78], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e0aa
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e0aa
mov dword [rbp + 0x74], 7
jmp 0x14000e0fb
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e0fb
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x74], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x74]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x78]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r9d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e315
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab08]
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e1cc
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e1cc
mov dword [rbp + 0x80], 7
jmp 0x14000e220
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e220
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x80], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e296
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e296
mov dword [rbp + 0x7c], 7
jmp 0x14000e2e7
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e2e7
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x7c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x7c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x80]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx eax, byte [0x14002300c]
add eax, r12d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e522
mov eax, dword [rsp + 0x20]
sub eax, 0x3e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e3c1
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e3c1
mov dword [rbp + 0x88], 7
jmp 0x14000e415
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e415
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x88], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x3e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e49d
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e49d
mov dword [rbp + 0x84], 7
jmp 0x14000e4f1
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e4f1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x84], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x84]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x88]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r9d
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e715
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm2, qword [0x14001ab00]
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e5c3
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e5c3
mov dword [rbp + 0x90], 7
jmp 0x14000e617
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e617
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x90], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp - 0x70], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e690
movsx edx, byte [0x1400233d8]
imul edx, r9d
add edx, edx
sub edx, r10d
add edx, r11d
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e690
mov dword [rbp + 0x8c], 7
jmp 0x14000e6e4
movsx eax, byte [0x14002300c]
add eax, edi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e6e4
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x70]
cvttsd2si eax, xmm0
mov dword [rbp + 0x8c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + rbx + 1]
and r8b, byte [rbp + 0x8c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + rbx + 1]
sub dl, r8b
add dl, byte [rbp + 0x90]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + rbx + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 3
jb 0x14000dd40
mov dword [rbp + 0x94], r15d
mov dword [rbp - 0x70], r13d
mov r15d, dword [rsp + 0x68]
mov r12d, dword [rsp + 0x58]
mov r13, qword [rbp - 0x60]
mov esi, dword [rbp - 0x30]
xor edi, edi
mov byte [rbx], 1
lea r8, [rbx + 1]
mov rax, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov rax, qword [r11 + rax*8]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000e773
inc rax
test ecx, ecx
jne 0x14000e760
mov rax, rdi
test edx, edx
sete al
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e810
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e810
mov dword [rsp + 0x38], 7
jmp 0x14000e86b
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e86b
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rsp + 0x38]
test eax, eax
je 0x14000e8a3
mov byte [rsp + 0x6c], 1
jmp 0x14000b8b0
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
shl edx, 2
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx eax, byte [0x140023009]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e995
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000e995
mov dword [rsp + 0x3c], 7
jmp 0x14000e9f0
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000e9f0
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
lea edx, [r15 + r15*4]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rsp + 0x3c]
test eax, eax
je 0x14000ed2c
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm1
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000eaa5
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000eae7
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000eae7
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000b8b0
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ebc2
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ebc2
mov dword [rsp + 0x40], 7
jmp 0x14000ec1d
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ec1d
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*8]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rsp + 0x40]
test eax, eax
je 0x14000b8b0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x14001a9b0]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
xor edx, edx
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ecd7
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x14000b8b0
lea ecx, [r15 + r12]
lea ecx, [rcx + r15*8]
movsx eax, byte [0x14002300c]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002300b]
div ecx
movsx ecx, byte [0x140023008]
mov r9d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x60]
cmp eax, ecx
je 0x14000b8ba
movzx eax, byte [0x14002300c]
movzx eax, byte [0x14002300b]
movzx eax, byte [0x140023008]
movsd xmm0, qword [rsp + 0x20]
jmp 0x14000b8ba
lea edx, [r15 + r15*2]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ee98
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, rdi
cmp byte [rsp + 0x50], 0
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000edf7
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000edf7
mov dword [rsp + 0x44], 7
jmp 0x14000ee52
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ee52
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, dword [rsp + 0x44]
test eax, eax
je 0x14000ee98
mov r9d, 0x10
mov r8, qword [str.Error]
mov rdx, qword [str.Invalid_arguments_]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov r11, qword [rbp - 0x58]
movsx eax, byte [0x14002300c]
add eax, r12d
lea eax, [rax + r15*2]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ef49
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140016d09
lea ecx, [r15 + r12]
movsx eax, byte [0x14002300c]
lea ecx, [rcx + r15*8]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000efa6
movsx eax, byte [0x14002300c]
add eax, r14d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rsp + 0x54], eax
jmp 0x14000efaa
mov eax, dword [rsp + 0x54]
cmp edi, eax
jl 0x140016d09
jmp 0x14000b8b0
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f54d
cmp qword [rbp + 0x240], 0
je 0x14000f018
cmp qword [rbp + 0x200], 0
jne 0x14000f018
mov rdx, rsi
xor r10d, r10d
jmp 0x14000f01e
xor r10d, r10d
mov edx, r10d
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f0d5
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000f0d5
mov r9d, 7
jmp 0x14000f16f
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f16a
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14000f16f
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000f54d
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
movzx edi, byte [rsp + 0x50]
cmp eax, ecx
je 0x14000f3b9
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r10
test dil, dil
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f2bc
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000f2bc
mov r10d, 7
jmp 0x14000f356
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f351
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r10d, xmm0
jmp 0x14000f356
mov r10d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x14000f3b9
mov r9d, 0x10
mov r8, qword [str.Error]
mov rdx, qword [str.The__n_parameter_is_required_when_using__l.]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f4a7
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140016d18
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f53b
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x14000f53f
mov eax, dword [rsp + 0x30]
xor r11d, r11d
cmp r11d, eax
jl 0x140016d18
jmp 0x14000f555
xor r11d, r11d
movzx edi, byte [rsp + 0x50]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fadc
cmp qword [rbp + 0x200], 0
je 0x14000f5b1
cmp qword [rbp + 0x220], 0
mov rdx, rsi
je 0x14000f5b4
mov rdx, r11
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f66b
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000f66b
mov r9d, 7
jmp 0x14000f705
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f700
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14000f705
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000fadc
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f94d
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r11
test dil, dil
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f850
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000f850
mov r9d, 7
jmp 0x14000f8ea
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000f8e5
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14000f8ea
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
imul r10d, edx, 7
call fcn.140003c10
movsx eax, al
add eax, r10d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000f94d
mov r9d, 0x10
mov r8, qword [str.Error]
mov rdx, qword [str.The__m_parameter_is_required_when_using__n.]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fa38
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140016d18
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000facc
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x14000fad0
mov eax, dword [rsp + 0x30]
xor r11d, r11d
cmp r11d, eax
jl 0x140016d18
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r10d, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add r10d, ecx
movsx eax, byte [0x14002300c]
add eax, r10d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
mov dword [rsp + 0x70], r11d
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015ac7
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r11
test dil, dil
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fbe4
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000fbe4
mov r9d, 7
jmp 0x14000fc5d
movsx eax, byte [0x14002300c]
add eax, r10d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fc58
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14000fc5d
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
xor edi, edi
mov dword [rsp + 0x70], edi
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140015ac9
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov qword [rbp - 0x60], rax
xor eax, eax
mov byte [rbp - 0x4d], al
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x4d]
call fcn.140003480
mov r10, rax
movsd xmm4, qword [0x14001aaf0]
movsd xmm7, qword [0x14001aae8]
movsd xmm8, qword [0x14001aae0]
movsd xmm9, qword [0x14001aad8]
cmp byte [rax], dil
jne 0x140010769
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ff87
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fe47
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000fe47
mov r14d, 7
jmp 0x14000fe97
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000fe97
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ff0b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14000ff0b
mov r15d, 7
jmp 0x14000ff5b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14000ff5b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001056f
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010181
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010041
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010041
mov r12d, 7
jmp 0x140010091
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010091
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010105
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010105
mov r13d, 7
jmp 0x140010155
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010155
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010367
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001021b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001021b
mov dword [rsp + 0x48], 7
jmp 0x14001026e
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001026e
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400102e5
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400102e5
mov dword [rsp + 0x4c], 7
jmp 0x140010338
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010338
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001056f
mov eax, dword [rsp + 0x20]
sub eax, 0x2d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010415
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010415
mov dword [rsp + 0x40], 7
jmp 0x140010468
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010468
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x2d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400104ed
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400104ed
mov dword [rsp + 0x44], 7
jmp 0x140010540
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010540
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010750
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010604
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010604
mov dword [rsp + 0x38], 7
jmp 0x140010657
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010657
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400106ce
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400106ce
mov dword [rsp + 0x3c], 7
jmp 0x140010721
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010721
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 2
jb 0x14000fdb0
xor edi, edi
mov byte [r10], 1
lea rax, [r10 + 1]
mov qword [rbp - 0x40], rax
xor ecx, ecx
mov byte [rbp - 0x4c], cl
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x4c]
call fcn.140003310
mov r10, rax
cmp byte [rax], 0
jne 0x140011205
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
cmp ecx, 8
jae 0x140011205
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
movsd xmm3, qword [0x14001aaf8]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010a27
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400108e7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400108e7
mov r14d, 7
jmp 0x140010937
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010937
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400109ab
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400109ab
mov r15d, 7
jmp 0x1400109fb
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400109fb
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001100d
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010c21
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010ae1
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010ae1
mov r12d, 7
jmp 0x140010b31
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010b31
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010ba5
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010ba5
mov r13d, 7
jmp 0x140010bf5
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010bf5
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010e05
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010cba
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010cba
mov dword [rsp + 0x48], 7
jmp 0x140010d0d
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010d0d
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010d83
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010d83
mov dword [rsp + 0x4c], 7
jmp 0x140010dd6
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010dd6
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001100d
mov eax, dword [rsp + 0x20]
sub eax, 0x2e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010eb3
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010eb3
mov dword [rsp + 0x40], 7
jmp 0x140010f06
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010f06
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x2e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010f8b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140010f8b
mov dword [rsp + 0x44], 7
jmp 0x140010fde
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140010fde
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400111ee
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400110a2
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400110a2
mov dword [rsp + 0x38], 7
jmp 0x1400110f5
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400110f5
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001116c
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001116c
mov dword [rsp + 0x3c], 7
jmp 0x1400111bf
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400111bf
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 8
jb 0x140010850
mov byte [r10], 1
lea rdx, [r10 + 1]
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
xor eax, eax
mov byte [rbp - 0x4b], al
lea rdx, [rbp + 0x118]
lea rcx, [rbp - 0x4b]
call fcn.1400035f0
mov r10, rax
movsd xmm6, qword [0x14001aad0]
xor ebx, ebx
cmp byte [rax], bl
jne 0x140011c9f
mov dword [rsp + 0x20], ebx
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400114c5
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011387
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011387
mov r14d, 7
jmp 0x1400113d7
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400113d7
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001144b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001144b
mov r15d, 7
jmp 0x14001149b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001149b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r10 + rax*4 + 4]
and r8d, r15d
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r10 + rax*4 + 4]
sub edx, r8d
add edx, r14d
movsxd rax, dword [rsp + 0x20]
mov dword [r10 + rax*4 + 4], edx
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011aa9
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400116bf
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011580
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011580
mov r12d, 7
jmp 0x1400115d0
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400115d0
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011645
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011645
mov r13d, 7
jmp 0x140011695
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011695
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r10 + rax*4 + 4]
and r8d, r13d
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r10 + rax*4 + 4]
sub edx, r8d
add edx, r12d
movsxd rax, dword [rsp + 0x20]
mov dword [r10 + rax*4 + 4], edx
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400118a3
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011759
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011759
mov dword [rsp + 0x48], 7
jmp 0x1400117ac
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400117ac
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011823
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011823
mov dword [rsp + 0x4c], 7
jmp 0x140011876
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011876
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r10 + rax*4 + 4]
and r8d, dword [rsp + 0x4c]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r10 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov dword [r10 + rax*4 + 4], edx
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011aa9
mov eax, dword [rsp + 0x20]
sub eax, 0x2c
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011951
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011951
mov dword [rsp + 0x40], 7
jmp 0x1400119a4
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400119a4
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x2c
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011a29
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011a29
mov dword [rsp + 0x44], 7
jmp 0x140011a7c
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011a7c
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r10 + rax*4 + 4]
and r8d, dword [rsp + 0x44]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r10 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov dword [r10 + rax*4 + 4], edx
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011c86
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011b3d
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011b3d
mov dword [rsp + 0x38], 7
jmp 0x140011b90
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011b90
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011c06
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011c06
mov dword [rsp + 0x3c], 7
jmp 0x140011c59
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011c59
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r10 + rax*4 + 4]
and r8d, dword [rsp + 0x3c]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r10 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov dword [r10 + rax*4 + 4], edx
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 1
jb 0x1400112f0
xor ebx, ebx
mov byte [r10], 1
mov eax, dword [r10 + 4]
lea rdx, [0x140023040]
mov rdx, qword [rdx + rax*8]
lea rcx, str.Very_secure_call_n
call rdx
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
movsd xmm9, qword [0x14001aab8]
movsd xmm10, qword [0x14001aab0]
cmp eax, ecx
je 0x140013480
cmp qword [rbp + 0x240], 0
sete dl
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor dl, 1
movzx eax, dl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011dd6
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140011dd6
mov r10d, 7
jmp 0x140011e70
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140011e6b
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r10d, xmm0
jmp 0x140011e70
mov r10d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x140013480
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x4a], cl
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp - 0x4a]
call fcn.140003750
mov r10, rax
movsd xmm7, qword [0x14001aac8]
movsd xmm8, qword [0x14001aac0]
cmp byte [rax], 0
jne 0x140012967
mov dword [rsp + 0x20], ebx
mov ecx, dword [rsp + 0x20]
cmp ecx, 0x1f
jae 0x140012967
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012187
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012047
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012047
mov r14d, 7
jmp 0x140012097
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012097
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001210b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001210b
mov r15d, 7
jmp 0x14001215b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001215b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001276f
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012381
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012241
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012241
mov r12d, 7
jmp 0x140012291
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012291
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012305
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012305
mov r13d, 7
jmp 0x140012355
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012355
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012567
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001241b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001241b
mov dword [rsp + 0x48], 7
jmp 0x14001246e
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001246e
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400124e5
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400124e5
mov dword [rsp + 0x4c], 7
jmp 0x140012538
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012538
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001276f
mov eax, dword [rsp + 0x20]
sub eax, 0x29
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012615
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012615
mov dword [rsp + 0x40], 7
jmp 0x140012668
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012668
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x29
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400126ed
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400126ed
mov dword [rsp + 0x44], 7
jmp 0x140012740
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012740
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012950
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012804
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012804
mov dword [rsp + 0x38], 7
jmp 0x140012857
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012857
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400128ce
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400128ce
mov dword [rsp + 0x3c], 7
jmp 0x140012921
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012921
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x1f
jb 0x140011fb0
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0xf
cmova rdx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x240]
mov rcx, rax
call fcn.140001280
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x49], cl
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x49]
call fcn.140001ed0
mov r10, rax
cmp byte [rax], 0
jne 0x140013439
xor eax, eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012c57
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012b17
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012b17
mov r14d, 7
jmp 0x140012b67
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012b67
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012bdb
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012bdb
mov r15d, 7
jmp 0x140012c2b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012c2b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013241
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012e53
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012d12
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012d12
mov r12d, 7
jmp 0x140012d62
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012d62
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012dd7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012dd7
mov r13d, 7
jmp 0x140012e27
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012e27
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013039
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012eed
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012eed
mov dword [rsp + 0x48], 7
jmp 0x140012f40
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012f40
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140012fb7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140012fb7
mov dword [rsp + 0x4c], 7
jmp 0x14001300a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001300a
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013241
mov eax, dword [rsp + 0x20]
sub eax, 0x28
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400130e7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400130e7
mov dword [rsp + 0x40], 7
jmp 0x14001313a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001313a
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x28
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400131bf
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400131bf
mov dword [rsp + 0x44], 7
jmp 0x140013212
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013212
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013422
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400132d6
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400132d6
mov dword [rsp + 0x38], 7
jmp 0x140013329
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013329
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400133a0
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400133a0
mov dword [rsp + 0x3c], 7
jmp 0x1400133f3
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400133f3
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x11
jb 0x140012a80
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0xf
cmova rdx, qword [rbp + 0x1f0]
mov r8, qword [rbp + 0x200]
mov rcx, rax
call fcn.140001280
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
movsd xmm7, qword [0x14001aaa8]
movsd xmm8, qword [0x14001aaa0]
cmp eax, ecx
je 0x14001412a
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movzx eax, byte [rsp + 0x50]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013592
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013592
mov r9d, 7
jmp 0x14001362c
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013627
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14001362c
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14001412a
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x48], cl
lea rdx, [rbp + 0x148]
lea rcx, [rbp - 0x48]
call fcn.140002040
mov r10, rax
cmp byte [rax], 0
jne 0x140014109
xor eax, eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013929
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400137e8
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400137e8
mov r14d, 7
jmp 0x140013838
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013838
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400138ad
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400138ad
mov r15d, 7
jmp 0x1400138fd
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400138fd
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013f11
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013b25
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400139e4
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400139e4
mov r12d, 7
jmp 0x140013a34
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013a34
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013aa9
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013aa9
mov r13d, 7
jmp 0x140013af9
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013af9
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013d09
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013bbe
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013bbe
mov dword [rsp + 0x48], 7
jmp 0x140013c11
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013c11
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013c87
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013c87
mov dword [rsp + 0x4c], 7
jmp 0x140013cda
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013cda
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013f11
mov eax, dword [rsp + 0x20]
sub eax, 0x26
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013db7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013db7
mov dword [rsp + 0x40], 7
jmp 0x140013e0a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013e0a
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x26
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013e8f
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013e8f
mov dword [rsp + 0x44], 7
jmp 0x140013ee2
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013ee2
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400140f2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013fa6
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140013fa6
mov dword [rsp + 0x38], 7
jmp 0x140013ff9
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140013ff9
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014070
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014070
mov dword [rsp + 0x3c], 7
jmp 0x1400140c3
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400140c3
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x14
jb 0x140013750
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
movsd xmm6, qword [0x14001aa90]
cmp eax, ecx
je 0x140014dd6
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movzx eax, byte [rsp + 0x6c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014233
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014233
mov r9d, 7
jmp 0x1400142cd
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400142c8
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x1400142cd
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140014dd6
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x35], cl
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x35]
call fcn.1400021b0
mov r10, rax
cmp byte [rax], 0
jne 0x140014db5
xor eax, eax
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
movsd xmm3, qword [0x14001aa98]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400145d7
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014497
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014497
mov r14d, 7
jmp 0x1400144e7
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400144e7
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001455b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001455b
mov r15d, 7
jmp 0x1400145ab
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400145ab
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014bbf
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400147d3
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014692
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014692
mov r12d, 7
jmp 0x1400146e2
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400146e2
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014757
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014757
mov r13d, 7
jmp 0x1400147a7
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400147a7
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400149b7
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001486c
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001486c
mov dword [rsp + 0x48], 7
jmp 0x1400148bf
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400148bf
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014935
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014935
mov dword [rsp + 0x4c], 7
jmp 0x140014988
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014988
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014bbf
mov eax, dword [rsp + 0x20]
sub eax, 0x24
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014a65
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014a65
mov dword [rsp + 0x40], 7
jmp 0x140014ab8
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014ab8
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x24
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014b3d
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014b3d
mov dword [rsp + 0x44], 7
jmp 0x140014b90
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014b90
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014d9e
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014c53
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014c53
mov dword [rsp + 0x38], 7
jmp 0x140014ca6
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014ca6
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014d1c
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014d1c
mov dword [rsp + 0x3c], 7
jmp 0x140014d6f
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014d6f
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x1d
jb 0x140014400
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
mov esi, 1
mov dword [rsp + 0x70], esi
movsx ecx, byte [0x140023008]
xor edi, edi
cmp eax, ecx
je 0x140015ac9
mov eax, edi
cmp qword [rbp + 0x220], rdi
setne al
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014ee7
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140014ee7
lea r9d, [rsi + 6]
jmp 0x140014f81
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140014f7c
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x140014f81
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
mov dword [rsp + 0x70], esi
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140015ac9
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x36], cl
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 0x36]
call fcn.140002330
mov r10, rax
cmp byte [rax], dil
jne 0x140015a7a
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
mov dword [rsp + 0x58], edx
call fcn.140003c10
movsx eax, al
mov dword [rsp + 0x68], eax
lea r9d, [rax + rdx*2]
add r9d, edx
movsd xmm3, qword [0x14001aa88]
movsd xmm4, qword [0x14001aa80]
movsd xmm5, qword [0x14001aa78]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015297
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015157
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015157
mov r14d, 7
jmp 0x1400151a7
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400151a7
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001521b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001521b
mov r15d, 7
jmp 0x14001526b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001526b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001587d
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015491
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015351
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015351
mov r12d, 7
jmp 0x1400153a1
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400153a1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015415
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015415
mov r13d, 7
jmp 0x140015465
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015465
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015675
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001552a
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001552a
mov dword [rsp + 0x48], 7
jmp 0x14001557d
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001557d
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400155f3
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400155f3
mov dword [rsp + 0x4c], 7
jmp 0x140015646
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015646
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x68]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001587d
mov eax, dword [rsp + 0x20]
sub eax, 0x21
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015723
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015723
mov dword [rsp + 0x40], 7
jmp 0x140015776
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015776
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x21
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400157fb
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400157fb
mov dword [rsp + 0x44], 7
jmp 0x14001584e
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001584e
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015a5c
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015911
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015911
mov dword [rsp + 0x38], 7
jmp 0x140015964
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015964
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400159da
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400159da
mov dword [rsp + 0x3c], 7
jmp 0x140015a2d
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015a2d
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x18
jb 0x1400150c0
mov esi, 1
xor edi, edi
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 0xf
cmova rdx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x220]
mov rcx, rax
call fcn.140001280
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x70], esi
jmp 0x140015ac9
xor edi, edi
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016d1f
cmp qword [rbp + 0x240], 0
je 0x140015b25
cmp qword [rbp + 0x200], 0
mov rdx, rsi
jne 0x140015b28
mov rdx, rdi
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015bdf
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015bdf
mov r9d, 7
jmp 0x140015c79
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015c74
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x140015c79
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140016d1f
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x230]
call fcn.140003ce0
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016d1f
cmp qword [rbp + 0x220], 0
sete dl
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor dl, 1
movzx eax, dl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015ddf
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015ddf
mov r10d, 7
jmp 0x140015e79
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015e74
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r10d, xmm0
jmp 0x140015e79
mov r10d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x140016d1f
call fcn.140003be0
movsx r9d, al
call fcn.140003bd0
movsx ecx, al
imul r9d, ecx
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016d1f
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x1f0]
call fcn.140007810
xor al, 1
movzx eax, al
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140015fd6
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140015fd6
mov r9d, 7
jmp 0x140016070
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001606b
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x140016070
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea ecx, [rcx + rdx*2]
mov dword [rsp + 0x54], ecx
movsx eax, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140016d1f
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov byte [rbp - 0x37], cl
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x37]
call fcn.1400024b0
mov r10, rax
cmp byte [rax], 0
jne 0x140016b5f
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
cmp ecx, 0x20
jae 0x140016b5f
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx eax, al
add eax, edx
mov dword [rsp + 0x58], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
add r9d, ecx
movsd xmm3, qword [0x14001aa70]
movsd xmm4, qword [0x14001aa68]
movsd xmm5, qword [0x14001aa60]
movsd xmm6, qword [0x14001aa58]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016387
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016247
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016247
mov r14d, 7
jmp 0x140016297
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016297
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001630b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001630b
mov r15d, 7
jmp 0x14001635b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001635b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016969
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016581
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016441
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016441
mov r12d, 7
jmp 0x140016491
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016491
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016505
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016505
mov r13d, 7
jmp 0x140016555
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016555
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016765
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001661a
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001661a
mov dword [rsp + 0x48], 7
jmp 0x14001666d
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001666d
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400166e3
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400166e3
mov dword [rsp + 0x4c], 7
jmp 0x140016736
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016736
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016969
mov eax, dword [rsp + 0x20]
sub eax, 0x1d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001680f
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001680f
mov dword [rsp + 0x40], 7
jmp 0x140016862
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016862
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x1d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400168e7
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400168e7
mov dword [rsp + 0x44], 7
jmp 0x14001693a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001693a
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016b48
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400169fd
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400169fd
mov dword [rsp + 0x38], 7
jmp 0x140016a50
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016a50
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016ac6
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016ac6
mov dword [rsp + 0x3c], 7
jmp 0x140016b19
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016b19
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x20
jb 0x1400161b0
mov byte [r10], 1
lea rdx, [r10 + 1]
mov rcx, qword [rbp - 0x60]
call fcn.140001020
lea rdx, [0x140001770]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016c6b
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140016d13
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016cff
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x140016d03
mov eax, dword [rsp + 0x30]
xor edi, edi
cmp edi, eax
jge 0x140016d1f
mov esi, 1
jmp 0x140017d40
mov esi, 1
xor edi, edi
jmp 0x140017d40
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016f1d
cmp byte [rsp + 0x6c], 0
je 0x140016d75
cmp qword [rbp + 0x220], 0
jne 0x140016d79
mov qword [rbp - 0x28], rdi
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016e31
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140016e31
mov r9d, 7
jmp 0x140016ecb
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140016ec6
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x140016ecb
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140016f1d
lea rcx, [rbp + 0x210]
call fcn.140007cf0
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017baf
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, dword [rsp + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001701a
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001701a
mov r9d, 7
jmp 0x1400170b4
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400170af
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x1400170b4
mov r9d, dword [rsp + 0x30]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
call fcn.140003c10
movsx ecx, al
add ecx, edx
mov dword [rsp + 0x58], ecx
movsx eax, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140017baf
xor eax, eax
mov byte [rbp - 0x38], al
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x38]
call fcn.140002620
mov r10, rax
cmp byte [rax], 0
jne 0x140017ba1
mov dword [rsp + 0x20], edi
mov ecx, dword [rsp + 0x20]
cmp ecx, 6
jae 0x140017ba1
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
lea eax, [rcx + rdx*2]
mov dword [rsp + 0x54], eax
call fcn.140003bf0
movsx r11d, al
call fcn.140003c20
movsx ebx, al
call fcn.140003c00
movsx edi, al
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea esi, [rdx + rdx*8]
call fcn.140003c10
movsx ecx, al
add esi, ecx
call fcn.140003bd0
movsx edx, al
call fcn.140003be0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx ecx, al
add r9d, ecx
movsd xmm3, qword [0x14001aa50]
movsd xmm4, qword [0x14001aa48]
movsd xmm5, qword [0x14001aa40]
movsd xmm6, qword [0x14001aa38]
mov r14d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400173c7
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017287
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017287
mov r14d, 7
jmp 0x1400172d7
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400172d7
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001734b
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001734b
mov r15d, 7
jmp 0x14001739b
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001739b
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r14b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x54]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400179a9
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400175c1
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017481
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017481
mov r12d, 7
jmp 0x1400174d1
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400174d1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm4
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017545
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017545
mov r13d, 7
jmp 0x140017595
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017595
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, r13b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx ecx, byte [0x1400233d8]
imul ecx, r11d
lea edx, [rcx + rcx*4]
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x1400177a5
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001765a
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001765a
mov dword [rsp + 0x48], 7
jmp 0x1400176ad
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400176ad
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017723
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017723
mov dword [rsp + 0x4c], 7
jmp 0x140017776
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017776
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx eax, byte [0x14002300c]
add eax, dword [rsp + 0x58]
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400179a9
mov eax, dword [rsp + 0x20]
sub eax, 0x19
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001784f
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x14001784f
mov dword [rsp + 0x40], 7
jmp 0x1400178a2
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x1400178a2
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x19
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017927
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017927
mov dword [rsp + 0x44], 7
jmp 0x14001797a
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x14001797a
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
movsx edx, byte [0x1400233d8]
imul edx, r11d
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017b88
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017a3d
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017a3d
mov dword [rsp + 0x38], 7
jmp 0x140017a90
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017a90
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017b06
movsx edx, byte [0x1400233d8]
imul edx, r11d
add edx, edx
sub edx, ebx
add edx, edi
movsx ecx, byte [0x140023009]
add ecx, edx
je 0x140017b06
mov dword [rsp + 0x3c], 7
jmp 0x140017b59
movsx eax, byte [0x14002300c]
add eax, esi
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017b59
movsx eax, byte [0x14002300c]
add eax, r9d
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r10 + 1]
and r8b, byte [rsp + 0x3c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r10 + 1]
sub dl, r8b
add dl, byte [rsp + 0x38]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r10 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 6
jb 0x1400171f0
xor edi, edi
mov byte [r10], 1
lea rcx, [r10 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002300a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x140023009]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017c9e
call fcn.140003bf0
movsx edx, al
movsx eax, byte [0x1400233d8]
imul edx, eax
add edx, edx
call fcn.140003c20
movsx ecx, al
sub edx, ecx
call fcn.140003c00
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x140023009]
add ecx, edx
jne 0x140017d3e
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
cmp eax, ecx
je 0x140017d32
call fcn.140003be0
movsx edx, al
call fcn.140003bd0
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003c10
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14002300c]
add eax, ecx
movsx ecx, byte [0x14002300b]
xor edx, edx
div ecx
movsx ecx, byte [0x140023008]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x140017d36
mov eax, dword [rsp + 0x30]
cmp edi, eax
jge 0x140017e3c
mov esi, edi
mov rdx, qword [rbp + 0x228]
cmp rdx, 0xf
jbe 0x140017d81
inc rdx
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017d7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017e74
call fcn.140018310
mov qword [rbp + 0x220], rdi
mov qword [rbp + 0x228], 0xf
mov byte [rbp + 0x210], 0
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
jbe 0x140017ddb
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017dd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017ed1
call fcn.140018310
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x140017e35
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017e30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017f2e
call fcn.140018310
mov eax, esi
jmp 0x140017f3c
mov rdx, qword [rbp + 0x228]
cmp rdx, 0xf
jbe 0x140017e80
inc rdx
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017e7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140017e7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140018310
mov qword [rbp + 0x220], rdi
mov qword [rbp + 0x228], 0xf
mov byte [rbp + 0x210], 0
mov rdx, qword [rbp + 0x208]
cmp rdx, 0xf
jbe 0x140017edd
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017ed8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140017ed8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140018310
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x140017f3a
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017f35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140017f35
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140018310
xor eax, eax
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.140018430
lea r11, [rsp + 0x400]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret