Function at 0x18001f5b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x24]
mov rsi, rcx
mov rdx, rcx
mov dword [rcx + 0x20], eax
mov rcx, qword [rcx + 0x138]
call fcn.180025210
mov rcx, qword [rsi + 0x130]
mov edi, eax
call fcn.18001b850
test rax, rax
je 0x18001f29f
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test edi, edi
jne 0x18001f28d
mov edx, dword [rax + 0x28]
mov rbx, qword [rax + 0x18]
mov rcx, rsi
call fcn.18001f130
mov edi, eax
mov rax, rbx
test rbx, rbx
jne 0x18001f270
mov eax, edi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov eax, edi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbx
push rdi
push r13
push r15
sub rsp, 0x68
xor edi, edi
xor r15d, r15d
mov r13, rdx
mov rbx, rcx
test rdx, rdx
je 0x18001f5ef
mov ecx, dword [rdx + 0x18]
call fcn.18001a8f0
mov r15, rax
test rax, rax
jne 0x18001f5e9
lea eax, [rdi + 7]
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
ret
mov eax, dword [r13 + 0x18]
jmp 0x18001f5f2
mov eax, dword [rcx + 0x24]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x11]
mov byte [rbx + 0x17], al
test r13, r13
jne 0x18001f61c
cmp qword [rbx + 0x138], rdi
je 0x18001f61c
mov rcx, rbx
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
jmp 0x18001f230
mov qword [rsp + 0x90], rbp
lea rbp, [rbx + 0x60]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r14
mov r14, qword [rbp]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], r14
test r13, r13
je 0x18001f6a7
cmp qword [rbx + 0x138], rdi
jne 0x18001f6a7
mov rax, qword [r13 + 8]
mov rsi, r14
test rax, rax
cmovne rsi, rax
mov rax, qword [r13]
mov qword [rbp], rax
nop dword [rax]
cmp qword [rbp], rsi
jge 0x18001f69d
mov r9d, 1
mov r8, r15
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001e240
mov edi, eax
test eax, eax
je 0x18001f670
jmp 0x18001f763
test edi, edi
jne 0x18001f763
jmp 0x18001f6b0
mov qword [rbp], rdi
nop dword [rax + rax]
cmp qword [rbp], r14
jge 0x18001f763
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0x98]
mov r8, r14
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x20], rax
call fcn.18001d560
mov r12d, dword [rsp + 0x98]
mov edi, eax
test r12d, r12d
jne 0x18001f723
mov eax, dword [rbx + 0xb8]
mov rdx, qword [rbp]
add rax, qword [rbx + 0x68]
cmp rax, rdx
jne 0x18001f723
mov eax, dword [rbx + 0xbc]
add eax, 8
movsxd rcx, eax
mov rax, r14
sub rax, rdx
cqo
idiv rcx
mov r12, rax
xor esi, esi
test edi, edi
jne 0x18001f763
nop dword [rax]
cmp esi, r12d
jae 0x18001f6b0
cmp qword [rbp], r14
jge 0x18001f763
mov r9d, 1
mov r8, r15
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001e240
inc esi
mov edi, eax
test eax, eax
je 0x18001f730
test r13, r13
je 0x18001fada
mov eax, dword [rbx + 0xbc]
add eax, 4
movsxd rcx, eax
mov eax, dword [r13 + 0x1c]
imul rcx, rax
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rbx + 0x138]
test rcx, rcx
je 0x18001f7d3
mov eax, dword [rcx + 0x88]
cmp dword [r13 + 0x2c], eax
je 0x18001f7b2
mov dword [r13 + 0x20], 0
mov eax, dword [rcx + 0x88]
mov dword [r13 + 0x2c], eax
mov eax, dword [r13 + 0x20]
cmp eax, dword [rcx + 0x58]
jae 0x18001f7d1
mov dword [rcx + 0x58], eax
mov eax, dword [r13 + 0x24]
mov dword [rcx + 0x60], eax
mov eax, dword [r13 + 0x28]
mov dword [rcx + 0x64], eax
call fcn.180023050
xor edi, edi
mov eax, dword [r13 + 0x1c]
mov dword [rsp + 0x98], eax
test edi, edi
jne 0x18001fada
mov r14, qword [rsp + 0xa0]
lea ebp, [rdi + 7]
cmp eax, dword [rbx + 0x3c]
jae 0x18001fad0
mov rsi, qword [rbx + 0x58]
mov r13, qword [rbx + 0x128]
lea rdx, [rsp + 0xa0]
mov rax, qword [rsi]
mov r9, r14
mov r8d, 4
mov rcx, rsi
mov qword [rsp + 0x30], r13
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jne 0x18001fab8
mov r12d, dword [rsp + 0xa0]
mov rax, qword [rsi]
mov r8d, dword [rbx + 0xbc]
lea r9, [r14 + 4]
mov rdx, r13
mov rcx, rsi
bswap r12d
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jne 0x18001fab8
mov r8d, dword [rbx + 0xbc]
lea eax, [r8 + 4]
movsxd rcx, eax
add r14, rcx
test r12d, r12d
je 0x18001fab3
mov eax, dword [0x1802388f0]
cdq
idiv r8d
inc eax
cmp r12d, eax
je 0x18001fab3
cmp r12d, dword [rbx + 0x20]
ja 0x18001faaf
test r15, r15
je 0x18001f8c0
mov edx, r12d
mov rcx, r15
call fcn.18001a980
test eax, eax
jne 0x18001faaf
mov edx, r12d
mov rcx, r15
call fcn.18001aa60
mov edi, eax
test eax, eax
jne 0x18001fab8
cmp r12d, 1
jne 0x18001f8e3
movzx eax, byte [r13 + 0x14]
cmp word [rbx + 0xb2], ax
je 0x18001f8e3
mov rcx, rbx
mov word [rbx + 0xb2], ax
call fcn.18001e210
cmp qword [rbx + 0x138], 0
je 0x18001f9c4
xor esi, esi
mov qword [rsp + 0xa8], rsi
mov ecx, 1
mov r10, qword [rbx + 0x48]
cmp qword [r10], 0
je 0x18001f9f4
movzx eax, byte [rbx + 0x15]
cmp al, 4
jae 0x18001f91e
test al, al
jne 0x18001f9f4
test ecx, ecx
je 0x18001f9f4
movsxd r8, dword [rbx + 0xbc]
mov rax, qword [r10]
lea r9d, [r12 - 1]
imul r9, r8
mov rdx, r13
mov rcx, r10
call qword [rax + 0x18]
mov edi, eax
cmp r12d, dword [rbx + 0x28]
jbe 0x18001f94e
mov dword [rbx + 0x28], r12d
cmp qword [rbx + 0x70], 0
je 0x18001fa3b
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x18001f980
mov rcx, qword [rbx + 0x120]
mov r9d, 3
mov r8d, r12d
mov rdx, r13
call rax
test rax, rax
cmove edi, ebp
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x18001f994
mov r8, r13
mov edx, r12d
call fcn.180033960
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x18001fa3b
mov rcx, qword [rbx + 0x120]
mov r9d, ebp
mov r8d, r12d
mov rdx, r13
call rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x18001fa3b
mov edi, ebp
jmp 0x18001fa3b
mov edx, r12d
mov rcx, rbx
call fcn.180021680
mov rsi, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x18001f8fb
test byte [rax + 0x2c], 8
je 0x18001f8fb
xor ecx, ecx
jmp 0x18001f900
test rsi, rsi
jne 0x18001fa40
or byte [rbx + 0x19], 2
lea r9d, [rsi + 1]
lea r8, [rsp + 0xa8]
mov edx, r12d
mov rcx, rbx
call fcn.180021220
and byte [rbx + 0x19], 0xfd
mov edi, eax
test eax, eax
jne 0x18001fab8
mov rsi, qword [rsp + 0xa8]
mov eax, 0xffef
and word [rsi + 0x2c], ax
mov rcx, rsi
call fcn.18001b4e0
test rsi, rsi
je 0x18001fab8
mov r13, qword [rsi + 8]
movsxd r8, dword [rbx + 0xbc]
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.180183a80
mov rcx, rsi
call qword [rbx + 0x100]
cmp r12d, 1
jne 0x18001fa7d
mov rax, qword [r13 + 0x18]
mov qword [rbx + 0x88], rax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x90], rax
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x18001faa5
mov r8d, dword [rsi + 0x28]
mov rcx, qword [rbx + 0x120]
mov r9d, 3
mov rdx, r13
call rax
test rax, rax
cmove edi, ebp
mov rcx, rsi
call fcn.18001b3f0
jmp 0x18001fab8
xor edi, edi
jmp 0x18001fab8
mov edi, 0x65
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
test edi, edi
je 0x18001f7f1
mov rbp, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rcx, r15
call fcn.18001ae10
mov r12, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
test edi, edi
jne 0x18001faf4
mov qword [rbp], r14
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x90]
mov eax, edi
add rsp, 0x68
pop r15
pop r13
pop rdi
pop rbx
ret