Function at 0x18018bab0
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x330
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1802d1460]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r15, rdx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov word [rsp + 0x68], r12w
lea r8d, [r12 - 1]
mov rdx, qword [0x1802e9610]
lea rcx, [rsp + 0x60]
call fcn.18016b370
nop
mov rdx, qword [0x1802e96a0]
cmp word [rdx], r12w
jne 0x18018bbe6
test r15, r15
je 0x18018bb3b
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.18016b290
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x18018bb8d
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
je 0x18018bcc8
call fcn.1801cc408
jmp 0x18018bcc8
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test eax, eax
je 0x18018bb70
mov dword [rsp + 0x44], r12d
mov r14d, esi
mov ecx, esi
call fcn.1801c7d10
mov rbx, rax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x44]
mov r8d, esi
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x44], esi
je 0x18018bcab
mov rcx, rbx
call fcn.1801c74d4
jmp 0x18018bb70
lea rcx, [rsp + 0x60]
call fcn.18016b290
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x18018bc02
mov rdi, qword [0x1802f0d60]
jmp 0x18018bc15
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, qword [rsp + 0x60]
call fcn.1801958a0
mov rdi, rax
test rdi, rdi
je 0x18018bb70
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rdx, r15
mov rcx, rdi
call fcn.180195ae0
test eax, eax
jne 0x18018bb70
mov esi, dword [rbp + 0x21c]
test esi, esi
je 0x18018bb70
mov r14d, esi
mov ecx, esi
call fcn.1801c7d10
mov rbx, rax
mov r9d, esi
mov r8, rax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.180195c70
test eax, eax
je 0x18018bc99
cmp eax, 0x600
je 0x18018bc99
mov rcx, rbx
call fcn.1801c74d4
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x18018bb70
mov rcx, rdi
call fcn.180195dd0
jmp 0x18018bb70
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x18018bcab
mov rcx, rdi
call fcn.180195dd0
nop
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
je 0x18018bcbf
call fcn.1801cc408
test rbx, rbx
jne 0x18018bd61
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x18018bd5a
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test eax, eax
je 0x18018bd5a
mov dword [rsp + 0x40], r12d
mov r14d, edi
mov ecx, edi
call fcn.1801c7d10
mov rbx, rax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x40], edi
je 0x18018bd55
mov rcx, rbx
call fcn.1801c74d4
xor eax, eax
jmp 0x18018be02
test rbx, rbx
jne 0x18018bd61
xor eax, eax
jmp 0x18018be02
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8, r14
mov rdx, rbx
mov rcx, rax
call fcn.1801c9a10
mov qword [rsp + 0x48], r12
lea r8, [rsp + 0x48]
mov edx, 1
mov rcx, rsi
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov r14, qword [rsp + 0x48]
mov ecx, Ordinal_27
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rdi, rax
test rax, rax
je 0x18018bddb
lea rax, vtable.Gdiplus::Image.0
mov qword [rdi], rax
lea rdx, [rdi + 8]
mov qword [rdx], r12
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipLoadImageFromStream]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x10], r12d
test eax, eax
je 0x18018bdf2
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdi, r12
mov edx, 1
mov rcx, rbx
call fcn.1801c74d4
mov rax, rdi
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1801c74b0
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret