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

Disassembly:
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub esp, 0xa0
xor eax, eax
cmp ecx, 0x10
sete al
push esi
xor esi, esi
push edi
inc eax
imul eax, edx
mov edi, eax
cmp dword [esp + 0xc4], esi
jne 0x4517a5
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xc0]
mov eax, dword [esi]
push edi
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0xc0]
push eax
push edx
mov edx, dword [esp + 0xc4]
push ecx
push edx
push esi
call fcn.00450b90
add esp, 0x20
pop edi
pop esi
add esp, 0xa0
ret
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
push ebx
mov ebx, dword [eax + 4]
push ebp
mov ebp, dword [eax]
cmp ebp, esi
jl 0x451803
cmp ebx, esi
jl 0x451803
je 0x4517d4
mov eax, closesocket
cdq
idiv ebx
xor ecx, ecx
cmp ebp, eax
setle cl
mov eax, ecx
cmp eax, esi
je 0x451803
mov ecx, ebp
imul ecx, ebx
cmp ecx, esi
jl 0x451803
cmp edi, esi
jl 0x451803
je 0x4517f8
mov eax, closesocket
cdq
idiv edi
xor edx, edx
cmp ecx, eax
setle dl
mov eax, edx
cmp eax, esi
je 0x451803
imul ecx, edi
cmp ecx, 0x7fffffff
jle 0x45180f
xor ebp, ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
jmp 0x451826
push ecx
call fcn.0049b122
add esp, 4
xor ebp, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
jmp 0x451826
xor esi, esi
mov eax, 4
mov ecx, 2
mov edx, 8
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov ebx, 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x90], ebx
mov esi, dword [esp + ebp + 0x78]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xb4]
mov ecx, dword [ecx]
mov dword [esp + 0x70], ebx
mov eax, dword [esp + ebp + 0x5c]
mov dword [esp + 0x3c], eax
mov edx, esi
sub edx, eax
mov eax, dword [ecx]
lea eax, [edx + eax - 1]
xor edx, edx
div esi
mov edx, dword [ecx + 4]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x38], esi
mov esi, dword [esp + ebp + 0x94]
mov dword [esp + 0x30], esi
mov ebx, eax
mov eax, dword [esp + ebp + 0x40]
sub edx, eax
lea eax, [edx + esi - 1]
xor edx, edx
div esi
mov dword [esp + 0x24], ebx
mov esi, eax
test ebx, ebx
je 0x451a40
test esi, esi
je 0x451a40
mov ebp, dword [ecx + 8]
mov eax, dword [esp + 0xc4]
imul ebp, ebx
mov ecx, dword [esp + 0xc8]
imul ebp, eax
mov edx, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0xc4]
push esi
push ebx
push edx
mov edx, dword [esp + 0xc8]
add ebp, 7
push eax
sar ebp, 3
push ecx
inc ebp
push edx
imul ebp, esi
call fcn.00450b90
add esp, 0x20
test eax, eax
je 0x451a6e
test esi, esi
jle 0x451a1b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax + 0x40]
mov eax, ebx
imul eax, edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], esi
test ebx, ebx
jle 0x451a08
mov eax, dword [esp + 0xb4]
mov edx, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x24]
xor ebx, ebx
add esi, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
lea esp, [esp]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
imul edx, dword [esp + 0x1c]
add edx, dword [esp + 0x3c]
push edi
add edx, ebx
imul edx, edi
add edx, dword [esp + 0x14]
push esi
push edx
call fcn.004a26d0
add ebx, dword [esp + 0x44]
add esp, 0xc
add esi, edi
sub dword [esp + 0x20], 1
jne 0x4519d0
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x1c], ecx
add dword [esp + 0x18], eax
sub dword [esp + 0x28], 1
jne 0x4519a7
mov edx, dword [esp + 0xb4]
mov eax, dword [edx + 0xc]
push eax
call fcn.0049b045
add dword [esp + 0xbc], ebp
add esp, 4
sub dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x14]
add ebp, 4
cmp ebp, 0x1c
mov dword [esp + 0x14], ebp
jl 0x451824
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x10]
pop ebp
pop ebx
pop edi
mov dword [eax + 0xc], edx
mov eax, 1
pop esi
add esp, 0xa0
ret
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0049b045
add esp, 4
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0xa0
ret