Function at 0x1800408e0
Capabilities:
Create directory
Initialize winsock library

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x2f8
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x1800b7240]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov rcx, qword [rsp + 0x310]
call fcn.180042e80
nop
mov rax, qword [rsp + 0x310]
add rax, 0x28
mov rcx, rax
call fcn.180042e40
mov rax, qword [rsp + 0x310]
add rax, 0x30
mov rcx, rax
call fcn.180042e20
mov rax, qword [rsp + 0x310]
add rax, 0x38
mov rcx, rax
call fcn.180042e00
mov rax, qword [rsp + 0x310]
add rax, 0x40
mov rcx, rax
call fcn.180042e60
mov rax, qword [rsp + 0x310]
lea rcx, vtable.CAuth.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x310]
lea rcx, vtable.CAuth.1.0
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x310]
lea rcx, vtable.CAuth.2.0
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x310]
lea rcx, vtable.CAuth.3.0
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x310]
lea rcx, vtable.CAuth.4.0
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0x310]
add rax, 0xf8
mov rcx, rax
call fcn.18003e300
nop
mov rax, qword [rsp + 0x310]
add rax, 0x160
mov rcx, rax
call fcn.18003fb70
nop
mov rax, qword [rsp + 0x310]
add rax, 0x1d8
mov rcx, rax
call fcn.1800452c0
nop
mov rax, qword [rsp + 0x310]
add rax, 0x26c
mov rcx, rax
call fcn.180032668
nop
mov rax, qword [rsp + 0x310]
add rax, 0x28c
mov rcx, rax
call fcn.1800446c0
nop
mov rcx, qword [rsp + 0x310]
call fcn.180040da0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov rcx, qword [rsp + 0x310]
mov qword [rcx + 0xf0], rax
lea rdx, [rsp + 0x40]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov rax, qword [rsp + 0x310]
add rax, 0x320
mov rcx, rax
call fcn.1800404b0
mov rax, qword [rsp + 0x310]
add rax, 0x320
mov rcx, qword [rsp + 0x310]
add rcx, 0x1d8
mov rdx, rax
call fcn.1800453d0
mov rax, qword [rsp + 0x310]
add rax, 0x320
mov r8, rax
lea rdx, str._stemp
lea rcx, [rsp + 0x1e0]
call fcn.180017030
xor edx, edx
lea rcx, [rsp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea rcx, [rsp + 0x1e0]
call fcn.1800405e0
mov rax, qword [rsp + 0x310]
lea rcx, [0x18009bc08]
lea rdi, [rax + 0x10]
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
call fcn.1800406e0
xor edx, edx
mov ecx, 0xffff
div ecx
mov eax, edx
inc eax
mov rcx, qword [rsp + 0x310]
mov word [rcx + 0x20], ax
mov rax, qword [rsp + 0x310]
add rax, 0x420
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
cmp qword [rsp + 0x310], 0
je 0x180040b60
mov rax, qword [rsp + 0x310]
add rax, 0x38
mov qword [rsp + 0x20], rax
jmp 0x180040b69
mov qword [rsp + 0x20], 0
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x23c], rcx
cmp qword [rsp + 0x310], 0
je 0x180040b9b
mov rax, qword [rsp + 0x310]
add rax, 0x28
mov qword [rsp + 0x28], rax
jmp 0x180040ba4
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x28]
mov qword [rax + 0x158], rcx
cmp qword [rsp + 0x310], 0
je 0x180040bd6
mov rax, qword [rsp + 0x310]
add rax, 0x30
mov qword [rsp + 0x30], rax
jmp 0x180040bdf
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x30]
mov qword [0x1800b98d0], rax
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.180033640
add rsp, 0x2f8
pop rdi
pop rsi
ret