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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rdi, qword [rsp + 0x100]
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x20], xmm0
vmovaps xmmword [rsp + 0x10], xmm0
test r8d, r8d
je 0x1400440e3
mov r10d, r8d
mov eax, r10d
and eax, 3
cmp r8d, 4
jae 0x1400440fc
xor esi, esi
jmp 0x140044148
mov r10d, dword [rdi]
cmp word [rsp + 0x2a], 0
je 0x14004419f
mov esi, recv
jmp 0x14004424c
and r10d, 0xfffffffc
xor esi, esi
nop word cs:[rax + rax]
movzx r11d, word [rdx + rsi*2]
inc word [rsp + r11*2 + 0x10]
movzx r11d, word [rdx + rsi*2 + 2]
inc word [rsp + r11*2 + 0x10]
movzx r11d, word [rdx + rsi*2 + 4]
inc word [rsp + r11*2 + 0x10]
movzx r11d, word [rdx + rsi*2 + 6]
inc word [rsp + r11*2 + 0x10]
add rsi, 4
cmp r10, rsi
jne 0x140044110
test rax, rax
je 0x140044173
lea r10, [rdx + rsi*2]
xor esi, esi
nop word cs:[rax + rax]
movzx r11d, word [r10 + rsi*2]
inc word [rsp + r11*2 + 0x10]
inc rsi
cmp rax, rsi
jne 0x140044160
movzx ebx, word [rsp + 0x2e]
mov r10d, dword [rdi]
mov esi, select
test bx, bx
jne 0x14004424e
cmp word [rsp + 0x2c], 0
je 0x1400440e6
mov esi, select
jmp 0x14004424c
cmp word [rsp + 0x28], 0
je 0x1400441b1
mov esi, recv
jmp 0x14004424c
cmp word [rsp + 0x26], 0
je 0x1400441c3
mov esi, reloc.WS2_32.dll_inet_addr
jmp 0x14004424c
cmp word [rsp + 0x24], 0
je 0x1400441d2
mov esi, 0xa
jmp 0x14004424c
cmp word [rsp + 0x22], 0
je 0x1400441e1
mov esi, 9
jmp 0x14004424c
cmp word [rsp + 0x20], 0
je 0x1400441f0
mov esi, 8
jmp 0x14004424c
cmp word [rsp + 0x1e], 0
je 0x1400441ff
mov esi, 7
jmp 0x14004424c
cmp word [rsp + 0x1c], 0
je 0x14004420e
mov esi, 6
jmp 0x14004424c
cmp word [rsp + 0x1a], 0
je 0x14004421d
mov esi, 5
jmp 0x14004424c
cmp word [rsp + 0x18], 0
je 0x14004422c
mov esi, 4
jmp 0x14004424c
cmp word [rsp + 0x16], 0
je 0x14004423b
mov esi, 3
jmp 0x14004424c
cmp word [rsp + 0x14], 0
je 0x140044862
mov esi, 2
xor ebx, ebx
cmp r10d, esi
cmovae r10d, esi
mov eax, esi
mov edi, 1
nop dword [rax]
cmp word [rsp + rdi*2 + 0x10], 0
jne 0x140044277
inc rdi
cmp rax, rdi
jne 0x140044260
mov bpl, 1
mov edi, esi
jmp 0x14004427a
mov bpl, 1
cmp r10d, edi
cmovbe r10d, edi
movzx r14d, word [rsp + 0x12]
mov eax, 0xffffffff
cmp r14d, 2
ja 0x1400447e2
movzx r15d, word [rsp + 0x14]
lea r13d, [r15 + r14*2]
cmp r13d, 4
ja 0x1400447e2
movzx r12d, word [rsp + 0x16]
lea r11d, [r12 + r13*2]
cmp r11d, 8
ja 0x1400447e2
mov qword [rsp + 0x90], r9
movzx r9d, word [rsp + 0x18]
lea r11d, [r9 + r11*2]
cmp r11d, 0x10
ja 0x1400447e2
movzx r13d, word [rsp + 0x1a]
mov qword [rsp + 0x30], r13
lea r11d, [r13 + r11*2]
cmp r11d, 0x20
ja 0x1400447e2
movzx r13d, word [rsp + 0x1c]
lea r11d, [r13 + r11*2]
cmp r11d, 0x40
ja 0x1400447e2
mov qword [rsp + 0x58], r13
movzx r13d, word [rsp + 0x1e]
mov qword [rsp + 0x88], r13
lea r11d, [r13 + r11*2]
cmp r11d, 0x80
ja 0x1400447e2
movzx r13d, word [rsp + 0x20]
mov qword [rsp + 0x80], r13
lea r13d, [r13 + r11*2]
mov r11d, 0x100
sub r11d, r13d
js 0x1400447e2
add r11d, r11d
movzx r13d, word [rsp + 0x22]
sub r11d, r13d
js 0x1400447e2
mov dword [rsp + 0x3c], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x24]
mov dword [rsp + 0x50], r13d
sub r11d, r13d
js 0x1400447e2
add r11d, r11d
movzx r13d, word [rsp + 0x26]
sub r11d, r13d
js 0x1400447e2
mov dword [rsp + 0x40], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x28]
mov dword [rsp + 0x48], r13d
sub r11d, r13d
js 0x1400447e2
add r11d, r11d
movzx r13d, word [rsp + 0x2a]
sub r11d, r13d
js 0x1400447e2
mov dword [rsp + 0xc], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x2c]
mov dword [rsp + 8], r13d
sub r11d, r13d
js 0x1400447e2
mov r13d, r11d
add r13d, r11d
movzx ebx, bx
cmp r13d, ebx
jb 0x1400447e2
test ecx, ecx
sete r11b
cmp r13d, ebx
je 0x140044400
or r11b, bpl
jne 0x1400447e2
add r15d, r14d
mov word [rsp + 0x62], 0
mov word [rsp + 0x64], r14w
add r12d, r15d
mov word [rsp + 0x66], r15w
add r9d, r12d
mov word [rsp + 0x68], r12w
mov rax, qword [rsp + 0x30]
add eax, r9d
mov word [rsp + 0x6a], r9w
mov r9, qword [rsp + 0x58]
add r9d, eax
mov word [rsp + 0x6c], ax
mov rax, qword [rsp + 0x88]
add eax, r9d
mov word [rsp + 0x6e], r9w
mov r9, qword [rsp + 0x80]
add r9d, eax
mov word [rsp + 0x70], ax
mov eax, dword [rsp + 0x3c]
add eax, r9d
mov word [rsp + 0x72], r9w
mov r9d, dword [rsp + 0x50]
add r9d, eax
mov word [rsp + 0x74], ax
mov r11d, dword [rsp + 0x40]
add r11d, r9d
mov word [rsp + 0x76], r9w
mov eax, dword [rsp + 0x48]
add eax, r11d
mov word [rsp + 0x78], r11w
mov r9d, dword [rsp + 0xc]
add r9d, eax
mov word [rsp + 0x7a], ax
mov eax, dword [rsp + 8]
add eax, r9d
mov word [rsp + 0x7c], r9w
mov word [rsp + 0x7e], ax
test r8d, r8d
je 0x1400444e8
mov ebx, r8d
cmp r8d, 1
jne 0x1400447f6
xor eax, eax
test bl, 1
je 0x1400444e8
movzx r8d, word [rdx + rax*2]
test r8, r8
je 0x1400444e8
movzx r8d, word [rsp + r8*2 + 0x60]
mov r11, qword [rsp + 0x108]
mov word [r11 + r8*2], ax
test ecx, ecx
je 0x140044530
cmp ecx, 1
jne 0x140044554
mov eax, 1
cmp r10d, 9
ja 0x1400447e2
mov al, 1
mov dword [rsp + 8], eax
mov dword [rsp + 0x58], 0x101
lea rax, [0x14017bad0]
mov qword [rsp + 0x50], rax
lea rax, [0x14017ba90]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0xc], 0
jmp 0x1400445a1
mov dword [rsp + 0x58], setsockopt
mov dword [rsp + 0xc], 0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
jmp 0x140044599
mov dword [rsp + 0x58], 0
lea rax, [0x14017bb50]
mov qword [rsp + 0x50], rax
lea rax, [0x14017bb10]
mov qword [rsp + 0x48], rax
cmp ecx, 2
sete al
mov dword [rsp + 0xc], eax
jne 0x140044599
mov eax, 1
mov dword [rsp + 8], 0
cmp r10d, 9
ja 0x1400447e2
jmp 0x1400445a1
mov dword [rsp + 8], 0
mov eax, 1
mov ecx, r10d
shl eax, cl
mov qword [rsp + 0x40], rax
dec eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x90]
mov r15, qword [rax]
mov dword [rsp + 0x80], 0xffffffff
xor r13d, r13d
mov ecx, r10d
mov dword [rsp + 0x30], 0
xor ebp, ebp
mov r9, qword [rsp + 0x90]
mov eax, 1
shl eax, cl
mov dword [rsp + 0x88], eax
mov eax, r13d
mov rcx, qword [rsp + 0x108]
movzx ebx, word [rcx + rax*2]
movzx eax, bx
lea ecx, [rax + 1]
mov r8d, dword [rsp + 0x58]
cmp ecx, r8d
jae 0x140044616
xor r14d, r14d
jmp 0x140044638
mov ecx, r8d
sub eax, r8d
jae 0x140044625
mov r14b, 0x60
xor ebx, ebx
jmp 0x140044638
mov rcx, qword [rsp + 0x50]
movzx r14d, byte [rcx + rax*2]
mov rcx, qword [rsp + 0x48]
movzx ebx, word [rcx + rax*2]
mov eax, edi
mov r11d, dword [rsp + 0x30]
sub eax, r11d
mov r12d, 0xffffffff
mov ecx, eax
shl r12d, cl
mov r8d, ebp
mov ecx, r11d
shr r8d, cl
add r8d, r12d
mov ecx, dword [rsp + 0x88]
lea r11d, [r8 + rcx]
mov byte [r15 + r11*4], r14b
mov byte [r15 + r11*4 + 1], al
mov word [r15 + r11*4 + 2], bx
add ecx, r12d
jne 0x140044660
lea ecx, [rdi - 1]
mov r8d, 1
shl r8d, cl
mov ecx, r8d
shr r8d, 1
test ecx, ebp
jne 0x140044684
lea r8d, [rcx - 1]
and r8d, ebp
add r8d, ecx
cmp ecx, 1
mov ebp, r8d
mov ecx, 0
cmovb ebp, ecx
inc r13d
mov ecx, edi
dec word [rsp + rcx*2 + 0x10]
jne 0x1400446cd
cmp edi, esi
je 0x1400447aa
mov eax, r13d
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx + rax*2]
movzx edi, word [rdx + rax*2]
cmp edi, r10d
jbe 0x1400445f2
mov ebx, ebp
and ebx, dword [rsp + 0x3c]
cmp ebx, dword [rsp + 0x80]
je 0x1400445f2
mov eax, dword [rsp + 0x30]
test eax, eax
cmove eax, r10d
mov ecx, edi
mov dword [rsp + 0x30], eax
sub ecx, eax
mov eax, 1
shl eax, cl
cmp edi, esi
jae 0x140044738
mov ecx, esi
sub ecx, dword [rsp + 0x30]
mov r14d, edi
mov r8d, r14d
movzx r8d, word [rsp + r8*2 + 0x10]
sub eax, r8d
jle 0x140044729
add eax, eax
inc r14d
cmp r14d, esi
jb 0x14004470f
jmp 0x140044731
sub r14d, dword [rsp + 0x30]
mov ecx, r14d
mov eax, 1
shl eax, cl
mov r8, qword [rsp + 0x40]
add r8d, eax
cmp r8d, 0x355
setae r11b
mov qword [rsp + 0x40], r8
cmp r8d, 0x251
setae r8b
mov eax, 1
test byte [rsp + 8], r11b
jne 0x1400447e2
and r8b, byte [rsp + 0xc]
jne 0x1400447e2
mov eax, dword [rsp + 0x88]
lea r15, [r15 + rax*4]
mov rax, qword [r9]
mov r8d, ebx
mov byte [rax + r8*4], cl
mov rax, qword [r9]
mov byte [rax + r8*4 + 1], r10b
mov rax, qword [r9]
mov r11d, r15d
sub r11d, eax
shr r11d, 2
mov word [rax + r8*4 + 2], r11w
mov dword [rsp + 0x80], ebx
jmp 0x1400445e4
test ebp, ebp
je 0x1400447c2
mov ecx, ebp
mov byte [r15 + rcx*4], 0x40
mov byte [r15 + rcx*4 + 1], al
mov word [r15 + rcx*4 + 2], 0
mov eax, dword [rsp + 0x40]
shl rax, 2
mov rcx, qword [rsp + 0x90]
add qword [rcx], rax
mov rax, qword [rsp + 0x100]
mov dword [rax], r10d
xor eax, eax
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, ebx
and r8d, 0xfffffffe
xor eax, eax
jmp 0x14004480e
add rax, 2
cmp r8, rax
je 0x1400444c6
movzx r14d, word [rdx + rax*2]
test r14, r14
je 0x140044835
movzx r11d, word [rsp + r14*2 + 0x60]
lea ebp, [r11 + 1]
mov word [rsp + r14*2 + 0x60], bp
mov r14, qword [rsp + 0x108]
mov word [r14 + r11*2], ax
movzx r14d, word [rdx + rax*2 + 2]
test r14, r14
je 0x140044801
movzx r11d, word [rsp + r14*2 + 0x60]
lea ebp, [r11 + 1]
mov word [rsp + r14*2 + 0x60], bp
lea ebp, [rax + 1]
mov r14, qword [rsp + 0x108]
mov word [r14 + r11*2], bp
jmp 0x140044801
cmp word [rsp + 0x12], 0
je 0x140044888
xor eax, eax
test r10d, r10d
setne al
mov esi, 1
xor ebp, ebp
mov r10d, eax
xor ebx, ebx
mov edi, 1
jmp 0x14004427a
mov rax, qword [r9]
lea rcx, [rax + 4]
mov qword [r9], rcx
mov dword [rax], 0x140
mov rax, qword [r9]
lea rcx, [rax + 4]
mov qword [r9], rcx
mov dword [rax], 0x140
mov r10d, 1
jmp 0x1400447d5