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

Disassembly:
sub esp, 0x2e4
xor ecx, ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2fc]
push edi
mov al, byte [ecx + esi]
cmp al, 0x30
jl 0x45c4c1
cmp al, 0x39
jg 0x45c4c1
inc ecx
cmp ecx, 9
jle 0x45c373
lea eax, [esi + 4]
push 2
lea ecx, [esp + 0x78]
push eax
push ecx
call fcn.0045eb70
lea edx, [esp + 0x80]
mov byte [esp + 0x82], 0
push edx
call fcn.0045f57e
mov ebx, eax
add esp, 0x10
test ebx, ebx
jle 0x45c4c1
cmp ebx, 0x1f
jg 0x45c4c1
lea eax, [esi + 2]
push 2
lea ecx, [esp + 0x1f8]
push eax
push ecx
call fcn.0045eb70
lea edx, [esp + 0x200]
mov byte [esp + 0x202], 0
push edx
call fcn.0045f57e
mov ebp, eax
add esp, 0x10
test ebp, ebp
jle 0x45c4c1
cmp ebp, 0xc
jg 0x45c4c1
push 2
lea eax, [esp + 0xf8]
push esi
push eax
call fcn.0045eb70
lea ecx, [esp + 0x100]
mov byte [esp + 0x102], 0
push ecx
call fcn.0045f57e
mov edi, eax
lea edx, [esi + 6]
push 2
lea eax, [esp + 0x188]
push edx
push eax
add edi, 0x7d0
call fcn.0045eb70
lea ecx, [esp + 0x190]
mov byte [esp + 0x192], 0
push ecx
call fcn.0045f57e
add esp, 0x20
test eax, eax
jl 0x45c4c1
cmp eax, 0x17
jg 0x45c4c1
lea edx, [esi + 8]
push 2
lea eax, [esp + 0x278]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x280]
mov byte [esp + 0x282], 0
push ecx
call fcn.0045f57e
add esp, 0x10
test eax, eax
jl 0x45c4c1
cmp eax, 0x3b
jg 0x45c4c1
and edi, reloc.WSOCK32.dll_closesocket
jns 0x45c4a7
dec edi
or edi, 0xfffffffc
inc edi
jne 0x45c4b3
cmp ebp, 2
jne 0x45c4b3
cmp ebx, 0x1d
jg 0x45c4c1
test edi, edi
je 0x45c4ce
cmp ebp, 2
jne 0x45c4ce
cmp ebx, 0x1c
jle 0x45c4e7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2e4
ret
cmp ebp, 4
je 0x45c4e2
cmp ebp, 6
je 0x45c4e2
cmp ebp, 9
je 0x45c4e2
cmp ebp, 0xb
jne 0x45c4e7
cmp ebx, 0x1e
jg 0x45c4c1
mov eax, dword [esp + 0x2f8]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*8]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x2fc]
lea ecx, [eax + edx*8]
lea eax, [esp + 0x4c]
mov edx, dword [ecx*4 + 0x65937c]
lea ecx, [esp + 0x20]
push edx
push eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.004265e0
add esp, 0x24
test eax, eax
je 0x45c4c1
push 0xa
lea edx, [esp + 0x2c]
push esi
push edx
call fcn.0045eb70
mov eax, dword [esp + 0x310]
mov byte [esp + 0x40], 0
mov cl, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [esp + 0x3e], cl
lea eax, [esp + 0x2c]
mov byte [esp + 0x3f], dl
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0x60]
push str._s_s_s_s_s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x2c
lea esi, [esp + 0x3c]
lea eax, [esp + 0x28]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45c5e4
test cl, cl
je 0x45c5ce
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45c5e4
add eax, 2
add esi, 2
test cl, cl
jne 0x45c5aa
xor eax, eax
xor ecx, ecx
test eax, eax
pop edi
pop esi
setle cl
pop ebp
mov eax, ecx
pop ebx
add esp, 0x2e4
ret
sbb eax, eax
pop edi
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setle cl
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x2e4
ret