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

Disassembly:
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x78
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rbp, rcx
mov rcx, qword [rcx]
mov r11, qword [rbp + 8]
mov qword [rax + 0x20], rsi
mov r10, qword [rcx]
mov rbx, qword [rcx + 0x10]
xor esi, esi
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], r11
lea rdx, [rcx + 0x94]
mov qword [rsp + 0x20], r10
lea r9d, [rsi + 0xa]
mov r8d, dword [rdx]
test r8d, r8d
je 0x44cb4c
cmp byte [rdx - 6], sil
je 0x44cb4a
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x44cb46
movzx eax, al
mov dword [rcx + rax*4 + 0x24], r8d
inc byte [rcx + 0x1f]
mov byte [rdx - 6], sil
mov dword [rdx], esi
add rdx, 0x14
dec r9
jne 0x44cb25
movzx eax, byte [rbp + 0x39]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r13
dec eax
mov qword [rsp + 0x58], r14
movsxd rcx, eax
mov qword [rsp + 0x50], r15
lea r12d, [r9 - 1]
mov qword [rsp + 0x30], rcx
js 0x44d158
mov rax, rcx
imul rax, rax, 0x78
lea rax, [rax + r11 + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rcx + rcx*4]
add rax, rax
lea rsi, [rbp + rax*8 + 0x365]
nop
nop
nop
mov r15, qword [rsi + 0x1b]
mov r8, qword [rbx + 0x30]
mov eax, r12d
sub eax, dword [rsi - 0xd]
mov qword [rsp + 0x40], r15
js 0x44cbda
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x44cbda
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
movzx eax, byte [rsi]
cmp al, 0x9a
je 0x44cc74
movsxd rdi, dword [rbx + 0x3c]
mov r12d, dword [rsi + 3]
mov r13d, dword [rsi + 7]
movzx r14d, byte [rsi + 1]
movzx ebp, al
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], edi
jg 0x44cc1c
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44cc4d
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8], bpl
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], 0
mov byte [rax + rcx*8 + 1], 0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x44cc6e
movsxd rax, dword [rbx + 0x3c]
mov r12d, 0xffffffff
lea rcx, [rax + rax*2]
movzx eax, byte [rsi + 2]
mov byte [rdx + rcx*8 - 0x15], al
jmp 0x44cc74
mov r12d, 0xffffffff
bt dword [r15 + 0x28], 0xb
jae 0x44ce74
cmp dword [rsi + 0xb], 0
jle 0x44ce74
mov r8, qword [rbx + 0x30]
mov eax, r12d
sub eax, dword [rsi - 0x15]
js 0x44ccab
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x44ccab
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov ebp, dword [rsi + 0xb]
test ebp, ebp
lea eax, [rbp - 1]
movsxd rcx, eax
mov rax, qword [rsi + 0x13]
lea rdx, [rcx + rcx*2]
lea rdi, [rax + rdx*4]
jle 0x44cd8a
mov eax, dword [rdi + 4]
mov edx, dword [rbx + 0x3c]
inc eax
cmp edx, eax
jbe 0x44cce9
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov rax, qword [rbx + 0x30]
movsxd r12, dword [rbx + 0x3c]
cmp dword [rax + 0x60], r12d
movzx r13d, byte [rdi + 8]
mov r14d, dword [rdi]
mov r15d, dword [rdi + 4]
jg 0x44cd20
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44cd4d
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [r12 + r12*2]
xor edx, edx
mov byte [rax + rcx*8], r13b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov eax, dword [rdi + 4]
mov edx, dword [rbx + 0x3c]
dec eax
cmp edx, eax
jbe 0x44cd65
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ebp
dec ecx
sub rdi, 0xc
test ebp, ebp
mov dword [rax + 0x64], ecx
jg 0x44ccd1
mov r15, qword [rsp + 0x40]
mov r12d, 0xffffffff
mov rdi, qword [rsi + 0x13]
test rdi, rdi
je 0x44ce74
mov r14, qword [rsp + 0x20]
test r14, r14
je 0x44cdea
cmp qword [r14 + 0x320], 0
je 0x44cdbb
mov rdx, rdi
mov rcx, r14
call fcn.00425e50
jmp 0x44ce74
cmp rdi, qword [r14 + 0x168]
jb 0x44cdea
cmp rdi, qword [r14 + 0x170]
jae 0x44cdea
mov rax, qword [r14 + 0x160]
mov qword [rdi], rax
dec dword [r14 + 0x14c]
mov qword [r14 + 0x160], rdi
jmp 0x44ce74
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x44ce6b
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x44ce05
call qword [0x0072d0f8]
mov rcx, rdi
call qword [0x0072d0b0]
mov ecx, dword [0x00772960]
neg eax
add ecx, eax
mov eax, dword [0x00772988]
cmp ecx, eax
mov dword [0x00772960], ecx
cmovg eax, ecx
mov ecx, dword [0x00772984]
dec ecx
mov dword [0x00772988], eax
mov eax, dword [0x007729ac]
cmp ecx, eax
mov dword [0x00772984], ecx
cmovg eax, ecx
mov rcx, rdi
mov dword [0x007729ac], eax
call qword [0x0072d0a0]
mov rcx, qword [0x00772b88]
test rcx, rcx
je 0x44ce74
call qword [0x0072d108]
jmp 0x44ce74
mov rcx, rdi
call qword [0x0072d0a0]
mov r8, qword [rbx + 0x30]
mov eax, r12d
sub eax, dword [rsi - 0x19]
js 0x44ce95
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x44ce95
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov ebp, dword [rsi - 0x11]
test ebp, ebp
je 0x44cf39
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x44cec7
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44cef2
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
xor edx, edx
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov eax, dword [rsi - 0x11]
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x44cf08
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov eax, dword [rsi - 0x11]
mov edx, dword [rbx + 0x3c]
sub eax, 2
cmp edx, eax
jbe 0x44cf2d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov ebp, dword [rsi - 0x25]
test ebp, ebp
je 0x44d124
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x44cf6c
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
je 0x44cf6c
mov edi, 1
xor r14d, r14d
jmp 0x44cf9b
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
xor r14d, r14d
mov byte [rax + rcx*8], 0x89
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], r14b
test byte [r15 + 0x28], 0x40
jne 0x44cff6
mov rax, qword [rsp + 0x28]
movsxd rbp, dword [rbx + 0x3c]
mov r12d, dword [rax]
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], ebp
jg 0x44cfc8
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44cff6
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rbp + rbp*2]
mov byte [rax + rcx*8], 0x68
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], 0
bt dword [r15 + 0x28], 9
jae 0x44d04e
mov rax, qword [rbx + 0x30]
movsxd rbp, dword [rbx + 0x3c]
mov r12d, dword [rsi - 0x1d]
cmp dword [rax + 0x60], ebp
jg 0x44d020
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44d04e
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rbp + rbp*2]
mov byte [rax + rcx*8], 0x68
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], 0
cmp byte [rsi], 0x12
jne 0x44d0ad
mov rax, qword [rbx + 0x30]
movsxd rbp, dword [rbx + 0x3c]
mov r12d, dword [rsi + 3]
cmp dword [rax + 0x60], ebp
mov r13d, dword [rsi - 9]
jg 0x44d07d
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44d0fd
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rbp + rbp*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recvfrom
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], 0
jmp 0x44d0fd
mov rax, qword [rbx + 0x30]
movsxd rbp, dword [rbx + 0x3c]
mov r12d, dword [rsi - 9]
cmp dword [rax + 0x60], ebp
jg 0x44d0cf
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44d0fd
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rbp + rbp*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov byte [rax + rcx*8 + 1], 0
mov edx, dword [rbx + 0x3c]
cmp edx, edi
jbe 0x44d112
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov r12d, 0xffffffff
dec ecx
mov dword [rax + 0x64], ecx
mov rcx, qword [rsp + 0x30]
sub qword [rsp + 0x28], 0x78
sub rsi, 0x50
dec rcx
test rcx, rcx
mov qword [rsp + 0x30], rcx
jns 0x44cbb0
mov r10, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x38]
xor esi, esi
sub r12d, dword [rbp + 0x44]
mov r8, qword [rbx + 0x30]
js 0x44d177
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x44d177
mov eax, dword [rbx + 0x3c]
movsxd rcx, r12d
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
mov r15d, esi
dec eax
mov dword [r8 + 0x64], eax
cmp byte [rbp + 0x39], 0
jbe 0x44d47b
lea r13, [rbp + 0x380]
nop
nop
nop
movzx r9d, byte [r13 - 0x1c]
mov r12, qword [r13]
imul r9, r9, 0x78
test byte [r9 + r11 + 0x48], 4
mov r14, qword [r9 + r11 + 0x28]
je 0x44d254
cmp byte [r10 + 0x50], 0
jne 0x44d254
mov r8d, dword [r13 - 0x20]
mov edx, dword [rbx + 0x3c]
test r8d, r8d
mov ecx, r8d
jns 0x44d1db
lea ecx, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x50], 0
je 0x44d1ed
lea rcx, [0x007725d0]
jmp 0x44d1fc
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rcx, [rax + rcx*8]
cmp r8d, edx
jge 0x44d462
sub edx, r8d
mov r8d, edx
nop
nop
mov eax, dword [r13 - 0x3c]
cmp dword [rcx + 4], eax
jne 0x44d246
movzx eax, byte [rcx]
cmp al, 0x2f
jne 0x44d239
mov byte [rcx], reloc.WLDAP32.dll_Ordinal_33
mov eax, dword [r9 + r11 + 0x40]
add eax, dword [rcx + 8]
mov dword [rcx + 4], eax
mov eax, dword [rcx + 0xc]
mov dword [rcx + 0xc], esi
mov dword [rcx + 8], eax
jmp 0x44d246
cmp al, 0x67
jne 0x44d246
mov byte [rcx], Ordinal_30
mov dword [rcx + 4], esi
mov dword [rcx + 0xc], esi
add rcx, 0x18
dec r8
jne 0x44d210
jmp 0x44d462
test byte [r14 + 0x48], 2
jne 0x44d34d
cmp qword [r14 + 0x18], 0
jne 0x44d34d
test byte [rbp + 0x32], 0x10
jne 0x44d34d
cmp byte [rbp + 0x36], 0
mov edi, dword [r12 + 0x28]
jne 0x44d2e8
test dil, 0x40
jne 0x44d2e8
mov rax, qword [rbx + 0x30]
movsxd rsi, dword [rbx + 0x3c]
mov ebp, dword [r9 + r11 + 0x50]
cmp dword [rax + 0x60], esi
jg 0x44d2a8
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44d2de
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
xor esi, esi
mov dword [rax + rcx*8 + 4], ebp
mov rbp, qword [rsp + 0x80]
mov byte [rax + rcx*8], 0x3d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov byte [rax + rcx*8 + 1], sil
jmp 0x44d2e8
mov rbp, qword [rsp + 0x80]
xor esi, esi
bt edi, 9
jae 0x44d34d
test edi, 0x4100
jne 0x44d34d
mov edi, dword [r13 - 0x38]
cmp edi, dword [rbp + 0x50]
je 0x44d34d
mov rax, qword [rbx + 0x30]
movsxd rsi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x44d31d
mov edx, 1
mov rcx, rbx
call fcn.00441a80
test eax, eax
jne 0x44d34b
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
lea rcx, [rsi + rsi*2]
xor esi, esi
mov byte [rax + rcx*8], 0x3d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov byte [rax + rcx*8 + 1], sil
jmp 0x44d34d
xor esi, esi
mov eax, dword [r12 + 0x28]
test eax, 0x240
je 0x44d360
mov rdi, qword [r12 + 0x20]
jmp 0x44d36e
bt eax, 0xd
jae 0x44d456
mov rdi, qword [r13 - 0x10]
test rdi, rdi
je 0x44d45d
mov r10, qword [rsp + 0x20]
cmp byte [r10 + 0x50], 0
jne 0x44d462
mov r9d, dword [r13 - 0x20]
mov r8d, dword [rbx + 0x3c]
test r9d, r9d
mov ecx, r9d
jns 0x44d39b
lea ecx, [r8 - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x50], 0
je 0x44d3ad
lea rdx, [0x007725d0]
jmp 0x44d3bc
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rdx, [rax + rcx*8]
cmp r9d, r8d
jge 0x44d462
sub r8d, r9d
mov r11d, r8d
nop
nop
mov eax, dword [r13 - 0x3c]
cmp dword [rdx + 4], eax
jne 0x44d446
movzx eax, byte [rdx]
cmp al, 0x2f
jne 0x44d438
test byte [r14 + 0x48], 0x20
movsxd r10, dword [rdx + 8]
je 0x44d3fc
mov rcx, r14
call fcn.00432c60
mov rax, qword [rax + 8]
movsx r10d, word [rax + r10*2]
movzx r8d, word [rdi + 0x60]
mov ecx, esi
test r8d, r8d
jle 0x44d421
mov r9, qword [rdi + 8]
nop
movsxd rax, ecx
cmp r10w, word [r9 + rax*2]
je 0x44d425
inc ecx
cmp ecx, r8d
jl 0x44d410
mov cx, 0xffff
movsx eax, cx
test eax, eax
js 0x44d446
mov dword [rdx + 8], eax
mov eax, dword [r13 - 0x38]
mov dword [rdx + 4], eax
jmp 0x44d446
cmp al, 0x67
jne 0x44d446
mov eax, dword [r13 - 0x38]
mov byte [rdx], reloc.WS2_32.dll_WSASetLastError
mov dword [rdx + 4], eax
add rdx, 0x18
dec r11
jne 0x44d3d0
mov r10, qword [rsp + 0x20]
jmp 0x44d462
mov r10, qword [rsp + 0x20]
jmp 0x44d462
mov r10, qword [rsp + 0x20]
movzx eax, byte [rbp + 0x39]
mov r11, qword [rsp + 0x38]
inc r15d
add r13, 0x50
cmp r15d, eax
jl 0x44d1a0
mov rcx, qword [rsp + 0x48]
mov eax, dword [rbp + 0x48]
mov rdx, rbp
mov dword [rcx + 0x1d8], eax
mov rcx, r10
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
add rsp, 0x78
jmp fcn.0044c140