Function at 0x1800c0030
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x10b8
call fcn.1800d63d0
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1020], xmm6
mov qword [rbp + 0x1018], 0xfffffffffffffffe
mov qword [rbp + 0xfe8], rdx
mov r12, rcx
lea r13, [rbp - 0x50]
mov r8d, 0x1000
mov rcx, r13
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xorps xmm6, xmm6
lea r14, [rbp + 0xff8]
lea rbx, [0x1800b6490]
lea r15, [rbp + 0xfb0]
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
lea rsi, [0x1800c0564]
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
mov qword [rbp + 0xff0], r12
mov dword [rbp + 0xff8], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r14
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, r13
mov r8d, 0x1000
mov r9, r15
call r10
test eax, eax
je 0x1800c0150
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x1800c0100
mov ecx, dword [rbp + 0xffc]
test rcx, rcx
je 0x1800c0190
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1010], rcx
mov qword [rbp + 0x1008], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1010], rcx
mov qword [rbp + 0x1008], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
movzx eax, byte [rcx + 0x10]
jmp case.0x1800c01d2.0
mov eax, dword [rbp + 0x1000]
mov qword [rbp + 0x1010], rax
mov qword [rbp + 0x1008], 0
jmp 0x1800c01e4
shr rcx, 0x20
call fcn.1800aaaf0
jmp case.0x1800c01d2.0
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x1800c01d2
xor eax, eax
lea rdx, [0x1800c0574]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
invalid
mov al, 1
jmp case.0x1800c01d2.0
movzx eax, byte [rcx + 0xf]
cmp al, 0xb
je 0x1800c0482
mov rax, qword [rbp + 0x1008]
mov qword [rbp + 0xfd0], rax
mov rax, qword [rbp + 0x1010]
mov qword [rbp + 0xfd8], rax
cmp qword [rbp + 0xfd0], 0
jne 0x1800c0474
mov r12, qword [rbp + 0xfd8]
test r12, r12
je 0x1800c0440
cmp r12, 0x1000
ja 0x1800c04ae
mov rsi, r13
xor r13d, r13d
nop word cs:[rax + rax]
mov r8d, r12d
sub r8d, r13d
lea rdx, [r13 - 0x50]
add rdx, rbp
mov dword [rbp + 0xff8], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r14
mov qword [rsp + 0x20], rbx
mov rcx, qword [rbp + 0xfe8]
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteFileEx]
test eax, eax
je 0x1800c0415
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x1800c02a0
mov eax, dword [rbp + 0xffc]
test rax, rax
jne 0x1800c041a
mov eax, dword [rbp + 0x1000]
add r13, rax
cmp r13, r12
je 0x1800c02e0
jbe 0x1800c0240
jmp 0x1800c049a
mov r12, qword [rbp + 0xff0]
mov r13, rsi
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
invalid
scasd eax, dword [rdi]
add dword [rax], eax
lea rsi, [0x1800c0564]
insb byte [rdi], dx
add al, byte [rax]
add cl, ch
invalid
std
invalid
invalid
invalid
insb byte [rdi], dx
add al, byte [rax]
add cl, ch
mov eax, 0xb0fffffd
invalid
push qword [rax - 0x12716db]
mov al, 0x25
jmp case.0x1800c01d2.0
invalid
push qword [rax - 0x12e16dd]
mov al, 0x23
invalid
sar esi, 1
invalid
mov al, 0x25
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_recv
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0xe
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0xb
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 4
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x28
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0xc
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 9
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 2
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, recv
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 3
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 7
jmp case.0x1800c01d2.0
mov al, 0x1f
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x29
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, setsockopt
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 5
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_setsockopt
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0xd
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 6
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, send
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0xa
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 8
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_shutdown
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x27
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, reloc.WS2_32.dll_send
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x1800c01d2.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x1800c01d2.0
mov al, 0x26
jmp case.0x1800c01d2.0
mov al, 0x1a
jmp case.0x1800c01d2.0
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x1010], rax
mov qword [rbp + 0x1008], 1
lea rcx, [rbp + 0x1010]
call fcn.1800a9710
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0xff0]
call rsi
mov rcx, qword [rbp + 0xfe8]
call rsi
movaps xmm6, xmmword [rbp + 0x1020]
add rsp, 0x10b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0xfd8]
call fcn.1800a9710
jmp 0x1800c0440
xorps xmm0, xmm0
movaps xmmword [rbp + 0xfd0], xmm0
lea rcx, [rbp + 0x1010]
call fcn.1800a9710
jmp 0x1800c0440
lea r8, str.library_std_src_syswindowspipe.rs
mov rcx, r13
mov rdx, r12
call fcn.1800d7a20
jmp 0x1800c04c2
lea r8, str.library_std_src_syswindowspipe.rs
mov edx, 0x1000
mov rcx, r12
call fcn.1800d7790
ud2