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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1d0
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 4]
xor ebx, ebx
cmp eax, ebx
push edi
mov dword [esp + 0x34], esi
je 0x4ed209
mov ebp, dword [esi + 0x58]
cmp ebp, ebx
je 0x4ed209
jmp 0x4ed1c0
mov edi, 0x10
lea ebx, [ebp + 0x80]
jmp 0x4ed1d0
push 0x14
mov ecx, ebx
dec edi
call fcn.004de0b0
mov esi, eax
test esi, esi
je 0x4ed1fc
push esi
mov ecx, ebp
call fcn.004f30d0
mov ecx, esi
call fcn.004fb7d0
push esi
call fcn.00527b30
add esp, 4
test edi, edi
jne 0x4ed1d0
mov ebp, dword [ebp + 0x10]
xor ebx, ebx
cmp ebp, ebx
jne 0x4ed1c0
mov esi, dword [esp + 0x34]
lea eax, [esi + 0x24]
mov ebp, 0x10
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
dec ebp
push 0x14
mov dword [esp + 0x50], ebp
call fcn.004de0b0
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x30], edi
je 0x4edaac
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4ed9c1
mov ecx, dword [esi + 8]
push eax
push ecx
lea ecx, [esp + 0x5c]
call fcn.00470980
movzx ecx, byte [edi + 0xb]
mov edx, dword [edi + 0x14]
xor eax, eax
mov ah, byte [edi + 9]
push ebx
mov dword [esp + 0x14], ebx
mov al, byte [edi + 0xa]
lea edi, [esp + 0xe4]
shl eax, 8
or eax, ecx
mov ebp, eax
mov eax, 2
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, dword [esi + 8]
push eax
push ebp
push edx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.004db7e0
cmp dword [esp + 0xb4], ebp
jge 0x4ed361
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xe0]
xor ebx, ebx
push ebx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], ebx
call fcn.004dcb00
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
inc edi
add esi, 4
call fcn.00462490
mov ecx, dword [esp + 0x1c]
mov eax, ecx
and eax, 7
cmp edi, 0x40
jge 0x4ed32d
cmp eax, 7
jne 0x4ed2fe
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4ed308
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4ed316
lea ecx, [esp + 0x1c]
call fcn.00462200
cmp dword [esp + 0xb4], ebp
mov dword [esp + 0x1c], 2
jl 0x4ed2b2
mov dword [esp + 0x10], edi
jmp 0x4ed361
cmp eax, 7
mov dword [esp + 0x10], edi
jne 0x4ed341
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4ed34b
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4ed359
lea ecx, [esp + 0x1c]
call fcn.00462200
mov dword [esp + 0x1c], 2
lea ecx, [esp + 0xa4]
call fcn.004dbb60
mov edi, dword [esp + 0x10]
cmp edi, 3
jl 0x4ed9e1
mov edx, dword [esp + 0xe0]
mov eax, edx
and eax, 7
mov ecx, eax
cmp ecx, 7
mov esi, edx
jne 0x4ed39b
mov ecx, edx
and ecx, 0xfffffff8
mov esi, dword [ecx + 4]
mov ecx, esi
and ecx, eax
cmp ecx, 2
jne 0x4ed3a5
and esi, 0x1f
mov ecx, esi
cmp ecx, 4
je 0x4ed3cd
cmp eax, 7
jne 0x4ed3ba
and edx, 0xfffffff8
mov edx, dword [edx + 4]
mov eax, edx
and eax, 7
cmp eax, 2
jne 0x4ed3c4
and edx, 0x1f
mov eax, edx
cmp eax, 5
jne 0x4eda3c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x58]
call fcn.00462f70
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 8]
push eax
call fcn.004a3130
mov ecx, dword [esp + 0xe4]
mov esi, ecx
and esi, 7
mov eax, esi
cmp eax, 7
mov edx, ecx
jne 0x4ed40f
and edx, 0xfffffff8
mov edx, dword [edx + 4]
mov eax, edx
and eax, esi
cmp eax, 2
jne 0x4ed419
and edx, 0x1f
mov eax, edx
test eax, eax
je 0x4ed4b1
mov eax, esi
cmp eax, 7
mov edx, ecx
jne 0x4ed436
mov eax, ecx
and eax, 0xfffffff8
mov edx, dword [eax + 4]
mov eax, edx
and eax, esi
cmp eax, 2
jne 0x4ed440
and edx, 0x1f
mov eax, edx
cmp eax, 1
je 0x4ed4b1
xor ebp, ebp
mov edx, dword [esp + 0x24]
push str._error
push edx
call fcn.00434b50
add esp, 8
test al, al
jne 0x4ed89b
mov eax, dword [esp + 0x24]
push str._result
push eax
call fcn.00434b50
add esp, 8
test al, al
jne 0x4ed89b
mov ecx, dword [esp + 0x24]
push str.onStatus
push ecx
call fcn.00434b50
add esp, 8
test al, al
je 0x4ed6b0
mov edx, dword [ebx]
lea eax, [esp + 0xec]
push eax
push 0
push 0
push 0
push 0
mov ecx, ebx
call dword [edx + 0x18]
jmp 0x4ed952
cmp esi, 7
jne 0x4ed4bc
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
test cl, 7
je 0x4ed4c8
and ecx, 0xfffffff8
fld qword [ecx]
jmp 0x4ed4d3
sar ecx, 3
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
call fcn.004ab830
mov ebp, eax
cmp ebp, 1
jne 0x4ed447
mov ecx, dword [ebx + 4]
push str.isConnected
call fcn.0048c4a0
mov esi, eax
test esi, esi
je 0x4ed952
mov ecx, dword [esp + 0x24]
push str._error
push ecx
call fcn.00434b50
add esp, 8
neg al
sbb al, al
inc al
movzx edx, al
push edx
mov ecx, esi
call fcn.00462350
mov eax, dword [esi]
mov ecx, eax
and ecx, 7
cmp cl, 7
jne 0x4ed52f
and eax, 0xfffffff8
mov eax, dword [eax + 4]
test eax, 0xffffffe0
je 0x4ed672
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x4ed642
lea esi, [edi + 0x1ec]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [edi + 0x3224]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebp, ebp
je 0x4ed642
mov edx, dword [ebx + 8]
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 2
call fcn.00462030
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 7
cmp cl, 7
jne 0x4ed590
and eax, 0xfffffff8
mov eax, dword [eax + 4]
mov ecx, dword [ebx + 8]
push 0
push str.Object
and eax, 0xfffffff8
push eax
call fcn.0049e300
mov edx, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
push 0x44
push edx
push str.fpadInfo
call fcn.0048ea80
mov edi, eax
test edi, edi
je 0x4ed642
mov eax, dword [edi]
mov esi, dword [ebp + 4]
mov ecx, eax
and ecx, 7
cmp cl, 7
jne 0x4ed5d6
and eax, 0xfffffff8
mov eax, dword [eax + 4]
push esi
mov ecx, eax
push 0x5467b8
and ecx, 0xfffffff8
call fcn.0048df60
mov eax, dword [edi]
mov edx, eax
and edx, 7
cmp dl, 7
jne 0x4ed5f8
and eax, 0xfffffff8
mov eax, dword [eax + 4]
fild dword [ebp + 0x10]
sub esp, 8
mov ecx, eax
and ecx, 0xfffffff8
fstp qword [esp]
push str.port
call fcn.0048eac0
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x4ed642
mov eax, dword [edi]
mov ecx, dword [esi + 0x10]
mov ebp, dword [esi + 4]
mov edx, eax
and edx, 7
cmp dl, 7
jne 0x4ed62f
and eax, 0xfffffff8
mov eax, dword [eax + 4]
push ecx
mov ecx, eax
push ebp
and ecx, 0xfffffff8
call fcn.0048df60
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x4ed617
lea esi, [ebx + 0x88]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
mov dword [ebx + 0xa0], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax + 0x1e8]
test ecx, ecx
je 0x4ed672
call fcn.004f90e0
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x4ed952
mov eax, dword [ebx]
lea ecx, [esp + 0xec]
push ecx
push 0
push 0
push 0
push 0
mov ecx, ebx
mov dword [ebx + 0x84], 1
call dword [eax + 0x18]
mov dword [ebx + 0x84], 0
jmp 0x4ed952
mov eax, dword [esp + 0x24]
xor esi, esi
test eax, eax
je 0x4ed6d5
mov edx, dword [ebx]
add edi, 0xfffffffd
push edi
lea ecx, [esp + 0xf0]
push ecx
push eax
mov eax, dword [ebx + 4]
push eax
mov ecx, ebx
call dword [edx + 8]
movzx esi, al
test ebp, ebp
jbe 0x4ed952
mov ecx, dword [ebx + 8]
push 0
push ecx
lea ecx, [esp + 0x70]
call fcn.004db7b0
test esi, esi
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 0
mov edi, str._result
jne 0x4ed70a
mov edi, str._error
mov ecx, dword [ebx + 8]
call fcn.00495de0
mov edx, dword [ebx + 8]
push eax
push edi
push edx
lea ecx, [esp + 0x20]
call fcn.00484ff0
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dcb00
test ebp, ebp
mov ecx, dword [ebx + 8]
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
push ecx
jge 0x4ed747
fadd qword [0x53a618]
sub esp, 8
lea ecx, [esp + 0x20]
fstp qword [esp]
call fcn.004850d0
push 0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.004dcb00
lea ecx, [esp + 0x14]
call fcn.00462370
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dcb00
test esi, esi
jne 0x4ed800
mov ecx, dword [ebx + 8]
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], esi
call fcn.004623d0
mov esi, dword [esp + 0x40]
mov edx, esi
and edx, 7
cmp dl, 7
jne 0x4ed7b0
and esi, 0xfffffff8
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 8]
push 0
push str.Object
and esi, 0xfffffff8
push esi
call fcn.0049e300
push str.NetConnection.Call.Failed
push str.code
mov ecx, esi
call fcn.0048df60
push str.error
push str.level
mov ecx, esi
call fcn.0048df60
push 0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x70]
call fcn.004dcb00
lea ecx, [esp + 0x40]
call fcn.004243b0
jmp 0x4ed833
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], 2
call fcn.0040d6f0
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
call fcn.00462490
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dcb00
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [esp + 0x3c]
and eax, 0x7fffffff
push eax
push esi
push edi
push 0x14
call fcn.004dea30
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4ed86d
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4ed877
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4ed885
lea ecx, [esp + 0x14]
call fcn.00462200
lea ecx, [esp + 0x68]
mov dword [esp + 0x14], 2
call fcn.004dbb60
jmp 0x4ed952
mov eax, dword [ebx + 0x10]
test eax, eax
lea edi, [ebx + 0x10]
je 0x4ed952
lea esp, [esp]
cmp dword [eax + 0x1c], ebp
je 0x4ed8c1
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x4ed8b0
jmp 0x4ed952
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4ed952
mov ecx, dword [esp + 0x24]
push str._result
push ecx
call fcn.00434b50
add esp, 8
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x3c], al
call fcn.00462f70
mov edx, dword [esp + 0x38]
mov eax, dword [ebx]
lea ecx, [esp + 0x48]
push ecx
push edx
push esi
mov ecx, ebx
call dword [eax + 0xc]
test al, al
jne 0x4ed928
mov al, byte [esp + 0x38]
test al, al
jne 0x4ed928
mov eax, dword [ebx]
lea ecx, [esp + 0xec]
push ecx
push 0
push 0
push 0
push 0
mov ecx, ebx
call dword [eax + 0x18]
mov eax, edi
cmp dword [eax], 0
je 0x4ed952
nop
mov ecx, dword [eax]
cmp dword [ecx + 0x1c], ebp
je 0x4ed941
lea eax, [ecx + 0x24]
cmp dword [eax], 0
jne 0x4ed930
jmp 0x4ed952
mov ecx, dword [eax]
test ecx, ecx
mov edx, dword [ecx + 0x24]
mov dword [eax], edx
je 0x4ed952
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00527b30
add esp, 4
lea esi, [esp + 0x1e0]
mov edi, 0x40
jmp 0x4ed970
mov ecx, dword [esi - 4]
sub esi, 4
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4ed98b
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4ed995
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4ed9a1
mov ecx, esi
call fcn.00462200
dec edi
mov dword [esi], 2
jne 0x4ed970
lea ecx, [esp + 0x54]
call fcn.0046fb30
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x4c]
xor ebx, ebx
mov ecx, edi
call fcn.004fb7d0
push edi
call fcn.00527b30
add esp, 4
cmp ebp, ebx
jne 0x4ed215
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
push edx
call fcn.00527b30
add esp, 4
lea esi, [esp + 0x1e0]
mov edi, 0x40
lea ebx, [ebx]
mov ecx, dword [esi - 4]
sub esi, 4
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4eda1b
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4eda25
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4eda31
mov ecx, esi
call fcn.00462200
dec edi
mov dword [esi], 2
jne 0x4eda00
jmp 0x4eda8f
mov eax, dword [esp + 0x24]
push eax
call fcn.00527b30
add esp, 4
lea esi, [esp + 0x1e0]
mov edi, 0x40
mov ecx, dword [esi - 4]
sub esi, 4
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4eda70
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4eda7a
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4eda86
mov ecx, esi
call fcn.00462200
dec edi
mov dword [esi], 2
jne 0x4eda55
lea ecx, [esp + 0x54]
call fcn.0046fb30
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.004fb7d0
push esi
call fcn.00527b30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret