Function at 0x445a90
Capabilities:
Get socket status
Receive data
Receive data on socket
Resolve function by parsing pe exports
Send data
Send data on socket

Disassembly:
sub esp, 0x164
mov eax, dword [0x475d80]
xor eax, esp
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x168]
push ebx
push ebp
push esi
push edi
push 0x10000
mov dword [esp + 0x14], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [esp + 0x14]
mov ebp, eax
xor edi, edi
mov dword [esp + 0x18], ebp
add esp, 4
mov dword [esp + 0x18], edi
xor esi, esi
mov ebx, dword [edx + 0x74]
test ebp, ebp
je 0x445e38
mov esi, 0x90312
cmp esi, 0x90312
je 0x445af7
cmp esi, 0x80090318
jne 0x445e38
test edi, edi
je 0x445b07
cmp esi, 0x80090318
jne 0x445bba
cmp dword [esp + 0x17c], 0
je 0x445baf
mov ecx, dword [esp + 0x180]
test ecx, ecx
je 0x445b46
mov eax, 0x10624dd3
mul ecx
shr edx, 6
imul eax, edx, 0x3e8
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x10]
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [esp + 0x38], eax
jmp 0x445b56
mov dword [esp + 0x34], 0xa
mov dword [esp + 0x38], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x34]
push eax
push 0
push 0
lea eax, [esp + 0x78]
mov dword [esp + 0x78], 1
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 1
jne 0x445d77
push 0
mov eax, 0x10000
sub eax, edi
push eax
lea eax, [edi + ebp]
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x445d77
mov edx, dword [esp + 0x10]
add edi, eax
jmp 0x445bba
mov dword [esp + 0x17c], 1
cmp dword [edx + 0x70], 0
lea eax, [esp + 0x1c]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x64], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x58], 2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x40], 2
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0x11
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
je 0x445c7c
cmp dword [ebx + 0x40], 0
je 0x445c53
mov eax, dword [ebx + 0xc]
jmp 0x445c55
xor eax, eax
push 0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x5c]
push ecx
push dword [ebx + 0xc]
lea ecx, [esp + 0x70]
push 0x10
push 0x1811c
push ecx
push eax
push dword [ebx + 8]
call dword [sym.imp.Secur32.dll_AcceptSecurityContext]
jmp 0x445ca7
push 0
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push 0
lea eax, [esp + 0x74]
push eax
push 0x10
push 0
push 0xc19c
push 0
push dword [ebx + 0xc]
push dword [ebx + 8]
call sub.Secur32.dll_InitializeSecurityContextA
mov esi, eax
test esi, esi
je 0x445ccb
cmp esi, 0x90312
je 0x445ccb
test esi, esi
jns 0x445cc3
test dword [esp + 0x18], 0x4000
jne 0x445ccb
cmp esi, 0x80090325
jne 0x445d25
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x70], 0
je 0x445ce2
cmp dword [ebx + 0x40], 0
jne 0x445ce2
mov dword [ebx + 0x40], 1
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x445d29
mov eax, dword [esp + 0x44]
test eax, eax
je 0x445d29
push 0
push ecx
push eax
push dword [edx + 4]
call dword [sym.imp.WS2_32.dll_send]
push dword [esp + 0x44]
mov ebp, eax
call sub.Secur32.dll_FreeContextBuffer
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x445d18
push ecx
call sub.Secur32.dll_FreeContextBuffer
cmp ebp, 0xffffffff
je 0x445da9
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp esi, 0x80090318
je 0x445ae3
test esi, esi
je 0x445d81
cmp esi, 0x80090325
je 0x445d81
test esi, esi
js 0x445e38
cmp dword [esp + 0x2c], 5
jne 0x445d70
mov eax, dword [esp + 0x28]
sub edi, eax
push eax
add edi, ebp
push edi
push ebp
call sub.VCRUNTIME140.dll_memmove
mov edi, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x10]
jmp 0x445ae3
xor edi, edi
jmp 0x445ae3
mov esi, 0x80090304
jmp 0x445e38
cmp dword [esp + 0x2c], 5
jne 0x445e38
cmp dword [ebx + 0x28], 0
jne 0x445de0
push dword [esp + 0x28]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov ecx, eax
add esp, 4
mov dword [ebx + 0x2c], ecx
test ecx, ecx
jne 0x445dbd
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0x80090304
jmp 0x445e44
mov eax, dword [esp + 0x28]
sub edi, eax
push eax
add edi, ebp
push edi
push ecx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x34]
add esp, 0xc
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], 2
jmp 0x445e38
mov eax, dword [ebx + 0x24]
add eax, dword [esp + 0x28]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x445dff
mov eax, 0x80090304
jmp 0x445e47
push dword [ebx + 0x24]
push dword [ebx + 0x2c]
push ebp
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x34]
sub edi, eax
add edi, dword [esp + 0x20]
push eax
mov eax, dword [ebx + 0x24]
add eax, ebp
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [ebx + 0x2c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [ebx + 0x2c], ebp
add esp, 0x1c
mov eax, dword [esp + 0x28]
add dword [ebx + 0x24], eax
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, esi
add esp, 4
mov ecx, dword [esp + 0x170]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00463052
add esp, 0x164
ret