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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
push esi
mov esi, dword [ebp + 0x28]
push edi
mov edi, dword [esp + 0x68]
mov edx, dword [edi + 0x28]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov edx, esi
sar edx, 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x18]
sar edx, 1
mov ebx, ecx
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x14]
mov eax, ecx
sar eax, 1
sar edx, 1
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
jle 0x453f61
cmp esi, dword [esp + 0x14]
jle 0x453f61
cmp eax, 0x780
jg 0x453d65
mov edx, dword [esp + 0x50]
cmp edx, 0x440
jg 0x453d65
cmp byte [ebx + 0x48], 0
jne 0x453d65
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x38], edx
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x38]
mov ebp, 1
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x20], edx
jne 0x453b9e
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x24], eax
je 0x453c9f
cmp dword [esp + 0x20], edx
jle 0x453d04
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x14]
jle 0x453d04
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
lea edi, [eax + 0x1f]
sar eax, 1
mov dword [esp + 0x54], eax
add eax, 0x1f
and eax, 0xffffffe0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
push edx
push eax
and edi, 0xffffffe0
mov edx, esi
mov esi, dword [esp + 0x34]
push ebx
mov eax, ecx
mov dword [esp + 0x64], edi
call fcn.00453f70
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
push ecx
push edx
mov edx, dword [esp + 0x6c]
push ebx
call fcn.00453f70
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x14]
push ecx
push ebx
call fcn.00453f70
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x54]
mov esi, eax
sar eax, 1
and ebp, reloc.WS2_32.dll_accept
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
jns 0x453c7d
dec ebp
or ebp, 0xfffffffe
inc ebp
mov edi, dword [esp + 0x68]
lea edx, [ebp + ebp*2 + 0xc]
mov eax, dword [ebx + edx*4]
lea edx, [ebp + ebp*2]
mov dword [esp + 0x48], eax
lea eax, [ebx + edx*4]
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
inc ebp
jmp 0x453b7a
mov edx, dword [esp + 0x28]
mov eax, dword [edi]
mov edi, dword [edi + 0x10]
push edx
push eax
mov edx, esi
mov esi, dword [esp + 0x34]
push ebx
mov eax, ecx
call fcn.00453f70
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x68]
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0x14]
push ecx
push edx
mov edx, dword [esp + 0x6c]
push ebx
call fcn.00453f70
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x3c]
mov edi, dword [ebp + 0x18]
push eax
mov eax, dword [esp + 0x14]
push ecx
push ebx
call fcn.00453f70
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push esi
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [edi + 0x10]
push ecx
mov ecx, dword [edi]
push edx
mov edx, dword [ebx + 0x24]
push eax
push ecx
call edx
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
push ebp
push esi
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [edi + 0x14]
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [ebx + 0x28]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
add esp, 0x40
push ebp
jmp 0x453f38
cmp eax, dword [esp + 0x18]
jne 0x453dd8
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x50], edx
jne 0x453dd8
mov eax, dword [ebp + 0x10]
mov edx, dword [edi]
mov edi, dword [edi + 0x10]
push eax
push edx
mov edx, esi
mov esi, dword [ebp]
push ebx
mov eax, ecx
call fcn.00453f70
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 4]
mov esi, dword [ebp + 4]
mov edi, dword [ecx + 0x14]
push eax
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x6c]
push ebx
call fcn.00453f70
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 8]
mov esi, dword [ebp + 8]
mov edi, dword [ecx + 0x18]
push eax
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x6c]
push ebx
call fcn.00453f70
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0xc
mov eax, ecx
sar eax, 2
cmp eax, dword [esp + 0x18]
jne 0x453e50
mov edx, esi
sar edx, 2
cmp edx, dword [esp + 0x14]
jne 0x453e50
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + 0x10]
push esi
push ecx
mov ecx, dword [ebp]
push eax
mov eax, dword [edi]
push ecx
mov ecx, dword [ebx + 0x20]
push edx
push eax
call ecx
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x28]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [edi + 0x14]
push esi
push eax
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [ebx + 0x20]
push edx
push eax
call ecx
mov edx, dword [esp + 0x94]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [edi + 0x18]
push esi
push eax
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [ebx + 0x20]
push edx
push eax
call ecx
add esp, 0x48
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0xc
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jne 0x453edb
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [esp + 0x14]
cmp edx, eax
jne 0x453edf
mov edx, dword [ebp]
push eax
mov eax, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [edi]
push edx
mov edx, dword [ebx + 0x1c]
push eax
push ecx
call edx
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 4]
push eax
mov eax, dword [edi + 0x14]
push esi
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [ebx + 0x1c]
push eax
push ecx
call edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [edi + 0x18]
push esi
push ecx
mov ecx, dword [edi + 8]
push edx
mov edx, dword [ebx + 0x1c]
push eax
push ecx
call edx
add esp, 0x48
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0xc
mov eax, dword [esp + 0x14]
mov edx, dword [ebp]
push esi
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [ebx + 0x24]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x30]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [esp + 0x40]
push esi
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [edi + 0x14]
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [ebx + 0x28]
push eax
push ecx
call edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
add esp, 0x40
push eax
mov eax, dword [esp + 0x20]
push esi
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [edi + 0x18]
push eax
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [ebx + 0x28]
push edx
push eax
call ecx
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x4c
ret 0xc