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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rsi, rcx
call qword [0x1400381f0]
mov edx, 0x55bb66e
lea rcx, [0x14001a0e0]
movsxd rdi, eax
call fcn.140009c50
mov edx, 0x765b34be
mov rcx, rax
call fcn.14000a290
lea rcx, [0x140019100]
test rax, rax
je 0x14000ce7b
cmp qword [rax], 0
jne 0x14000d1af
call qword [rsi + 0x28]
pxor xmm0, xmm0
mov r9d, 0x18
mov rcx, rdi
lea r8, [rsp + 0x90]
movaps xmmword [rsp + 0x90], xmm0
mov rdx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xa0], 0
call qword [rsi + 0x30]
mov rax, qword [rsp + 0x90]
mov edx, 0x5d602f2a
lea rcx, [0x14001a0a0]
mov qword [rsp + 0x38], rax
call fcn.140009c50
mov edx, 0xf94071a
mov rcx, rax
call fcn.14000a290
mov rbp, rax
test rax, rax
je 0x14000d2d5
mov rdx, qword [rax]
lea rbx, [0x140019100]
test rdx, rdx
jne 0x14000d19b
mov rcx, rbx
call fcn.1400081c0
mov edx, 3
lea rcx, [0x140019573]
mov rbx, rax
call fcn.1400081c0
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.ucrtbase.dll__wfopen]
mov rcx, rax
test rax, rax
je 0x14000d1b8
call qword [sym.imp.ucrtbase.dll__fileno]
mov ecx, eax
call qword [sym.imp.ucrtbase.dll__get_osfhandle]
xor r9d, r9d
xor edx, edx
mov r8d, 0x1000002
cdqe
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x58], rax
mov rcx, rax
mov qword [rsp + 0x28], 0
call qword [rsi + 0x38]
test rax, rax
jne 0x14000cf90
xor eax, eax
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov edx, 4
mov qword [rsp + 0x20], 0
mov rcx, rax
call qword [rsi + 0x40]
mov r9, rax
test rax, rax
je 0x14000cf6c
mov rax, qword [rsp + 0x38]
mov r11, qword [rsp + 0x30]
movsxd rdx, dword [rax + 0x3c]
lea r14, [rax + rdx]
cmp word [r14 + 6], 0
je 0x14000d16e
lea rax, [rsp + 0x78]
mov qword [rsp + 0x68], r11
lea r12, [r14 + 0x18]
xor ebx, ebx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
movdqa xmm6, xmmword [0x14001a6b0]
lea r15, [0x140018020]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r9
nop dword [rax]
movzx r10d, word [r14 + 0x14]
lea eax, [rbx + rbx*4]
mov edx, 0x19
mov rcx, r15
shl eax, 3
add r10, r12
movzx eax, ax
lea rbp, [r10 + rax]
call fcn.140007fb0
lea rcx, [0x14001a080]
movups xmmword [rax], xmm6
movzx edx, byte [rbp]
mov r13, rax
mov byte [rax + 0x10], dl
movzx edx, byte [rbp + 1]
mov byte [rax + 0x11], dl
movzx edx, byte [rbp + 2]
mov byte [rax + 0x12], dl
movzx edx, byte [rbp + 3]
mov byte [rax + 0x13], dl
movzx edx, byte [rbp + 4]
mov byte [rax + 0x14], dl
movzx edx, byte [rbp + 5]
mov byte [rax + 0x15], dl
movzx edx, byte [rbp + 6]
mov byte [rax + 0x16], dl
movzx edx, byte [rbp + 7]
mov byte [rax + 0x17], dl
mov edx, 0x286a3f1e
call fcn.140009c50
mov rcx, r13
mov rdx, rax
call fcn.14000cc20
test rax, rax
js 0x14000d15b
movsxd rax, dword [rbp + 0xc]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x74], 0
mov r9d, 4
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x70], 0
add rax, rcx
mov r8, qword [rsp + 0x30]
mov rcx, rdi
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x80], rax
movsxd rax, dword [rbp + 8]
mov rdx, r13
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x10]
test eax, eax
jne 0x14000cf6c
movsxd rax, dword [rbp + 0xc]
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x78]
lea r8, [rcx + rax]
mov rdx, qword [rsp + 0x80]
mov rcx, rdi
call qword [rsi + 0x18]
test eax, eax
jne 0x14000cf6c
lea rax, [rsp + 0x70]
mov r9d, dword [rsp + 0x74]
mov rdx, r13
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0x30]
call qword [rsi + 0x10]
test eax, eax
jne 0x14000cf6c
add ebx, 1
cmp bx, word [r14 + 6]
jb 0x14000d018
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x30], r11
mov rcx, rdi
call qword [rsi + 0x20]
mov rcx, qword [rsp + 0x58]
call qword [rsi + 0x20]
mov rcx, qword [rsp + 0x30]
call qword [rsi + 0x20]
mov rcx, qword [rsp + 0x60]
call qword [rsi + 0x48]
mov eax, 1
jmp 0x14000cf6e
lea rbx, [rax + 0x10]
mov rcx, rbx
call sub.ucrtbase.dll_strlen
mov rdx, rax
jmp 0x14000cefc
lea rcx, [rax + 0x10]
jmp 0x14000ce7b
mov edx, 0x30
lea rcx, [0x14004a100]
lea r12, str.IOError
call fcn.140007fb0
lea r15, [0x140018020]
mov r13, rax
lea rax, [0x14004a0c0]
mov rcx, r15
mov qword [r13], rax
mov qword [r13 + 0x10], r12
mov rax, qword [rbp]
lea r14, [rax + 0xd]
mov eax, 7
cmp r14, rax
cmovl r14, rax
lea rdx, [r14 + 0x11]
call fcn.140007fb0
lea rdx, [rbp + 0x10]
mov qword [rax + 8], r14
mov rbx, rax
movabs rax, 0x6f20746f6e6e6163
mov qword [rbx + 0x10], rax
lea rcx, [rbx + 0x1d]
movabs rax, 0x203a6e65706f20
mov qword [rbx + 0x16], rax
mov qword [rbx], 0xd
mov rax, qword [rbp]
lea r8, [rax + 1]
call sub.ucrtbase.dll_memcpy
mov rax, qword [rbp]
add rax, 0xd
mov qword [rbx], rax
add qword [rbx - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x14000d27c
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000d27c
call fcn.14000d5c0
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], rbx
test rax, rax
je 0x14000d2a4
mov rbx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
lea rdx, [rbx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000d2a4
call fcn.14000d5c0
mov qword [r13 + 8], 0
mov rcx, r13
mov rdx, r12
lea r9, str.io.nim
mov qword [rsp + 0x20], 0x2f7
lea r8, str.open
call fcn.1400086b0
xor ecx, ecx
jmp 0x14000cf30
xor edx, edx
lea rcx, [0x140019100]
call fcn.1400081c0
mov edx, 3
lea rcx, [0x140019573]
mov rbx, rax
call fcn.1400081c0
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.ucrtbase.dll__wfopen]
mov rcx, rax
test rax, rax
jne 0x14000cf30
mov edx, 0x30
lea rcx, [0x14004a100]
lea r12, str.IOError
call fcn.140007fb0
lea r15, [0x140018020]
mov edx, 0x1e
mov r13, rax
lea rax, [0x14004a0c0]
mov rcx, r15
mov qword [r13], rax
mov qword [r13 + 0x10], r12
call fcn.140007fb0
mov qword [rax + 8], 0xd
mov rbx, rax
movabs rax, 0x6f20746f6e6e6163
mov qword [rbx + 0x10], rax
movabs rax, 0x203a6e65706f20
mov qword [rbx + 0x16], rax
mov qword [rbx], 0xd
jmp 0x14000d253