Function at 0x1400215b0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov ebx, edx
mov rsi, rcx
lea rcx, [0x140028cf0]
call fcn.140004510
test eax, eax
je 0x14002180c
lea rcx, [0x140028cf0]
xor ebp, ebp
xor edx, edx
call fcn.14000e1f0
mov r15b, 1
cmp eax, 0x61
je 0x140021651
cmp eax, 0x72
mov r14d, 0
je 0x14002160f
cmp eax, 0x77
jne 0x14002181b
mov r14d, 1
mov ebp, 0x300
xor r15d, r15d
lea rcx, [0x140028cf0]
call fcn.140004510
cmp eax, 1
je 0x14002166d
cmp eax, 2
jne 0x140021818
lea rcx, [0x140028cf0]
mov edx, 1
call fcn.14000e1f0
mov edi, 2
cmp eax, 0x2b
je 0x140021670
cmp eax, 0x62
mov edi, r14d
je 0x140021670
jmp 0x14002181b
mov r14d, 1
mov ebp, 0x108
lea rcx, [0x140028cf0]
call fcn.140004510
cmp eax, 1
jne 0x140021620
mov edi, r14d
xor eax, eax
test ebp, 0x100
sete al
lea ecx, [rax + rax*2 + 2]
mov r14d, 4
sub r14d, eax
test r15b, r15b
cmove r14d, ecx
xor r15d, r15d
test bl, bl
setns al
test dil, 2
mov ecx, 0x120089
mov edx, 0x12019f
cmove edx, ecx
test dil, 1
mov ecx, 0x120116
cmove ecx, edx
mov ebx, ecx
and ebx, 0x120199
or ebx, 4
test bpl, 8
cmove ebx, ecx
mov ecx, dword [rsi + 4]
dec ecx
jo 0x140021807
js 0x14002170c
cmp byte [rsi + 0xc], 0
je 0x1400216f7
xor edx, edx
nop dword [rax + rax]
cmp ecx, edx
je 0x14002170c
inc edx
jo 0x140021807
movsxd r8, edx
cmp byte [rsi + r8 + 0xc], 0
jne 0x1400216e0
call fcn.140009270
mov rcx, rax
call fcn.140003730
mov rcx, rax
call fcn.140003790
mov r15b, al
or r15d, 0x80
mov rcx, rsi
call fcn.140004c60
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x30], 0
mov rcx, rax
mov edx, ebx
mov r8d, 7
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileW
mov rbx, rax
call fcn.14000b2a0
cmp rbx, qword [0x14002f218]
je 0x14002183d
or edi, ebp
mov rcx, rbx
mov edx, edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll__open_osfhandle
mov ebx, eax
cmp eax, 0xffffffff
je 0x14002177a
mov ecx, ebx
mov edx, 0x8000
call sub.api_ms_win_crt_stdio_l1_1_0.dll__setmode
jmp 0x140021798
lea rcx, [rsp + 0x44]
call sub.api_ms_win_crt_runtime_l1_1_0.dll__get_errno
test eax, eax
jne 0x140021869
mov edi, dword [rsp + 0x44]
test edi, edi
jne case.0x140021932.89
mov ecx, 0xb0
call sub.gc.dll_GC_malloc
mov rdi, rax
lea rcx, [rax + 4]
mov r8d, 0xa4
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + 0x65], 1
mov dword [rdi + 0x68], 0x8000
mov dword [rdi], 0x61
mov qword [rdi + 0xa8], rsi
mov byte [rdi + 0x70], 1
mov dword [rdi + 0x6c], ebx
mov byte [rdi + 0x38], 1
mov qword [rsp + 0x20], 0
lea rdx, [0x1400219d0]
mov rcx, rdi
xor r8d, r8d
xor r9d, r9d
call sub.gc.dll_GC_register_finalizer_ignore_self
mov rax, rdi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.140003430
lea rcx, [0x140028d00]
call fcn.140005470
cmp eax, 3
lea rcx, [0x140028d30]
lea rdx, [0x140028cf0]
lea r8, [0x1400277e8]
call fcn.140004800
mov rcx, rax
call fcn.140005470
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 2
jne 0x140021853
mov edi, 2
jmp case.0x140021932.89
lea edx, [rax - 4]
cmp edx, 3
jae 0x14002187f
mov eax, edx
lea rcx, [0x140029ee4]
mov edi, dword [rcx + rax*4]
jmp case.0x140021932.89
lea rcx, [0x140028290]
mov edx, eax
call fcn.1400194d0
mov rcx, rax
call fcn.140007430
lea edx, [rax - 7]
mov edi, 0xc
cmp edx, 3
jae 0x1400218bb
lea rcx, [0x140028d60]
lea rdx, [0x140028cf0]
lea r8, [0x1400277e8]
call fcn.140004800
mov rcx, rax
mov edx, edi
mov r8, rsi
call fcn.140014570
mov rcx, rax
call fcn.14000b250
lea edx, [rax - 0xa]
cmp edx, 9
jae 0x1400218cf
mov r8d, 0x1e3
bt r8d, edx
jb 0x140021900
cmp eax, 0x24
mov edi, 0xd
je case.0x140021932.89
lea edx, [rax - 0x13]
cmp edx, 0x10
jb case.0x140021932.89
lea edx, [rax - 0x35]
cmp edx, 0x1b
ja case.0x1400218f7.54
lea r8, [0x140026e24]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
mov edi, 0x11
jmp case.0x140021932.89
mov eax, edx
lea rcx, [0x140029ef0]
jmp 0x140021864
cmp ecx, 0x52
je case.0x140021932.89
mov edi, 0xb
lea edx, [rax - 0x59]
cmp edx, 0x19
ja case.0x140021932.90
lea r8, [0x140026e94]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
mov edi, 0xd
jmp case.0x140021932.89
mov edi, 0xa
cmp ecx, 0x80
je case.0x140021932.89
lea ecx, [rax - 0x82]
cmp ecx, 0x89
ja case.0x14002196b.131
lea rdx, [0x140026efc]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov edi, 8
jmp case.0x140021932.89
mov edi, 9
jmp case.0x140021932.89
mov edi, 0x20
jmp case.0x140021932.89
mov edi, 0x1c
jmp case.0x140021932.89
mov edi, 0xb
jmp case.0x140021932.89
cmp eax, 0x718
mov eax, 0xc
mov edi, 0x16
cmove edi, eax
jmp case.0x140021932.89
mov edi, 0x29
jmp case.0x140021932.89
mov edi, 0x14
jmp case.0x140021932.89