Function at 0x412cc0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x50e313
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x564020]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 4]
push eax
mov dword [ebx], vtable.CHookManager.0
call fcn.00411dc0
lea edi, [ebx + 0x1c]
xor ebp, ebp
mov esi, edi
mov dword [esp + 0x20], ebp
call fcn.00411620
mov byte [esp + 0x20], 1
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x2c]
push edx
push str.GameRanger.dll
push 2
mov dword [ebx], vtable.CWinsockHook.0
mov dword [edi], vtable.CWinsockHook.1.0
mov dword [0x56f4c0], ecx
mov dword [esp + 0x38], ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
test eax, eax
je 0x4131b0
call fcn.00411740
push 0x56f468
mov ecx, 0x55c050
mov edx, edi
call fcn.00411a00
cmp dword [0x56f410], ebp
jne 0x412d74
push 0x55c050
push ebx
mov eax, 0x412400
mov esi, 0x56f410
call fcn.00410f40
push 0x56f494
mov ecx, 0x55c058
mov edx, edi
call fcn.00411a00
cmp dword [0x56f43c], ebp
jne 0x412da2
push 0x55c058
push ebx
mov eax, 0x412870
mov esi, 0x56f43c
call fcn.00410f40
push 0x56f46c
mov ecx, str.getpeername
mov edx, edi
call fcn.00411a00
test al, al
je 0x412dd4
cmp dword [0x56f414], ebp
jne 0x412dd4
push str.getpeername
push ebx
mov eax, 0x4124b0
mov esi, 0x56f414
call fcn.00410f40
push 0x56f470
mov ecx, str.connect
mov edx, edi
call fcn.00411a00
test al, al
je 0x412e06
cmp dword [0x56f418], ebp
jne 0x412e06
push str.connect
push ebx
mov eax, 0x412510
mov esi, 0x56f418
call fcn.00410f40
push 0x56f474
mov ecx, str.accept
mov edx, edi
call fcn.00411a00
test al, al
je 0x412e38
cmp dword [0x56f41c], ebp
jne 0x412e38
push str.accept
push ebx
mov eax, 0x412570
mov esi, 0x56f41c
call fcn.00410f40
push 0x56f478
mov ecx, str.sendto
mov edx, edi
call fcn.00411a00
test al, al
je 0x412e6a
cmp dword [0x56f420], ebp
jne 0x412e6a
push str.sendto
push ebx
mov eax, 0x4125d0
mov esi, 0x56f420
call fcn.00410f40
push 0x56f47c
mov ecx, str.recvfrom
mov edx, edi
call fcn.00411a00
test al, al
je 0x412e9c
cmp dword [0x56f424], ebp
jne 0x412e9c
push str.recvfrom
push ebx
mov eax, 0x412630
mov esi, 0x56f424
call fcn.00410f40
push 0x56f480
mov ecx, str.recv
mov edx, edi
call fcn.00411a00
test al, al
je 0x412ece
cmp dword [0x56f428], ebp
jne 0x412ece
push str.recv
push ebx
mov eax, 0x412690
mov esi, 0x56f428
call fcn.00410f40
push 0x56f484
mov ecx, str.bind
mov edx, edi
call fcn.00411a00
test al, al
je 0x412f00
cmp dword [0x56f42c], ebp
jne 0x412f00
push str.bind
push ebx
mov eax, 0x4126f0
mov esi, 0x56f42c
call fcn.00410f40
push 0x56f488
mov ecx, str.closesocket
mov edx, edi
call fcn.00411a00
test al, al
je 0x412f32
cmp dword [0x56f430], ebp
jne 0x412f32
push str.closesocket
push ebx
mov eax, 0x412750
mov esi, 0x56f430
call fcn.00410f40
push 0x56f48c
mov ecx, str.getsockname
mov edx, edi
call fcn.00411a00
test al, al
je 0x412f64
cmp dword [0x56f434], ebp
jne 0x412f64
push str.getsockname
push ebx
mov eax, 0x4127b0
mov esi, 0x56f434
call fcn.00410f40
push 0x56f490
mov ecx, str.gethostname
mov edx, edi
call fcn.00411a00
test al, al
je 0x412f96
cmp dword [0x56f438], ebp
jne 0x412f96
push str.gethostname
push ebx
mov eax, 0x412810
mov esi, 0x56f438
call fcn.00410f40
push 0x56f498
mov ecx, str.getsockopt
mov edx, edi
call fcn.00411a00
test al, al
je 0x412fc8
cmp dword [0x56f440], ebp
jne 0x412fc8
push str.getsockopt
push ebx
mov eax, 0x412900
mov esi, 0x56f440
call fcn.00410f40
push 0x56f49c
mov ecx, str.setsockopt
mov edx, edi
call fcn.00411a00
test al, al
je 0x412ffa
cmp dword [0x56f444], ebp
jne 0x412ffa
push str.setsockopt
push ebx
mov eax, 0x412960
mov esi, 0x56f444
call fcn.00410f40
push 0x56f4a0
mov ecx, str.WSAIoctl
mov edx, edi
call fcn.00411a00
test al, al
je 0x41302c
cmp dword [0x56f448], ebp
jne 0x41302c
push str.WSAIoctl
push ebx
mov eax, 0x4129c0
mov esi, 0x56f448
call fcn.00410f40
push 0x56f4a4
mov ecx, str.WSASocketA
mov edx, edi
call fcn.00411a00
test al, al
je 0x41305e
cmp dword [0x56f44c], ebp
jne 0x41305e
push str.WSASocketA
push ebx
mov eax, 0x412a20
mov esi, 0x56f44c
call fcn.00410f40
push 0x56f4a8
mov ecx, str.WSASocketW
mov edx, edi
call fcn.00411a00
test al, al
je 0x413090
cmp dword [0x56f450], ebp
jne 0x413090
push str.WSASocketW
push ebx
mov eax, 0x412a80
mov esi, 0x56f450
call fcn.00410f40
push 0x56f4ac
mov ecx, str.WSAConnect
mov edx, edi
call fcn.00411a00
test al, al
je 0x4130c2
cmp dword [0x56f454], ebp
jne 0x4130c2
push str.WSAConnect
push ebx
mov eax, 0x412ae0
mov esi, 0x56f454
call fcn.00410f40
push 0x56f4b0
mov ecx, str.WSASendTo
mov edx, edi
call fcn.00411a00
test al, al
je 0x4130f4
cmp dword [0x56f458], ebp
jne 0x4130f4
push str.WSASendTo
push ebx
mov eax, 0x412b40
mov esi, 0x56f458
call fcn.00410f40
push 0x56f4b4
mov ecx, str.WSARecvFrom
mov edx, edi
call fcn.00411a00
test al, al
je 0x413126
cmp dword [0x56f45c], ebp
jne 0x413126
push str.WSARecvFrom
push ebx
mov eax, 0x412ba0
mov esi, 0x56f45c
call fcn.00410f40
push 0x56f4b8
mov ecx, str.WSAGetOverlappedResult
mov edx, edi
call fcn.00411a00
test al, al
je 0x413158
cmp dword [0x56f460], ebp
jne 0x413158
push str.WSAGetOverlappedResult
push ebx
mov eax, 0x412c00
mov esi, 0x56f460
call fcn.00410f40
push 0x56f4bc
mov ecx, 0x55c144
mov edx, edi
call fcn.00411a00
test al, al
je 0x41318a
cmp dword [0x56f464], ebp
jne 0x41318a
push 0x55c144
push ebx
mov eax, 0x412c60
mov esi, 0x56f464
call fcn.00410f40
mov eax, dword [edi + 8]
cmp eax, ebp
je 0x4131a2
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [edi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor ecx, ecx
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov word [edi + 0xc], cx
jmp 0x4131ea
cmp dword [0x56f410], ebp
jne 0x4131cd
push str.socket
push ebx
mov eax, 0x412400
mov esi, 0x56f410
call fcn.00410f40
cmp dword [0x56f43c], ebp
jne 0x4131ea
push str.gethostbyname
push ebx
mov eax, 0x412870
mov esi, 0x56f43c
call fcn.00410f40
mov eax, ebx
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 8