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

Disassembly:
sub esp, 0x48
push ebx
mov ebx, dword [esp + 0x54]
push ebp
mov ebp, dword [esp + 0x5c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov dword [esp + 8], edx
push esi
mov esi, dword [ebx + 0x28]
mov dword [esp + 0x10], eax
mov edx, esi
sar edx, 1
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x10]
sar edx, 1
push edi
mov edi, ecx
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x10]
mov eax, ecx
sar eax, 1
sar edx, 1
cmp ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], edx
jle 0x453eef
cmp esi, dword [esp + 0x10]
jle 0x453eef
cmp eax, 0x780
jg 0x453cf8
mov edx, dword [esp + 0x50]
cmp edx, 0x440
jg 0x453cf8
cmp byte [edi + 0x48], 0
jne 0x453cf8
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x24], edx
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [edi + 0x34]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x38]
mov ebx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x1c], edx
jne 0x453b2d
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x20], eax
je 0x453c31
cmp dword [esp + 0x1c], edx
jle 0x453c93
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x10]
jle 0x453c93
mov edx, dword [esp + 0x1c]
lea eax, [edx + 0x1f]
sar edx, 1
mov dword [esp + 0x50], edx
add edx, 0x1f
and edx, 0xffffffe0
and eax, 0xffffffe0
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x44]
push eax
push edx
mov dword [esp + 0x5c], eax
mov edx, esi
mov esi, dword [esp + 0x30]
mov eax, ecx
mov ecx, dword [esp + 0x2c]
push edi
call fcn.00453f00
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x34]
push edi
call fcn.00453f00
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x6c]
push edi
call fcn.00453f00
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov esi, eax
sar eax, 1
and ebx, reloc.WS2_32.dll_accept
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
jns 0x453c14
dec ebx
or ebx, 0xfffffffe
inc ebx
lea eax, [ebx + ebx*2 + 0xc]
mov edx, dword [edi + eax*4]
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*4]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
inc ebx
jmp 0x453b09
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp]
push edx
push eax
mov edx, esi
mov esi, dword [esp + 0x30]
mov eax, ecx
mov ecx, dword [esp + 0x2c]
push edi
call fcn.00453f00
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x68]
push edi
mov eax, ebx
call fcn.00453f00
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
push edi
mov eax, ebx
call fcn.00453f00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0xc
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push esi
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp]
push edx
mov edx, dword [edi + 0x24]
push eax
push ecx
call edx
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
push ebx
push esi
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 4]
push eax
mov eax, dword [edi + 0x28]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
add esp, 0x40
push ebx
jmp 0x453ec6
cmp eax, dword [esp + 0x14]
jne 0x453d63
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x50], edx
jne 0x453d63
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp]
push eax
push edx
mov edx, esi
mov esi, dword [ebx]
mov eax, ecx
mov ecx, dword [ebx + 0x10]
push edi
call fcn.00453f00
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x60]
mov esi, dword [ebx + 4]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [ebx + 0x14]
push edi
call fcn.00453f00
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 8]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x6c]
push edi
call fcn.00453f00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0xc
mov edx, ecx
sar edx, 2
cmp edx, dword [esp + 0x14]
jne 0x453ddb
mov eax, esi
sar eax, 2
cmp eax, dword [esp + 0x10]
jne 0x453ddb
mov edx, dword [ebx]
mov eax, dword [ebp + 0x10]
push esi
push ecx
mov ecx, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp]
push edx
mov edx, dword [edi + 0x20]
push eax
push ecx
call edx
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebp + 0x14]
push esi
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [edi + 0x20]
push eax
push ecx
call edx
mov eax, dword [esp + 0x90]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 8]
push eax
mov eax, dword [ebp + 0x18]
push esi
push ecx
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [edi + 0x20]
push eax
push ecx
call edx
add esp, 0x48
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0xc
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x14]
jne 0x453e66
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [esp + 0x10]
cmp edx, eax
jne 0x453e6a
mov edx, dword [ebx]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp]
push edx
mov edx, dword [edi + 0x1c]
push eax
push ecx
call edx
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebp + 0x14]
push esi
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [edi + 0x1c]
push eax
push ecx
call edx
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 8]
push eax
mov eax, dword [ebp + 0x18]
push esi
push ecx
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [edi + 0x1c]
push eax
push ecx
call edx
add esp, 0x48
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [ebx]
push esi
push ecx
mov ecx, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [edi + 0x24]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 4]
push ecx
mov ecx, dword [esp + 0x3c]
push esi
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 4]
push edx
mov edx, dword [edi + 0x28]
push eax
push ecx
call edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 8]
add esp, 0x40
push eax
mov eax, dword [esp + 0x1c]
push esi
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 8]
push ecx
mov ecx, dword [edi + 0x28]
push edx
push eax
call ecx
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x48
ret 0xc