Function at 0x4f0690
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 0x4f0709
mov ebp, dword [esi + 0x58]
cmp ebp, ebx
je 0x4f0709
jmp 0x4f06c0
mov edi, 0x10
lea ebx, [ebp + 0x80]
jmp 0x4f06d0
push 0x14
mov ecx, ebx
dec edi
call fcn.004e1450
mov esi, eax
test esi, esi
je 0x4f06fc
push esi
mov ecx, ebp
call fcn.004f6a60
mov ecx, esi
call fcn.004ff020
push esi
call fcn.00439d00
add esp, 4
test edi, edi
jne 0x4f06d0
mov ebp, dword [ebp + 0x10]
xor ebx, ebx
cmp ebp, ebx
jne 0x4f06c0
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.004e1450
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x30], edi
je 0x4f0fbc
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x4f0ed3
mov ecx, dword [esi + 8]
push eax
push ecx
lea ecx, [esp + 0x5c]
call fcn.00471da0
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.004deb60
cmp dword [esp + 0xb4], ebp
jge 0x4f085b
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xe0]
mov ebx, 2
push 0
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0
call fcn.004dfe90
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
inc edi
add esi, 4
call fcn.00463510
mov ecx, dword [esp + 0x1c]
mov eax, ecx
and eax, 7
cmp edi, 0x40
jge 0x4f082c
cmp eax, 7
jne 0x4f0802
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, ebx
jne 0x4f080b
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0819
lea ecx, [esp + 0x1c]
call fcn.00463210
cmp dword [esp + 0xb4], ebp
mov dword [esp + 0x1c], ebx
jl 0x4f07b5
mov dword [esp + 0x10], edi
jmp 0x4f085b
cmp eax, 7
mov dword [esp + 0x10], edi
jne 0x4f0840
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, ebx
jne 0x4f0849
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0857
lea ecx, [esp + 0x1c]
call fcn.00463210
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0xa4]
call fcn.004def50
mov edi, dword [esp + 0x10]
cmp edi, 3
jl 0x4f0ef3
mov edx, dword [esp + 0xe0]
mov eax, edx
and eax, 7
mov ecx, eax
cmp ecx, 7
mov esi, edx
jne 0x4f0895
mov ecx, edx
and ecx, 0xfffffff8
mov esi, dword [ecx + 4]
mov ecx, esi
and ecx, eax
cmp ecx, 2
jne 0x4f089f
and esi, 0x1f
mov ecx, esi
cmp ecx, 4
je 0x4f08c7
cmp eax, 7
jne 0x4f08b4
and edx, 0xfffffff8
mov edx, dword [edx + 4]
mov eax, edx
and eax, 7
cmp eax, 2
jne 0x4f08be
and edx, 0x1f
mov eax, edx
cmp eax, 5
jne 0x4f0f4c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x58]
call fcn.00464010
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 8]
push eax
call fcn.004a5630
mov ecx, dword [esp + 0xe4]
mov esi, ecx
and esi, 7
mov eax, esi
cmp eax, 7
mov edx, ecx
jne 0x4f0909
and edx, 0xfffffff8
mov edx, dword [edx + 4]
mov eax, edx
and eax, esi
cmp eax, 2
jne 0x4f0913
and edx, 0x1f
mov eax, edx
test eax, eax
je 0x4f09ab
mov eax, esi
cmp eax, 7
mov edx, ecx
jne 0x4f0930
mov eax, ecx
and eax, 0xfffffff8
mov edx, dword [eax + 4]
mov eax, edx
and eax, esi
cmp eax, 2
jne 0x4f093a
and edx, 0x1f
mov eax, edx
cmp eax, 1
je 0x4f09ab
xor ebp, ebp
mov edx, dword [esp + 0x24]
push str._error
push edx
call fcn.00435400
add esp, 8
test al, al
jne 0x4f0dba
mov eax, dword [esp + 0x24]
push str._result
push eax
call fcn.00435400
add esp, 8
test al, al
jne 0x4f0dba
mov ecx, dword [esp + 0x24]
push str.onStatus
push ecx
call fcn.00435400
add esp, 8
test al, al
je 0x4f0ba7
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 0x4f0e69
cmp esi, 7
jne 0x4f09b6
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
test cl, 7
je 0x4f09c2
and ecx, 0xfffffff8
fld qword [ecx]
jmp 0x4f09cd
sar ecx, 3
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
call fcn.004ae0e0
mov ebp, eax
cmp ebp, 1
jne 0x4f0941
mov ecx, dword [ebx + 4]
push str.isConnected
call fcn.0048c060
mov esi, eax
test esi, esi
je 0x4f0e69
mov ecx, dword [esp + 0x24]
push str._error
push ecx
call fcn.00435400
add esp, 8
neg al
sbb al, al
inc al
movzx edx, al
push edx
mov ecx, esi
call fcn.00463370
mov esi, dword [esi]
mov eax, esi
and eax, 7
cmp al, 7
jne 0x4f0a28
and esi, 0xfffffff8
mov esi, dword [esi + 4]
test esi, 0xffffffe0
je 0x4f0b69
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x4f0b39
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 0x4f0b39
mov ecx, dword [ebx + 8]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 2
call fcn.00463050
mov eax, dword [esp + 0x10]
mov edx, eax
and edx, 7
cmp dl, 7
jne 0x4f0a8a
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.0049f810
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
push 0x44
push eax
push str.fpadInfo
call fcn.00490dd0
mov edi, eax
test edi, edi
je 0x4f0b39
mov ecx, dword [edi]
mov eax, dword [ebp + 4]
mov edx, ecx
and edx, 7
cmp dl, 7
jne 0x4f0ad0
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
push eax
push 0x549a70
and ecx, 0xfffffff8
call fcn.004900f0
mov ecx, dword [edi]
mov eax, ecx
and eax, 7
cmp al, 7
jne 0x4f0aef
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
fild dword [ebp + 0x10]
sub esp, 8
and ecx, 0xfffffff8
fstp qword [esp]
push str.port
call fcn.00490e10
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x4f0b39
lea esp, [esp]
mov ecx, dword [edi]
mov eax, dword [esi + 0x10]
mov ebp, dword [esi + 4]
mov edx, ecx
and edx, 7
cmp dl, 7
jne 0x4f0b28
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
push eax
push ebp
and ecx, 0xfffffff8
call fcn.004900f0
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x4f0b10
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 0x4f0b69
call fcn.004fc930
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x4f0e69
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 0x4f0e69
mov eax, dword [esp + 0x24]
xor esi, esi
test eax, eax
je 0x4f0bcc
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 0x4f0d91
mov ecx, dword [ebx + 8]
push 0
push ecx
lea ecx, [esp + 0x70]
call fcn.004deb30
test esi, esi
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 0
mov edi, str._result
jne 0x4f0c01
mov edi, str._error
mov ecx, dword [ebx + 8]
call fcn.00497d20
mov edx, dword [ebx + 8]
push eax
push edi
push edx
lea ecx, [esp + 0x20]
call fcn.0048b800
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dfe90
test ebp, ebp
mov ecx, dword [ebx + 8]
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
push ecx
jge 0x4f0c3e
fadd qword [0x53d658]
sub esp, 8
lea ecx, [esp + 0x20]
fstp qword [esp]
call fcn.0048b850
push 0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.004dfe90
lea ecx, [esp + 0x14]
call fcn.00463390
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dfe90
test esi, esi
jne 0x4f0cfb
mov ecx, dword [ebx + 8]
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], esi
call fcn.004633f0
mov esi, dword [esp + 0x40]
mov edx, esi
and edx, 7
cmp dl, 7
jne 0x4f0cab
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.0049f810
push str.NetConnection.Call.Failed
push 0x53f360
mov ecx, esi
call fcn.004900f0
push str.error
push str.level
mov ecx, esi
call fcn.004900f0
push 0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x70]
call fcn.004dfe90
lea ecx, [esp + 0x40]
call fcn.00430970
jmp 0x4f0d2e
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], 2
call fcn.0040db00
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
call fcn.00463510
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
call fcn.004dfe90
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.004e1dd0
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4f0d68
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4f0d72
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0d80
lea ecx, [esp + 0x14]
call fcn.00463210
lea ecx, [esp + 0x68]
mov dword [esp + 0x14], 2
call fcn.004def50
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x4f4]
add eax, 0x4dc
test ecx, ecx
jbe 0x4f0e69
mov edx, dword [eax + 0x20]
dec ecx
mov dword [eax + 0x18], ecx
mov dword [edx + ecx*4], 2
jmp 0x4f0e69
mov eax, dword [ebx + 0x10]
test eax, eax
lea edi, [ebx + 0x10]
je 0x4f0e69
cmp dword [eax + 0x1c], ebp
je 0x4f0dd9
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x4f0dc8
jmp 0x4f0e69
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4f0e69
mov eax, dword [esp + 0x24]
push str._result
push eax
call fcn.00435400
add esp, 8
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x3c], al
call fcn.00464010
mov ecx, dword [esp + 0x38]
mov edx, dword [ebx]
lea eax, [esp + 0x48]
push eax
push ecx
push esi
mov ecx, ebx
call dword [edx + 0xc]
test al, al
jne 0x4f0e40
mov al, byte [esp + 0x38]
test al, al
jne 0x4f0e40
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]
mov eax, edi
cmp dword [eax], 0
je 0x4f0e69
mov ecx, dword [eax]
cmp dword [ecx + 0x1c], ebp
je 0x4f0e58
lea eax, [ecx + 0x24]
cmp dword [eax], 0
jne 0x4f0e47
jmp 0x4f0e69
mov ecx, dword [eax]
test ecx, ecx
mov edx, dword [ecx + 0x24]
mov dword [eax], edx
je 0x4f0e69
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00439d00
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 0x4f0e9d
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4f0ea7
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0eb3
mov ecx, esi
call fcn.00463210
dec edi
mov dword [esi], 2
jne 0x4f0e82
lea ecx, [esp + 0x54]
call fcn.00471350
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
xor ebx, ebx
mov ecx, edi
call fcn.004ff020
push edi
call fcn.00439d00
add esp, 4
cmp ebp, ebx
jne 0x4f0715
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
push edx
call fcn.00439d00
add esp, 4
lea esi, [esp + 0x1e0]
mov edi, 0x40
lea esp, [esp]
mov ecx, dword [esi - 4]
sub esi, 4
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4f0f2b
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4f0f35
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0f41
mov ecx, esi
call fcn.00463210
dec edi
mov dword [esi], 2
jne 0x4f0f10
jmp 0x4f0f9f
mov eax, dword [esp + 0x24]
push eax
call fcn.00439d00
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 0x4f0f80
and ecx, 0xfffffff8
mov ecx, dword [ecx + 4]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4f0f8a
and ecx, 0x1f
mov eax, ecx
cmp eax, 6
jne 0x4f0f96
mov ecx, esi
call fcn.00463210
dec edi
mov dword [esi], 2
jne 0x4f0f65
lea ecx, [esp + 0x54]
call fcn.00471350
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.004ff020
push esi
call fcn.00439d00
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret