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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movzx r15d, byte [r8 + 0x24]
mov rdi, r8
mov dword [rcx], edx
xor esi, esi
mov eax, dword [r8 + 0x1c]
mov rbx, rcx
add eax, 0xf
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [rcx + 0x30], eax
mov eax, dword [r8 + 0x20]
lea r8d, [rsi + 1]
add eax, 0xf
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [rcx + 0x34], eax
cmp dword [rdi + 0xa8], esi
jne 0x140187934
mov ecx, r8d
cmp dword [rdi + 0x3b0], esi
je 0x140187936
mov ecx, esi
mov dword [rbx + 0x38], ecx
test ecx, ecx
jne 0x140187945
inc eax
and eax, 0xfffffffe
mov dword [rbx + 0x34], eax
mov r14d, 2
cmp r15d, 0xc
jb 0x140187957
lea ebp, [r14 + 1]
jmp 0x14018796b
cmp r15d, 6
jb 0x140187962
mov ebp, r14d
jmp 0x14018796b
cmp r15d, r14d
mov ebp, esi
setae bpl
mov dword [rbx + 0x108], ebp
cmp dword [rdi + 0x290], esi
jne 0x140187984
mov eax, r8d
cmp dword [rdi + 0x294], esi
je 0x140187986
mov eax, esi
mov dword [rbx + 0x104], eax
test eax, eax
jne 0x1401879aa
cmp ebp, 3
je 0x1401879aa
cmp ebp, r14d
mov eax, WSAGetLastError
mov ecx, 0x7a
cmove eax, ecx
mov dword [rbx + 4], eax
jmp 0x1401879b1
mov dword [rbx + 4], 0xf4
mov qword [rbx + 0x14], rsi
mov qword [rbx + 0xc], rsi
mov eax, dword [rdi + 0x2c]
mov dword [rbx + 8], eax
mov eax, esi
cmp dword [rdi + 0x64], r8d
cmove eax, r8d
mov dword [rbx + 0x18], eax
cmp dword [rdi + 0x80], esi
je 0x1401879d9
mov r11d, r14d
jmp 0x1401879e3
cmp dword [rdi + 0x74], esi
mov r11d, esi
setne r11b
mov dword [rbx + 0xfc], r11d
mov ecx, r8d
cmp dword [rdi + 0x80], esi
mov r10d, 4
mov edx, dword [rdi + 0x60]
mov eax, edx
cmovne ecx, r10d
cmp ecx, edx
cmovg eax, ecx
inc r11d
cmp r11d, eax
jle 0x140187a14
mov eax, r11d
jmp 0x140187a1b
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov r9d, dword [rdi + 0x5c]
cmp r9d, eax
jle 0x140187a29
mov eax, r9d
jmp 0x140187a41
cmp ecx, edx
mov eax, ecx
cmovle eax, edx
cmp r11d, eax
jle 0x140187a3a
mov eax, r11d
jmp 0x140187a41
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
cmp eax, 0x10
jle 0x140187a4e
mov r9d, reloc.WS2_32.dll_recv
jmp 0x140187a85
cmp ecx, edx
mov eax, ecx
cmovle eax, edx
cmp r11d, eax
jle 0x140187a5f
mov eax, r11d
jmp 0x140187a66
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
cmp r9d, eax
jg 0x140187a85
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
cmp r11d, eax
jle 0x140187a7c
mov r9d, r11d
jmp 0x140187a85
cmp ecx, edx
mov r9d, edx
cmovg r9d, ecx
mov dword [rbx + 0x28], r9d
mov ecx, esi
mov dword [rbx + 0x100], r9d
mov eax, r9d
cmp dword [rdi + 0x80], r8d
sete cl
sub eax, ecx
mov dword [rbx + 0x28], eax
cmp dword [rdi + 0x64], r8d
jne 0x140187ab6
mov dword [rbx + 0x28], esi
mov r9d, esi
mov dword [rbx + 0x100], esi
cmp dword [rdi + 0x80], esi
mov edx, esi
setne dl
inc edx
imul edx, r9d
inc edx
cmp dword [rdi + 0x70], esi
je 0x140187ae2
mov ecx, dword [rbx + 0x30]
dec ecx
cmp ecx, dword [rdi + 0x64]
cmovge ecx, dword [rdi + 0x64]
add ecx, dword [rdi + 0x74]
cmp edx, ecx
cmovle edx, ecx
mov dword [rbx + 0x1c], r10d
cmp edx, 0x10
jl 0x140187afe
mov ecx, r10d
nop
inc ecx
mov eax, r8d
shl eax, cl
cmp eax, edx
jle 0x140187af0
mov dword [rbx + 0x1c], ecx
cmp dword [rdi + 0x74], esi
jne 0x140187b16
cmp dword [rdi + 0xa8], esi
jne 0x140187b16
mov eax, r14d
cmp dword [rdi + 0x8c], esi
je 0x140187b18
mov eax, esi
mov dword [rbx + 0x20], eax
test eax, eax
jne 0x140187b64
mov ecx, dword [rdi + 0x74]
mov edx, dword [rdi + 0x80]
test edx, edx
mov dword [rbx + 0x24], r10d
lea eax, [rcx*8 + 0x10]
lea r9d, [rcx*4 + 8]
cmovne r9d, eax
cmp r9d, 0x10
jl 0x140187b64
nop word [rax + rax]
inc r10d
mov eax, r8d
mov ecx, r10d
shl eax, cl
cmp eax, r9d
jle 0x140187b50
mov dword [rbx + 0x24], r10d
mov ecx, dword [rbx + 0x30]
mov edx, dword [rbx + 0x34]
mov dword [rbx + 0x58], r8d
mov dword [rbx + 0x2c], esi
mov eax, dword [rdi + 0xa8]
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x40], r8d
mov eax, dword [rdi + 0x320]
mov dword [rbx + 0x48], eax
mov r9d, dword [rdi + 0x324]
mov dword [rbx + 0x50], r9d
shl ecx, 4
add ecx, dword [rdi + 0x328]
sub ecx, dword [rdi + 0x1c]
shl edx, 4
mov dword [rbx + 0x4c], ecx
add edx, dword [rdi + 0x32c]
sub edx, dword [rdi + 0x20]
mov dword [rbx + 0x54], edx
test eax, eax
jne 0x140187bc3
test r9d, r9d
jne 0x140187bc3
test ecx, ecx
jne 0x140187bc3
mov eax, esi
test edx, edx
je 0x140187bc6
mov eax, r8d
mov dword [rbx + 0x44], eax
mov dword [rbx + 0x5c], esi
cmp dword [rdi + 0x3c], esi
jle 0x140187be6
cmp dword [rdi + 0x38], esi
jle 0x140187be6
mov dword [rbx + 0x5c], r8d
mov eax, dword [rdi + 0x3c]
mov dword [rbx + 0x60], eax
mov eax, dword [rdi + 0x38]
mov dword [rbx + 0x64], eax
mov ecx, dword [rdi + 0x40]
mov eax, esi
dec ecx
cmp ecx, r8d
setbe al
mov dword [rbx + 0x68], eax
ja 0x140187c04
cmp dword [rdi + 0x40], r14d
mov eax, esi
sete al
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x70], esi
mov edx, 5
cmp dword [rdi + 0x44], edx
cmovbe edx, dword [rdi + 0x44]
mov dword [rbx + 0x74], edx
mov ecx, dword [rdi + 0x48]
cmp ecx, r8d
jbe 0x140187c27
cmp r15d, 0xe
mov ecx, esi
setae cl
mov dword [rbx + 0x78], ecx
mov r9d, r14d
mov dword [rbx + 0x7c], esi
cmp dword [rdi + 0x4c], 0xc
cmovbe r9d, dword [rdi + 0x4c]
mov dword [rbx + 0x80], r9d
cmp dword [rdi + 0x50], 0x12
cmovbe r14d, dword [rdi + 0x50]
mov dword [rbx + 0x84], r14d
mov eax, dword [rdi + 0x54]
cmp eax, 0xe
jbe 0x140187c61
cmp r15d, 0xe
sbb eax, eax
and eax, 2
mov dword [rbx + 0x88], eax
cmp r9d, 2
jne 0x140187c77
cmp r14d, r9d
jne 0x140187c77
cmp eax, r9d
je 0x140187c7b
mov dword [rbx + 0x7c], r8d
cmp edx, 5
jne 0x140187c89
test ecx, ecx
jne 0x140187c89
cmp dword [rbx + 0x7c], esi
je 0x140187c8d
mov dword [rbx + 0x70], r8d
mov eax, dword [rdi + 0x58]
dec eax
cmp eax, 4
ja 0x140187c9f
mov eax, r8d
cmp ebp, r8d
je 0x140187ca1
mov eax, esi
mov dword [rbx + 0x8c], eax
test eax, eax
je 0x140187cbd
mov eax, dword [rdi + 0x58]
mov dword [rbx + 0x90], eax
mov eax, dword [rdi + 0x58]
mov dword [rbx + 0x94], eax
cmp dword [rdi + 0x3a0], esi
jbe 0x140187cd0
mov eax, r8d
cmp dword [rdi + 0x3a4], esi
ja 0x140187cd2
mov eax, esi
mov dword [rbx + 0x98], eax
test eax, eax
je 0x140187d07
mov eax, dword [rdi + 0x3a0]
mov dword [rbx + 0x9c], eax
mov eax, dword [rdi + 0x3a4]
add eax, eax
mov dword [rbx + 0xa0], eax
mov eax, esi
cmp dword [rdi + 0x390], esi
sete al
mov dword [rbx + 0xa4], eax
mov eax, esi
mov dword [rbx + 0xac], esi
cmp dword [rdi + 0x34], esi
setne al
mov dword [rbx + 0xa8], eax
mov eax, dword [rdi + 0x3ac]
mov dword [rbx + 0xe0], eax
cmp dword [rbx + 0x18], esi
je 0x140187d34
cmp dword [rbx + 4], 0x64
mov eax, esi
jge 0x140187d37
mov eax, r8d
mov dword [rbx + 0xe4], eax
test eax, eax
je 0x140187d81
mov qword [rbx + 0xe8], r8
mov dword [rbx + 0xf0], esi
mov eax, dword [rdi + 0x244]
lea eax, [rax*4 - 1]
cmp eax, r8d
cmovge r8d, eax
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
call fcn.140281688
cvttss2si eax, xmm0
inc eax
mov dword [rbx + 0xf8], eax
mov dword [rbx + 0xf4], eax
cmp dword [rdi + 0x8c], esi
mov rbp, qword [rsp + 0x48]
setne sil
mov dword [rbx + 0x10c], esi
mov eax, dword [rdi + 0xb0]
mov rsi, qword [rsp + 0x50]
mov dword [rbx + 0x110], eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret