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

Disassembly:
sub esp, 0x78
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
xor edx, edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
push ebx
push ebp
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x10b0]
push esi
push edi
mov dword [esp + 0x24], ecx
mov eax, dword [eax]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [ebp], closesocket
mov byte [ebp + 0x20], 0
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 0xc], closesocket
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x38], closesocket
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], closesocket
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x48], closesocket
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x50], closesocket
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x58], closesocket
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x60], closesocket
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x68], closesocket
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], closesocket
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x78], closesocket
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x80], htons
mov dword [esp + 0x10], edx
xor ebx, ebx
mov eax, edx
add eax, eax
mov dword [esp + 0x20], ebx
lea eax, [esp + eax*8 + 0x34]
mov dword [esp + 0x14], eax
nop dword [eax]
nop word [eax + eax]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
cmp ebp, 0xffffffff
jne 0x10144d62
cmp edi, 0x7fffffff
jne 0x10144d62
or esi, 0xffffffff
mov edx, edi
jmp 0x10144d7f
xor ecx, ecx
mov eax, ebp
test edx, edx
mov edx, edi
setne cl
lea ecx, [ecx*2 + 3]
call fcn.10511c50
mov esi, eax
add esi, ebp
adc edx, edi
mov eax, dword [esp + 0x10]
mov cl, bl
mov ebp, dword [esp + 0x30]
add cl, cl
mov bl, 1
movsx eax, al
sub bl, cl
movsx ecx, bl
imul ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x51], cl
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
push dword [esp + 0x30]
push edx
push esi
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0x48]
push dword [esp + 0x50]
call fcn.10144540
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x3c]
add esp, 0x28
mov edx, dword [esp + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], esi
test edx, edx
je 0x10144f0d
mov ebx, dword [esp + 0x20]
add eax, 8
inc ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ebx
cmp ebx, 2
jl 0x10144d40
add edx, 2
mov dword [esp + 0x10], edx
cmp edx, 3
jle 0x10144d21
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x54]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
xor ebx, ebx
mov esi, ecx
mov ecx, edi
mov eax, edx
shrd ecx, eax, 5
sar eax, 5
add ecx, edi
adc eax, edx
cmp dword [esi + 4], eax
jl 0x10144e5b
jg 0x10144e4f
cmp dword [esi], ecx
jbe 0x10144e5b
cmp dword [esi - 0x1c], eax
jg 0x10144eb7
jl 0x10144e5b
cmp dword [esi - 0x20], ecx
ja 0x10144eb7
mov al, bl
mov cl, 1
add al, al
sub cl, al
mov eax, dword [esp + 0x10]
movsx eax, al
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x51], cl
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
push dword [esp + 0x30]
push edx
push edi
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0x48]
push dword [esp + 0x50]
call fcn.10144540
mov edx, dword [esp + 0xc8]
add esp, 0x28
mov edi, dword [esp + 0x9c]
inc ebx
add esi, 8
cmp ebx, 2
jl 0x10144e35
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, 2
add ecx, 0x20
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp eax, 3
jle 0x10144e31
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x18]
pop edi
pop esi
mov byte [ecx + 0x51], al
xor eax, eax
cmp dword [ebp], 0x7fffffff
pop ebp
setne al
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.105116c0
add esp, 0x78
ret
cmp ecx, 0xffffffff
jne 0x10144f1a
cmp esi, 0x7fffffff
je 0x10144f2a
mov dword [esp + 0x3c], ecx
add edx, 2
mov dword [esp + 0x40], esi
jmp 0x10144d1d
mov ecx, dword [esp + 0x84]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x78
ret