Function at 0x18001f150
Capabilities:
Read .ini file
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov rdi, rcx
mov dword [rbp + 0x6f], 1
mov r9, qword [0x18005fed0]
mov r8d, 2
lea rdx, str.ptype
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, eax
mov rcx, qword [rdi + 0x10]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x11], rax
mov dword [rsp + 0x20], ebx
mov r9d, 0x5265c00
mov r8d, dword [rdi + 0x1c]
lea rdx, [rbp - 0x11]
lea rcx, [rbp + 0x6f]
call fcn.18002b740
mov r14, rax
mov qword [rbp - 9], rax
mov r12d, dword [rbp + 0x6f]
mov dword [rbp - 1], r12d
test rax, rax
je 0x18001f55a
lea rcx, [0x18005d078]
mov rdx, qword [0x18005d078]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
xor edi, edi
or esi, 0xffffffff
test r12d, r12d
je 0x18001f24c
mov r12d, 4
nop word [rax + rax]
mov eax, edi
lea rdx, [rbp + rax + 0x7f]
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x18001f51a
add edi, eax
cmp edi, 4
jae 0x18001f268
sub r12d, eax
jne 0x18001f220
jmp 0x18001f268
mov r8d, 4
lea rdx, [rbp + 0x7f]
mov rcx, r14
call fcn.18002ce00
test eax, eax
je 0x18001f539
jmp 0x18001f26a
xor edi, edi
mov r13d, dword [rbp + 0x7f]
cmp r13d, 0x3200000
ja 0x18001f51a
mov ecx, r13d
call fcn.18002f604
mov r15, rax
mov qword [rbp - 0x41], rax
test r13d, r13d
je 0x18001f512
cmp dword [rbp + 0x6f], 0
je 0x18001f2cb
mov r12d, r13d
test r13d, r13d
je 0x18001f2e1
mov edx, edi
add rdx, r15
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x18001f512
add edi, eax
cmp edi, r13d
jae 0x18001f2e1
sub r12d, eax
jne 0x18001f2a1
jmp 0x18001f2e1
mov r8d, r13d
mov rdx, rax
mov rcx, r14
call fcn.18002ce00
test eax, eax
je 0x18001f512
lea eax, [r13 + 0x400]
mov dword [rbp + 0x77], eax
lea ecx, [r13 + 1]
call fcn.18002f604
mov r15, rax
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [0x18004e2c8]
mov edx, r13d
mov rdi, qword [rbp - 0x41]
mov rcx, rdi
call fcn.180024250
xor r13d, r13d
test eax, eax
jne 0x18001f334
mov r12d, r13d
mov dword [rbp + 0x77], r13d
mov rcx, r15
call fcn.18002f934
mov r15d, r13d
jmp 0x18001f33d
movsxd r12, dword [rbp + 0x77]
mov byte [r12 + r15], 0
mov rcx, rdi
call fcn.18002f934
test r15, r15
je 0x18001f51a
mov rdi, r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x29], r13
mov qword [rbp - 0x21], 0
test r12d, r12d
je 0x18001f384
lea r9, [rbp - 0x31]
lea r8, [0x18004e270]
mov edx, r12d
mov rcx, r15
call fcn.180020050
mov r13, qword [rbp - 0x29]
mov rdi, qword [rbp - 0x31]
mov rcx, r15
call fcn.18002f934
mov r11, r13
sub r11, rdi
and r11, 0xfffffffffffffff8
cmp r11, 0x18
jne 0x18001f435
lea rdx, [0x18004e26c]
mov rcx, qword [rdi]
call fcn.180030ab0
mov rdx, qword [rdi + 8]
lea rcx, [rdx - 0x18]
lea r12, [rbx - 0x18]
cmp rcx, r12
je 0x18001f419
cmp dword [r12 + 0x10], 0
jl 0x18001f408
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x18001f408
call fcn.180001790
mov rbx, rax
mov ecx, esi
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18001f3f6
mov rcx, qword [r12]
mov r8, qword [rcx]
mov rdx, r12
call qword [rreloc.WS2_32.dll_htonl + 8]
add rbx, 0x18
mov qword [rbp - 0x49], rbx
mov r13, qword [rbp - 0x29]
mov rdi, qword [rbp - 0x31]
jmp 0x18001f419
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x49]
call fcn.180001b40
mov rbx, qword [rbp - 0x49]
lea r8, [rbp - 0x39]
lea rdx, [0x18004e268]
mov rcx, qword [rdi + 0x10]
call fcn.1800300e4
mov r12d, 1
jmp 0x18001f438
xor r12d, r12d
test rdi, rdi
je 0x18001f487
cmp rdi, r13
je 0x18001f47f
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001f46d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x29]
jne 0x18001f450
mov rbx, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x31]
mov rcx, rdi
call fcn.18002f934
test r12d, r12d
je 0x18001f51a
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rbp + 7], rax
mov r8, qword [rbp + 0x67]
mov edx, dword [rbp - 0x39]
lea rcx, [rbp + 7]
call fcn.18001e9b0
mov dword [rbp - 0x41], eax
test eax, eax
jne 0x18001f4f3
cmp dword [rbp + 0x6f], eax
je 0x18001f4d7
lea edx, [rax + 2]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x18001f4e0
mov ecx, r14d
call fcn.180004100
nop
lock xadd dword [rbx + 0x10], esi
dec esi
test esi, esi
jg 0x18001f55a
mov rcx, qword [rbx]
mov rdx, rbx
jmp 0x18001f554
lea rcx, [rbp - 9]
cmp dword [rbp + 0x6f], 0
je 0x18001f506
mov edx, eax
call fcn.18001ed60
jmp 0x18001f510
lea rdx, [rbp - 0x41]
call fcn.18001eb90
nop
jmp 0x18001f4e0
mov rcx, r15
call fcn.18002f934
cmp dword [rbp + 0x6f], 0
je 0x18001f539
mov edx, 2
mov rcx, r14
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x18001f542
mov ecx, r14d
call fcn.180004100
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x18001f55a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret