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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rdi
push r14
sub rsp, 0xc0
movsxd r14, r9d
mov rbx, r8
mov rdi, rdx
cmp r14d, 0x10
jge 0x180097372
lea eax, [r14*4]
mov rcx, rbx
movsxd r8, eax
add rsp, 0xc0
pop r14
pop rdi
pop rbx
jmp fcn.1800785c0
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], r12
mov rcx, rbx
mov r8d, reloc.WS2_32.dll_gethostbyname
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xa0], r15
call fcn.1800785c0
mov ecx, dword [rdi + 0x2c]
mov r9d, dword [rdi + 0x30]
mov eax, dword [rdi + 0x28]
mov r15d, dword [rbx + 0x30]
xor esi, esi
sub eax, ecx
mov r8d, r9d
lea r13d, [r9 + rax*8]
mov eax, dword [rbx + 0x2c]
sub r8d, ecx
mov ecx, dword [rbx]
mov dword [rsp + 0x7c], eax
mov eax, dword [rbx + 0x28]
mov dword [rsp + 0x78], eax
mov eax, dword [rbx + 0x24]
add r8d, r8d
cmp r14, 0xd
mov dword [rsp + 0x74], eax
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x50], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0xf8], esi
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x2c], esi
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x34], esi
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x5c], esi
mov dword [rsp + 0x4c], esi
mov dword [rsp + 0x64], esi
lea ebp, [rsi + 0x1c]
lea r11d, [rsi + 0x40]
lea r12d, [rsi + 0x10]
mov dword [rsp + 0x70], ecx
mov qword [rsp + 0x90], r14
jle 0x18009780c
mov esi, dword [rsp + 0x7c]
mov rax, rbx
mov ebx, dword [rsp + 0x78]
sub rax, rdi
add r14, 0xfffffffffffffff3
lea r10, [rdi + 0x34]
mov edi, dword [rsp + 0x74]
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rax
nop dword [rax + rax]
imul ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x30]
mov edx, dword [r10]
sar ecx, 8
dec edx
mov r14d, esi
imul eax, dword [rsp + 0x58]
sar eax, 8
mov dword [r10], edx
imul r14d, dword [rsp + 0x24]
sub ecx, eax
mov eax, dword [rsp + 0x38]
sar r14d, 8
imul eax, dword [rsp + 0x3c]
sar eax, 8
sub ecx, eax
mov eax, dword [rsp + 0x40]
imul eax, dword [rsp + 0x60]
sar eax, 8
sub ecx, eax
mov eax, dword [rsp + 0x48]
imul eax, dword [rsp + 0x34]
sar eax, 8
sub ecx, eax
mov eax, dword [rsp + 0x50]
imul eax, dword [rsp + 0x68]
sar eax, 8
sub ecx, eax
mov eax, edi
imul eax, dword [rsp + 0x2c]
sar eax, 8
sub ecx, eax
mov eax, ebx
imul eax, dword [rsp + 0x6c]
sar eax, 8
sub ecx, eax
mov eax, r15d
imul eax, dword [rsp + 0xf8]
sar eax, 8
sub ecx, eax
mov eax, dword [rsp + 0x54]
imul eax, dword [rsp + 0x4c]
sar eax, 8
add ecx, eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x5c]
sar eax, 8
add ecx, eax
mov eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x44]
sar eax, 8
add eax, edx
add eax, ecx
add r14d, eax
test edx, edx
jle 0x18009761e
or ecx, 0xffffffff
test r15d, r15d
mov edx, 1
mov eax, ecx
cmovg eax, edx
sub dword [rsp + 0xf8], eax
test esi, esi
mov eax, ecx
cmovns eax, edx
add dword [rsp + 0x24], eax
test ebx, ebx
mov eax, ecx
cmovg eax, edx
sub dword [rsp + 0x6c], eax
test edi, edi
mov eax, ecx
cmovns eax, edx
sub dword [rsp + 0x2c], eax
cmp dword [rsp + 0x50], 0
mov eax, ecx
cmovg eax, edx
sub dword [rsp + 0x68], eax
cmp dword [rsp + 0x48], 0
mov eax, ecx
cmovge eax, edx
sub dword [rsp + 0x34], eax
cmp dword [rsp + 0x40], 0
mov eax, ecx
cmovg eax, edx
sub dword [rsp + 0x60], eax
cmp dword [rsp + 0x38], 0
mov eax, ecx
cmovge eax, edx
sub dword [rsp + 0x3c], eax
cmp dword [rsp + 0x30], 0
mov eax, ecx
cmovg eax, edx
sub dword [rsp + 0x58], eax
cmp dword [rsp + 0x28], 0
mov eax, ecx
cmovge eax, edx
add dword [rsp + 0x44], eax
cmp dword [rsp + 0x20], 0
mov eax, ecx
cmovg eax, edx
add dword [rsp + 0x5c], eax
cmp dword [rsp + 0x54], 0
mov eax, ecx
cmovge eax, edx
add dword [rsp + 0x4c], eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
test ecx, ecx
cmovg eax, edx
add dword [rsp + 0x64], eax
jmp 0x1800976dd
test edx, edx
jns 0x1800976dd
or ecx, 0xffffffff
test r15d, r15d
mov edx, 1
mov eax, ecx
cmovle eax, edx
sub dword [rsp + 0xf8], eax
test esi, esi
mov eax, ecx
cmovs eax, edx
add dword [rsp + 0x24], eax
test ebx, ebx
mov eax, ecx
cmovle eax, edx
sub dword [rsp + 0x6c], eax
test edi, edi
mov eax, ecx
cmovs eax, edx
sub dword [rsp + 0x2c], eax
cmp dword [rsp + 0x50], 0
mov eax, ecx
cmovle eax, edx
sub dword [rsp + 0x68], eax
cmp dword [rsp + 0x48], 0
mov eax, ecx
cmovl eax, edx
sub dword [rsp + 0x34], eax
cmp dword [rsp + 0x40], 0
mov eax, ecx
cmovle eax, edx
sub dword [rsp + 0x60], eax
cmp dword [rsp + 0x38], 0
mov eax, ecx
cmovl eax, edx
sub dword [rsp + 0x3c], eax
cmp dword [rsp + 0x30], 0
mov eax, ecx
cmovle eax, edx
sub dword [rsp + 0x58], eax
cmp dword [rsp + 0x28], 0
mov eax, ecx
cmovl eax, edx
add dword [rsp + 0x44], eax
cmp dword [rsp + 0x20], 0
mov eax, ecx
cmovle eax, edx
add dword [rsp + 0x5c], eax
cmp dword [rsp + 0x54], 0
mov eax, ecx
cmovl eax, edx
add dword [rsp + 0x4c], eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
test ecx, ecx
cmovle eax, edx
add dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x54]
mov edx, r9d
imul edx, r12d
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
sar edx, 9
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x38]
mov ecx, r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x40]
imul ecx, ebp
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x48]
sar ecx, 9
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x50]
add ecx, r14d
mov dword [rsp + 0x48], eax
add ecx, edx
mov eax, r13d
mov dword [rsp + 0x50], edi
mov edi, ebx
mov ebx, esi
imul eax, r11d
sar eax, 0xb
mov esi, r15d
mov r15d, r14d
add eax, ecx
mov dword [r10], eax
test r14d, r14d
jle 0x180097787
test r13d, r13d
mov r14d, 1
mov edx, 0xffffffff
mov eax, r14d
cmovg eax, edx
sub r11d, eax
test r8d, r8d
mov eax, r14d
cmovg eax, edx
sub ebp, eax
test r9d, r9d
mov eax, r14d
cmovg eax, edx
sub r12d, eax
jmp 0x1800977b4
test r14d, r14d
jns 0x1800977b4
or ecx, 0xffffffff
test r13d, r13d
mov edx, 1
mov eax, ecx
cmovg eax, edx
sub r11d, eax
test r8d, r8d
mov eax, ecx
cmovg eax, edx
sub ebp, eax
test r9d, r9d
mov eax, ecx
cmovg eax, edx
sub r12d, eax
mov ecx, dword [r10 - 4]
mov eax, dword [r10 - 8]
mov r9d, dword [r10]
sub eax, ecx
mov r8d, r9d
add r10, 4
sub r8d, ecx
mov ecx, dword [rsp + 0x70]
lea r13d, [r9 + rax*8]
mov rax, qword [rsp + 0x88]
add r8d, r8d
sub qword [rsp + 0x80], 1
mov dword [rax + r10 - 4], r9d
jne 0x1800974a0
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x90]
xor esi, esi
mov edx, dword [rdi + 4]
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
add edx, dword [rbx]
mov r12, qword [rsp + 0xb0]
mov r11d, 0x172
mov dword [rbx + 4], edx
mov ecx, dword [rdi + 8]
mov r9d, esi
add ecx, edx
mov dword [rbx + 8], ecx
mov edx, dword [rdi + 0xc]
add edx, ecx
mov dword [rbx + 0xc], edx
mov ecx, dword [rdi + 0x10]
add ecx, edx
mov dword [rbx + 0x10], ecx
mov edx, dword [rdi + 0x14]
add edx, ecx
mov dword [rbx + 0x14], edx
mov ecx, dword [rdi + 0x18]
add ecx, edx
mov dword [rbx + 0x18], ecx
mov edx, dword [rdi + 0x1c]
add edx, ecx
mov dword [rbx + 0x1c], edx
mov ecx, dword [rdi + 0x20]
add ecx, edx
mov dword [rbx + 0x20], ecx
mov edx, dword [rdi + 0x24]
add edx, ecx
mov dword [rbx + 0x24], edx
mov ecx, dword [rdi + 0x28]
add ecx, edx
mov dword [rbx + 0x28], ecx
mov eax, dword [rdi + 0x2c]
lea edx, [rcx + rax]
mov dword [rbx + 0x2c], edx
mov r8d, dword [rdi + 0x30]
add r8d, edx
mov edx, recv
mov dword [rbx + 0x30], r8d
mov ebp, dword [rdi + 0x30]
lea r10d, [rbp + rbp]
sub r10d, dword [rdi + 0x2c]
cmp rdx, r14
jge 0x180097909
nop word [rax + rax]
mov edi, dword [rbx + rdx*4]
mov eax, r9d
mov ecx, r10d
imul ecx, r11d
imul eax, esi
sar eax, 0xa
sar ecx, 9
sub ecx, eax
mov eax, edi
add ecx, dword [rbx + rdx*4]
xor eax, r10d
jl 0x1800978d7
inc r11d
jmp 0x1800978da
dec r11d
xor edi, esi
jl 0x1800978e3
dec r9d
jmp 0x1800978e6
inc r9d
imul r8d, r8d, 0x1f
lea r10d, [rcx + rcx]
inc rdx
sar r8d, 5
sub r10d, ebp
mov esi, ecx
add r8d, ecx
cmp rdx, r14
mov ebp, ecx
mov dword [rbx + rdx*4 - 4], r8d
jl 0x1800978b0
mov rbp, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xb8]
add rsp, 0xc0
pop r14
pop rdi
pop rbx
ret