Function at 0x14001c99e
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
cmp qword [rcx], rdx
je 0x14001c9e2
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, rdi
call fcn.14001c9f0
lea rax, [rsi + 1]
cmp rax, 2
jb case.default.0x14001c9db
mov qword [rdi], rsi
call fcn.140054190
mov ecx, ebx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp qword [sym.imp.KERNEL32.dll_SetLastError]
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rdi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov eax, dword [rbp - 0x80]
lea r13, [0x14017cb68]
test eax, eax
je 0x1401965ac
invalid
add byte [rax], al
xor ecx, ecx
mov qword [rbp - 0x60], 7
lea rdx, [0x1401c7b00]
sbb r8b, byte [rbx]
add byte [rax - 0x77], cl
cdqe
mov qword [rbp - 0x58], rdx
mov edx, r14d
mov word [rbp - 0x78], cx
mov ecx, eax
call 0x14019acc8
mov byte [rbx + 0x4c00e8c8], cl
add byte [rax], al
cmp qword [rsi + 0x18], 8
mov qword [rbp - 0x50], rax
mov al, 0xf
invalid
int 3
add byte [rax], al
mov al, 0xf
invalid
mov rax, qword [rsi]
jmp 0x1401964a7
cmp byte [rdx + 0x450bc1], bh
mov dword [rsp + 0x30], r13d
mov rcx, rdi
mov r15d, r13d
call 0x140194678
xor r9d, r9d
lea r8, [rsp + 0x30]
mov edx, 0x45138a
mov rcx, rdi
call 0x140194678
cmp dword [rsp + 0x50], 2
je 0x140196131
test dword [rsp + 0x3c], 0x1000000
lea rcx, [0x1401c8a28]
je 0x140196138
lea rcx, [0x1401c89e8]
mov r14d, dword [rsp + 0x30]
mov rax, rcx
mov edx, dword [rax]
test edx, edx
jne 0x14019614c
cmp dword [rax + 4], r13d
je 0x140196165
cmp edx, r14d
je 0x140196157
add rax, 8
jmp 0x140196140
mov edi, dword [rax + 4]
mov edx, 0xffffffff
cmp edi, edx
jne 0x140196182
jmp 0x14019616a
mov edx, 0xffffffff
mov eax, dword [rcx]
test eax, eax
jne 0x1401961da
cmp dword [rcx + 4], r13d
jne 0x1401961e1
mov r13, qword [rsp + 0x60]
mov edi, dword [r13 + 0x18]
xor r13d, r13d
mov edx, dword [rsp + 0x34]
mov ecx, edi
call 0x14019acc8
mov r8d, dword [rsp + 0x38]
lea ecx, [r14 - 0x2ee7]
test ecx, 0xfffffffb
lea rdx, [0x1401c8838]
mov rdi, rax
lea rax, [0x1401c8860]
setne cl
and r8d, 0xfff
test cl, cl
cmovne rdx, rax
mov eax, dword [rdx]
test eax, eax
jne 0x1401961cf
cmp dword [rdx + 4], eax
je 0x140196257
cmp eax, r8d
je 0x14019623c
add rdx, 8
jmp 0x1401961c0
cmp eax, 0x2ee0
je 0x1401961e7
add rcx, 8
jmp 0x14019616a
mov edi, dword [rcx + 4]
cmp edi, edx
je 0x140196176
lea rax, [0x1401c89b0]
nop dword [rax]
mov ecx, dword [rax]
test ecx, ecx
jne 0x140196208
cmp dword [rax + 4], r13d
je 0x140196182
cmp ecx, r14d
je 0x140196213
add rax, 8
jmp 0x1401961f8
mov ecx, dword [rax + 4]
cmp ecx, edx
je 0x140196182
mov edx, dword [rsp + 0x34]
call 0x14019acc8
mov r15, rax
cmp word [rax], r13w
jne 0x140196182
mov r15, r13
jmp 0x140196182
mov ecx, dword [rdx + 4]
mov eax, 0xffffffff
cmp ecx, eax
je 0x140196257
mov r14d, dword [rsp + 0x34]
mov edx, r14d
call 0x14019acc8
jmp 0x14019625f
mov r14d, dword [rsp + 0x34]
mov rax, r13
mov qword [rbp + 0x148], rax
lea rcx, [0x1401c86d0]
mov qword [rbp + 0x140], rcx
lea rax, [0x1401c86e0]
movups xmm0, xmmword [rbp + 0x140]
mov qword [rbp + 0x150], 6
lea rcx, [rbp - 0x50]
movsd xmm1, qword [rbp + 0x150]
mov rdx, r12
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp + 0x140], rax
movsd qword [rbp - 0x30], xmm1
mov qword [rbp + 0x148], r15
movups xmm0, xmmword [rbp + 0x140]
mov qword [rbp + 0x150], 9
movsd xmm1, qword [rbp + 0x150]
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x50], rdi
movsd qword [rbp - 0x18], xmm1
mov qword [rbp - 0x48], 2
call 0x1401989a8
jmp case.default.0x140195ab3
mov rax, rsi
cmp qword [rdi + 0x18], 8
lea rcx, [0x1401c8718]
mov qword [rbp + 0x140], rcx
mov qword [rbp + 0x148], rax
movups xmm0, xmmword [rbp + 0x140]
mov qword [rbp + 0x150], 6
movsd xmm1, qword [rbp + 0x150]
movaps xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm1
jb 0x1401964e9
mov rdi, qword [rdi]
lea rax, [0x1401c8728]
mov qword [rbp + 0x148], rdi
mov qword [rbp + 0x140], rax
lea rdx, [rbp - 0x78]
movups xmm0, xmmword [rbp + 0x140]
mov qword [rbp + 0x150], 5
lea rcx, [rbp - 0x50]
movsd xmm1, qword [rbp + 0x150]
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x48], 2
movsd qword [rbp - 0x18], xmm1
call 0x1401989a8
cmp qword [rbp - 0x60], 8
lea rdx, [rbp - 0x78]
mov rax, qword [rbp - 0x68]
lea r9, [rbp - 0x78]
cmovae rdx, qword [rbp - 0x78]
cmovae r9, qword [rbp - 0x78]
cmp qword [rsi + 0x18], 8
lea rax, [rdx + rax*2]
jb 0x14019656c
mov r10, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rcx, r10
lea r8, [rcx + rdx*2]
jmp 0x140196577
mov rcx, qword [rsi + 0x10]
mov r10, rsi
lea r8, [rsi + rcx*2]
mov rdx, r10
mov qword [rsp + 0x20], rax
mov rcx, rsi
call 0x140185db8
cmp qword [rbp - 0x60], 8
jb 0x1401965ac
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x78]
mov rax, qword [rax + 0x10]
cmp rax, r13
jne 0x1401965a6
call 0x1401bfd98
jmp 0x1401965ac
call qword [0x1401c6920]
mov r13, qword [rsp + 0x70]
cmp r13, qword [rsp + 0x58]
jne 0x140196c43
xor eax, eax
mov edi, eax
test r13, r13
je 0x140196794
cmp dword [r13], 1
jne 0x140196794
mov r14d, dword [r13 + 4]
mov eax, r14d
sub eax, 1
je 0x14019665f
cmp eax, 1
jne 0x1401966e4
mov edx, 0x4e0bc4
mov rcx, r13
call 0x140194118
mov r8, rax
test rax, rax
je 0x1401966f4
mov r10d, dword [rax]
mov ecx, r10d
and ecx, 0x3f0000
cmp ecx, 0x10000
jne 0x14019661f
lea eax, [rdi + 4]
lea r9, [r8 + 4]
jmp 0x140196639
mov ecx, r10d
call 0x140194008
test eax, eax
je 0x140196631
lea r9, [r8 + 4]
jmp 0x140196639
mov eax, dword [r8 + 4]
lea r9, [r8 + 4]
cmp eax, 0xffffffff
je 0x1401966f4
mov ecx, r10d
call 0x140194008
test eax, eax
je 0x140196656
mov rdi, r9
jmp 0x1401966db
lea rdi, [r8 + 8]
jmp 0x1401966db
mov r8, qword [r13 + 8]
test r8, r8
je 0x14019667c
mov ecx, dword [r8 + 8]
cmp ecx, 0x4e0bc4
je 0x1401966b5
mov r8, qword [r8]
test r8, r8
jne 0x140196668
mov r9d, 0xffffffff
mov r8, qword [r13 + 8]
test r8, r8
je 0x140196794
nop word [rax + rax]
mov ecx, dword [r8 + 8]
cmp ecx, 0x4e32c9
je 0x140196762
mov r8, qword [r8]
test r8, r8
jne 0x140196698
jmp 0x140196794
call 0x140194008
mov ecx, eax
test eax, eax
jne 0x1401966c4
mov ecx, dword [r8 + 0x10]
mov r9d, 0xffffffff
cmp ecx, r9d
je 0x140196682
lea rdi, [r8 + 0x10]
test eax, eax
jne 0x1401966db
mov rdi, qword [r8 + 0x18]
test rdi, rdi
jne 0x140196787
sub r14d, 1
je 0x14019667c
cmp r14d, 1
jne 0x140196794
mov edx, 0x4e32c9
mov rcx, r13
call 0x140194118
mov r8, rax
test rax, rax
je 0x140196794
mov r10d, dword [rax]
mov ecx, r10d
and ecx, 0x3f0000
cmp ecx, 0x10000
jne 0x14019672c
mov eax, 4
lea r9, [r8 + 4]
jmp 0x140196746
mov ecx, r10d
call 0x140194008
test eax, eax
je 0x14019673e
lea r9, [r8 + 4]
jmp 0x140196746
mov eax, dword [r8 + 4]
lea r9, [r8 + 4]
cmp eax, 0xffffffff
je 0x140196794
mov ecx, r10d
call 0x140194008
test eax, eax
je 0x14019675c
mov rdi, r9
jmp 0x140196782
lea rdi, [r8 + 8]
jmp 0x140196782
call 0x140194008
mov ecx, eax
test eax, eax
jne 0x140196771
mov ecx, dword [r8 + 0x10]
cmp ecx, r9d
je 0x140196794
lea rdi, [r8 + 0x10]
test eax, eax
jne 0x140196782
mov rdi, qword [r8 + 0x18]
test rdi, rdi
je 0x140196794
cmp word [rdi], 0
mov eax, 0
cmove rdi, rax
mov rcx, r13
call 0x1401b8338
mov ecx, eax
mov r14d, eax
shr ecx, 0x10
movzx edx, cl
sub edx, 1
je 0x1401967e0
sub edx, 1
je 0x1401967cd
cmp edx, 1
jne case.default.0x14019681b
test rdi, rdi
je case.default.0x14019681b
mov ecx, 0x1586
jmp 0x140196871
test rdi, rdi
je case.default.0x14019681b
mov ecx, 0x1587
jmp 0x140196871
xor eax, eax
lea r8, [rsp + 0x30]
xor r9d, r9d
mov dword [rsp + 0x30], eax
mov edx, 0x4532c8
mov rcx, r13
call 0x140194678
mov eax, dword [rsp + 0x30]
dec eax
cmp eax, 5
ja case.default.0x14019681b
lea rdx, [0x140177918]
mov ecx, dword [rdx + rax*4 + 0x1fa70]
add rcx, rdx
jmp rcx
mov ecx, 0x1584
jmp 0x140196871
mov ecx, 0x1585
jmp 0x140196871
xor eax, eax
test rdi, rdi
mov ecx, eax
setne cl
add ecx, 0x157c
jmp 0x140196871
xor eax, eax
test rdi, rdi
mov ecx, eax
setne cl
add ecx, 0x157e
jmp 0x140196871
xor eax, eax
test rdi, rdi
mov ecx, eax
setne cl
add ecx, 0x1580
jmp 0x140196871
xor eax, eax
test rdi, rdi
mov ecx, eax
setne cl
add ecx, 0x1582
mov r14d, dword [rsp + 0x34]
mov edx, r14d
call 0x14019acc8
mov r9, rax
mov rcx, rax
cmp word [rax], 0
je 0x140196894
add rcx, 2
cmp word [rcx], 0
jne 0x14019688a
sub rcx, r9
sar rcx, 1
cmp qword [rbx + 0x18], 8
lea r10, [rax + rcx*2]
jb 0x1401968b5
mov rdx, qword [rbx]
mov rcx, qword [rbx + 0x10]
mov rax, rdx
lea r8, [rdx + rcx*2]
jmp 0x1401968c0
mov rax, qword [rbx + 0x10]
mov rdx, rbx
lea r8, [rbx + rax*2]
mov rcx, rbx
mov qword [rsp + 0x20], r10
call 0x140185db8
test rdi, rdi
je 0x140196c1a
lea r10, [0x1401c8734]
mov rax, r10
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x1401968e8
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196915
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x14019691c
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
mov rdx, rdi
mov rcx, rbx
call 0x140198598
lea r8, [rsp + 0x58]
mov edx, 0x42139d
mov rcx, r13
call 0x140194558
mov r9, rax
test rax, rax
je 0x140196ae2
mov r8, qword [rsp + 0x58]
cmp r8, 1
jb 0x140196ae2
lea rcx, [r8*2 + 1]
cmp rcx, 0x29
ja 0x140196ae2
xor r10d, r10d
mov edx, r10d
test r8, r8
je 0x1401969c7
lea r11, [0x140177918]
movzx ecx, byte [rdx + r9]
mov eax, ecx
shr rax, 4
movzx eax, word [r11 + rax*2 + 0x514b0]
mov word [rbp + rdx*4 + 0x170], ax
movsx rax, cl
and eax, 0xf
movzx eax, word [r11 + rax*2 + 0x514b0]
mov word [rbp + rdx*4 + 0x172], ax
inc rdx
cmp rdx, r8
jb 0x14019698b
mov word [rbp + r8*4 + 0x170], r10w
lea r10, [0x1401c8738]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x1401969da
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196a07
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196a0e
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
cmp word [rbp + 0x170], 0
lea rax, [rbp + 0x170]
je 0x140196a42
nop word [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x140196a38
lea rcx, [rbp + 0x170]
sub rax, rcx
lea r9, [rbp + 0x170]
mov rcx, qword [rbx + 0x10]
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r9 + rax*2]
jb 0x140196a73
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196a7a
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
lea r9, [rbp + 0x170]
mov rcx, rbx
call 0x140185db8
lea r10, [0x1401c8740]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140196a9b
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196ac8
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196acf
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
lea r10, [0x1401c8744]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140196aec
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196b19
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196b20
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
jmp 0x140196c1a
cmp r14d, 0x1000103
jne 0x140196c15
xor r8d, r8d
mov edx, 0x4e13a7
mov rcx, r13
call 0x140194558
mov r14d, dword [rsp + 0x34]
mov rdi, rax
test rax, rax
je 0x140196c1a
mov edx, r14d
mov ecx, 0x1588
call 0x14019acc8
mov rdx, rax
mov rcx, rbx
call 0x140185d58
lea r10, [0x1401c8734]
mov rcx, r10
add rcx, 2
cmp word [rcx], 0
jne 0x140196b88
sub rcx, r10
sar rcx, 1
lea r9, [r10 + rcx*2]
mov rcx, qword [rbx + 0x10]
add rcx, rcx
cmp qword [rbx + 0x18], 8
jb 0x140196bb5
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196bbc
mov rdx, rbx
lea r8, [rbx + rcx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
mov edx, 0x3e8
mov rcx, rdi
call 0x1401c0c78
mov rdx, qword [rbx + 0x10]
add rdx, rdx
cmp qword [rbx + 0x18], 8
jb 0x140196bf5
mov r9, qword [rbx]
mov r8, r9
add r8, rdx
jmp 0x140196bfc
mov r9, rbx
lea r8, [rdx + rbx]
add rdx, r9
lea rax, [rdi + rax*2]
mov r9, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call 0x140185db8
jmp 0x140196c1a
mov r14d, dword [rsp + 0x34]
mov edx, 0x51d8d
mov rcx, r13
call 0x1401943a8
test eax, eax
je 0x140196c43
mov edx, r14d
mov ecx, 0x1677
call 0x14019acc8
mov rdx, rax
mov rcx, rbx
call 0x140198598
mov eax, dword [rsp + 0x3c]
bt eax, 0x13
jae 0x140196cd6
xor r9d, r9d
lea r8, [rsp + 0x58]
mov edx, 0x4e0bbb
mov rcx, r13
call 0x140194408
test eax, eax
jne 0x140196cd2
cmp qword [r15 + 0xb0], 0
je 0x140196cc5
lea r10, [0x1401c8734]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140196c7e
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196cab
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x140196cb2
mov rdx, rbx
lea r8, [rbx + rcx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call 0x140198598
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x50]
cmp ecx, 2
jne 0x140196e48
bt eax, 0x11
jb 0x140196fc4
bt eax, 0x15
jae 0x140196d1d
cmp qword [rsi + 0x18], 8
jb 0x140196d0a
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
lea r8, [rdx + rcx*2]
jmp 0x140196d15
mov rax, qword [rsi + 0x10]
mov rdx, rsi
lea r8, [rsi + rax*2]
mov rcx, rsi
call 0x1401955c8
cmp qword [r15 + 0x88], 0
je 0x140196dd9
cmp qword [r15 + 0x38], 0
je 0x140196d83
lea r10, [0x1401c8734]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140196d3c
mov rcx, qword [rsi + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rsi + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196d69
mov rdx, qword [rsi]
mov r8, rdx
add r8, rcx
jmp 0x140196d70
mov rdx, rsi
lea r8, [rsi + rcx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rsi
call 0x140185db8
cmp qword [r12 + 0x18], 8
jb 0x140196d9a
mov r10, qword [r12]
mov rcx, qword [r12 + 0x10]
lea rax, [r10 + rcx*2]
jmp 0x140196da6
mov rax, qword [r12 + 0x10]
mov r10, r12
lea rax, [r12 + rax*2]
mov rdx, qword [rsi + 0x10]
add rdx, rdx
cmp qword [rsi + 0x18], 8
jb 0x140196dbf
mov r9, qword [rsi]
mov r8, r9
add r8, rdx
jmp 0x140196dc6
mov r9, rsi
lea r8, [rdx + rsi]
add rdx, r9
mov qword [rsp + 0x20], rax
mov r9, r10
mov rcx, rsi
call 0x140185db8
cmp qword [r15 + 0xb0], 0
je 0x140196fc4
cmp qword [r15 + 0x38], 0
je 0x140196f6f
lea r10, [0x1401c8734]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140196dfc
mov rcx, qword [rsi + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rsi + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140196e34
mov rdx, qword [rsi]
mov r8, rdx
mov qword [rsp + 0x20], r9
add r8, rcx
mov r9, r10
jmp 0x140196f64
mov qword [rsp + 0x20], r9
lea r8, [rsi + rcx]
mov r9, r10
mov rdx, rsi
jmp 0x140196f64
cmp ecx, 1
jne 0x140196fc4
bt eax, 0x11
jb 0x140196fc4
cmp qword [r15 + 0x88], 0
lea rdi, [0x1401c8748]
je 0x140196f15
mov rax, rdi
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x140196e78
mov rcx, qword [rsi + 0x10]
sub rax, rdi
sar rax, 1
add rcx, rcx
cmp qword [rsi + 0x18], 8
lea r9, [rdi + rax*2]
jb 0x140196ea5
mov rdx, qword [rsi]
mov r8, rdx
add r8, rcx
jmp 0x140196eac
mov rdx, rsi
lea r8, [rcx + rsi]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, rdi
mov rcx, rsi
call 0x140185db8
cmp qword [r12 + 0x18], 8
jb 0x140196ed6
mov r10, qword [r12]
mov rcx, qword [r12 + 0x10]
lea rax, [r10 + rcx*2]
jmp 0x140196ee2
mov rax, qword [r12 + 0x10]
mov r10, r12
lea rax, [r12 + rax*2]
mov rdx, qword [rsi + 0x10]
add rdx, rdx
cmp qword [rsi + 0x18], 8
jb 0x140196efb
mov r9, qword [rsi]
mov r8, r9
add r8, rdx
jmp 0x140196f02
mov r9, rsi
lea r8, [rsi + rdx]
add rdx, r9
mov qword [rsp + 0x20], rax
mov r9, r10
mov rcx, rsi
call 0x140185db8
cmp qword [r15 + 0xb0], 0
je 0x140196fc4
mov rax, rdi
nop
add rax, 2
cmp word [rax], 0
jne 0x140196f28
mov rcx, qword [rsi + 0x10]
sub rax, rdi
sar rax, 1
add rcx, rcx
cmp qword [rsi + 0x18], 8
lea r9, [rdi + rax*2]
jb 0x140196f55
mov rdx, qword [rsi]
mov r8, rdx
add r8, rcx
jmp 0x140196f5c
mov rdx, rsi
lea r8, [rcx + rsi]
mov qword [rsp + 0x20], r9
mov r9, rdi
add rdx, rcx
mov rcx, rsi
call 0x140185db8
cmp qword [rbx + 0x18], 8
jb 0x140196f86
mov r10, qword [rbx]
mov rcx, qword [rbx + 0x10]
mov rax, r10
lea rax, [rax + rcx*2]
jmp 0x140196f91
mov rax, qword [rbx + 0x10]
mov r10, rbx
lea rax, [rbx + rax*2]
mov rdx, qword [rsi + 0x10]
add rdx, rdx
cmp qword [rsi + 0x18], 8
jb 0x140196faa
mov r9, qword [rsi]
mov r8, r9
add r8, rdx
jmp 0x140196fb1
mov r9, rsi
lea r8, [rdx + rsi]
add rdx, r9
mov qword [rsp + 0x20], rax
mov r9, r10
mov rcx, rsi
call 0x140185db8
cmp byte [0x1401d0eba], 0
jne 0x140196fda
cmp byte [0x1401d0eb2], 0
je 0x1401970ca
xor r9d, r9d
lea r8, [rsp + 0x58]
mov edx, 0x463afc
mov rcx, r13
call 0x140194678
test eax, eax
jne 0x1401970ca
mov r9, qword [rsp + 0x58]
lea r8, [0x1401c8750]
lea edx, [rax + 0x64]
lea rcx, [rbp - 0x50]
call 0x1401bb718
xor eax, eax
mov word [rbp + 0x76], ax
cmp qword [r15 + 0xb0], rax
je 0x14019706f
lea r10, [0x1401c8734]
mov rax, r10
add rax, 2
cmp word [rax], 0
jne 0x140197028
mov rcx, qword [rbx + 0x10]
sub rax, r10
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r10 + rax*2]
jb 0x140197055
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x14019705c
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rbx
call 0x140185db8
cmp word [rbp - 0x50], 0
lea rax, [rbp - 0x50]
je 0x140197084
add rax, 2
cmp word [rax], 0
jne 0x14019707a
lea rcx, [rbp - 0x50]
sub rax, rcx
lea r9, [rbp - 0x50]
mov rcx, qword [rbx + 0x10]
sar rax, 1
add rcx, rcx
cmp qword [rbx + 0x18], 8
lea r9, [r9 + rax*2]
jb 0x1401970af
mov rdx, qword [rbx]
mov r8, rdx
add r8, rcx
jmp 0x1401970b6
mov rdx, rbx
lea r8, [rcx + rbx]
add rdx, rcx
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x50]
mov rcx, rbx
call 0x140185db8
xor ebx, ebx
mov qword [rsp + 0x58], r13
lea rax, [0x1401c7b00]
mov qword [rbp + 0x150], rbx
lea r8, [rsp + 0x68]
mov qword [rbp + 0x160], rax
mov edx, 0x42139e
mov word [rbp + 0x140], bx
lea rcx, [rsp + 0x58]
mov qword [rbp + 0x158], 7
call 0x140194e98
mov rdx, rax
test rax, rax
je 0x140197212
mov r9, qword [rsp + 0x68]
cmp r9, 1
jb 0x140197212
lea rcx, [r9*2 + 1]
cmp rcx, 0x29
ja 0x140197212
test r9, r9
je 0x14019718f
lea rcx, [rbp + 0x172]
mov r8, r9
lea r10, [0x140177918]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rcx, [rcx + 4]
shr rax, 4
lea rdx, [rdx + 1]
movzx eax, word [r10 + rax*2 + 0x514b0]
mov word [rcx - 6], ax
movsx rax, byte [rdx - 1]
and eax, 0xf
movzx eax, word [r10 + rax*2 + 0x514b0]
mov word [rcx - 4], ax
sub r8, 1
jne 0x140197158
mov word [rbp + r9*4 + 0x170], bx
lea rax, [rbp + 0x170]
cmp word [rbp + 0x170], bx
je 0x1401971b1
add rax, 2
cmp word [rax], bx
jne 0x1401971a8
lea rcx, [rbp + 0x170]
sub rax, rcx
lea r10, [rbp + 0x170]
sar rax, 1
lea rdx, [rbp + 0x140]
cmp qword [rbp + 0x158], 8
lea r9, [rbp + 0x170]
lea rcx, [rbp + 0x140]
cmovae rdx, qword [rbp + 0x140]
lea r10, [r10 + rax*2]
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x20], r10
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x140]
cmovae rdx, qword [rbp + 0x140]
call 0x140185db8
mov rax, qword [rbp + 0x160]
lea rcx, [rbp + 0x140]
lea rsi, [r15 + 0xc8]
cmp rsi, rcx
je 0x140197298
mov rdx, qword [rsi + 0x20]
cmp rdx, rax
jne 0x140197298
cmp qword [rsi + 0x18], 8
jb 0x140197249
mov rcx, qword [rsi]
mov rax, qword [rdx + 0x10]
call qword [0x1401c6920]
mov rbx, qword [rbp + 0x158]
mov rdi, qword [rbp + 0x150]
cmp rbx, 8
jb 0x140197271
mov rax, qword [rbp + 0x140]
mov qword [rsi], rax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rbx
jmp 0x1401972c6
lea r8, [rdi*2 + 2]
mov rcx, rsi
sar r8, 1
lea rdx, [rbp + 0x140]
add r8, r8
call 0x1401c50a8
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rbx
jmp 0x1401972c6
cmp qword [rbp + 0x158], 8
jb 0x1401972c6
mov rax, qword [rax + 0x10]
lea rcx, [0x14017cb68]
cmp rax, rcx
mov rcx, qword [rbp + 0x140]
jne 0x1401972c0
call 0x1401bfd98
jmp 0x1401972c6
call qword [0x1401c6920]
mov edx, 0x46139f
mov rcx, r13
call 0x140194c88
mov rbx, rax
test rax, rax
je 0x14019734b
lea rdi, [r15 + 0xf0]
mov rdx, rax
mov rcx, rdi
call 0x1401982d8
test al, al
je 0x14019734b
lea r10, [0x1401c8734]
mov rcx, r10
add rcx, 2
cmp word [rcx], 0
jne 0x1401972fb
sub rcx, r10
sar rcx, 1
lea r9, [r10 + rcx*2]
mov rcx, qword [rdi + 0x10]
add rcx, rcx
cmp qword [rdi + 0x18], 8
jb 0x140197326
mov rdx, qword [rdi]
lea r8, [rcx + rdx]
jmp 0x14019732d
mov rdx, rdi
lea r8, [rcx + rdi]
add rdx, rcx
mov qword [rsp + 0x20], r9
mov r9, r10
mov rcx, rdi
call 0x140185db8
mov rdx, rbx
mov rcx, rdi
call 0x140198438
xor eax, eax
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call 0x1401bfd18
add rsp, 0x2e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret