Function at 0x4f82f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5d7eb3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword [0x64aa84]
push ebx
push ebp
push esi
mov dword [esp + 0x24], eax
mov ebp, ecx
call fcn.005afeed
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
mov ebx, 1
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x38]
mov al, byte [esi + 0x34]
cmp al, 0xe3
jne 0x4f887d
movzx eax, byte [esi + 0x35]
dec eax
cmp eax, 0xf1
ja case.0x4f88b0.3
movzx eax, byte [eax + 0x4f89f4]
jmp dword [eax*4 + 0x4f8968]
mov edx, dword [esi]
push 0xffffffffffffffff
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call dword [edx + 0x18]
mov byte [esp + 0x30], 2
push eax
lea ecx, [esp + 0x10]
call fcn.00405540
mov byte [esp + 0x30], bl
lea ecx, [esp + 0x38]
call fcn.00401b70
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x20]
push ecx
push edx
push str._VG___s_On_Close_Reason:__s
push 0x661308
call fcn.004e9a20
add esp, 0x10
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x24]
je case.0x4f8358.76
mov ecx, esi
call fcn.00406e90
push esi
mov ecx, ebp
call fcn.004f6410
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f79a0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f5ad0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f6d10
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f6f50
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f7210
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f4b90
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.004dcd40
jmp case.0x4f88b0.3
mov eax, dword [ebp + 0x858]
test eax, eax
je 0x4f84f9
mov eax, dword [eax + 0x7c4]
test eax, eax
je 0x4f84f9
mov ecx, dword [eax + 0x7fc]
test ecx, ecx
je 0x4f84f9
mov ecx, dword [0x6613bc]
add ecx, 0x1e8
mov dword [ebp + 0x60], ecx
mov edx, dword [0x6613bc]
add edx, 0x1ec
mov dword [ebp + 0x3a0], edx
mov eax, dword [ebp + 0x860]
test eax, eax
je 0x4f852c
mov ecx, dword [eax + 0x7fc]
test ecx, ecx
je 0x4f852c
mov eax, dword [0x6613bc]
add eax, 0x1e8
mov dword [ebp + 0x60], eax
mov ecx, dword [0x6613bc]
add ecx, 0x1ec
mov dword [ebp + 0x3a0], ecx
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push 0
push esi
call fcn.004de660
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push ebx
push esi
call fcn.004de660
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push 0
push esi
call fcn.004ddee0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push ebx
push esi
call fcn.004ddee0
jmp case.0x4f88b0.3
mov eax, dword [ebp + 0x85c]
test eax, eax
jne 0x4f85f1
push 0x900
call fcn.005abebb
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x30], 3
test eax, eax
je 0x4f85c4
push ebp
mov ecx, eax
call fcn.004dcd80
jmp 0x4f85c6
xor eax, eax
mov byte [esp + 0x30], bl
mov dword [ebp + 0x85c], eax
lea edx, [ebp + 0x838]
mov ecx, dword [edx]
add eax, 0x840
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp + 0x85c]
push esi
call fcn.004dcf90
jmp 0x4f863f
mov ecx, dword [ebp + 0x85c]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.004dc980
jmp 0x4f863f
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.00458f70
jmp 0x4f863f
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.00458980
test eax, eax
jne case.0x4f88b0.3
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
xor eax, eax
jmp 0x4f8949
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.004fdb90
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je 0x4f868d
push esi
call fcn.00457ed0
jmp case.0x4f88b0.3
push edi
push 0x10
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.00406e40
mov ecx, 3
mov edi, 0x658410
lea esi, [esp + 0x1c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
pop edi
jne case.0x4f88b0.3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x14]
mov dword [ebp + 0x7b8], eax
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045b3c0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045b7c0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.00457fa0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.00458aa0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045b980
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045baa0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je 0x4f879d
mov eax, dword [ecx + 0x7c4]
test eax, eax
je 0x4f879d
mov edx, dword [eax + 0x7fc]
test edx, edx
je 0x4f879d
mov eax, dword [0x6613bc]
add eax, 0x1e8
mov dword [ebp + 0x60], eax
mov edx, dword [0x6613bc]
add edx, 0x1ec
mov dword [ebp + 0x3a0], edx
mov eax, dword [ebp + 0x860]
test eax, eax
je 0x4f87d0
mov edx, dword [eax + 0x7fc]
test edx, edx
je 0x4f87d0
mov eax, dword [0x6613bc]
add eax, 0x1e8
mov dword [ebp + 0x60], eax
mov edx, dword [0x6613bc]
add edx, 0x1ec
mov dword [ebp + 0x3a0], edx
test ecx, ecx
je case.0x4f88b0.3
push 0
push esi
call fcn.0045bca0
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f8358.48
test byte [ebp + 0x828], bl
je case.0x4f8358.48
push ebx
push esi
call fcn.0045bca0
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045bab0
jmp case.0x4f88b0.3
push esi
mov ecx, ebp
call fcn.004f48a0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f77f0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f5270
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
cmp al, 0xc5
jne case.0x4f88b0.3
push str.Emule___
push 3
push 0x661308
call fcn.0046abf0
movzx eax, byte [esi + 0x35]
add esp, 0xc
dec eax
cmp eax, 0x81
ja case.0x4f88b0.3
movzx eax, byte [eax + 0x4f8b00]
jmp dword [eax*4 + 0x4f8ae8]
push esi
mov ecx, ebp
call fcn.004f6aa0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f7510
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
push esi
mov ecx, ebp
call fcn.004f4de0
mov esi, eax
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, esi
jmp 0x4f8949
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.00458b70
jmp case.0x4f88b0.3
mov ecx, dword [ebp + 0x858]
test ecx, ecx
je case.0x4f88b0.3
push esi
call fcn.0045c020
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401b70
mov eax, ebx
mov ecx, dword [esp + 0x28]
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x1c]
pop ebx
call fcn.0057981f
add esp, 0x28
ret 4