Function at 0x1800408d0
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 [0x1800b7480]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov rcx, qword [rsp + 0x310]
call fcn.180042e70
nop
mov rax, qword [rsp + 0x310]
add rax, 0x28
mov rcx, rax
call fcn.180042e30
mov rax, qword [rsp + 0x310]
add rax, 0x30
mov rcx, rax
call fcn.180042e10
mov rax, qword [rsp + 0x310]
add rax, 0x38
mov rcx, rax
call fcn.180042df0
mov rax, qword [rsp + 0x310]
add rax, 0x40
mov rcx, rax
call fcn.180042e50
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.18003e2f0
nop
mov rax, qword [rsp + 0x310]
add rax, 0x160
mov rcx, rax
call fcn.18003fb60
nop
mov rax, qword [rsp + 0x310]
add rax, 0x1d8
mov rcx, rax
call fcn.1800452b0
nop
mov rax, qword [rsp + 0x310]
add rax, 0x26c
mov rcx, rax
call fcn.180032658
nop
mov rax, qword [rsp + 0x310]
add rax, 0x28c
mov rcx, rax
call fcn.1800446b0
nop
mov rcx, qword [rsp + 0x310]
call fcn.180040d90
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.1800404a0
mov rax, qword [rsp + 0x310]
add rax, 0x320
mov rcx, qword [rsp + 0x310]
add rcx, 0x1d8
mov rdx, rax
call fcn.1800453c0
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.1800405d0
mov rax, qword [rsp + 0x310]
lea rcx, [0x18009bbf8]
lea rdi, [rax + 0x10]
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
call fcn.1800406d0
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 0x180040b50
mov rax, qword [rsp + 0x310]
add rax, 0x38
mov qword [rsp + 0x20], rax
jmp 0x180040b59
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 0x180040b8b
mov rax, qword [rsp + 0x310]
add rax, 0x28
mov qword [rsp + 0x28], rax
jmp 0x180040b94
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 0x180040bc6
mov rax, qword [rsp + 0x310]
add rax, 0x30
mov qword [rsp + 0x30], rax
jmp 0x180040bcf
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x30]
mov qword [0x1800b9b20], rax
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.180033630
add rsp, 0x2f8
pop rdi
pop rsi
ret