Function at 0x407a70
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
push edi
push 0
push 0
push dword [0x51ead8]
mov ebx, ecx
mov dword [esp + 0x28], 0
push dword [ebx + 0x10]
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
lea eax, [esp + 0x1c]
push eax
push 0x8004667e
push dword [ebx + 0x10]
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
lea ebp, [ebx + 0x18]
mov edi, dword [sym.imp.WSOCK32.dll_recv]
xor esi, esi
mov eax, dword [ebx + 0x20]
cmp esi, eax
jae 0x407ace
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x407b0e
mov eax, dword [ebx + 0x20]
inc esi
cmp esi, eax
jb 0x407ac0
cmp eax, dword [ebx + 0x1c]
jne 0x407aef
mov eax, dword [ebp + 4]
test eax, eax
je 0x407ade
add eax, eax
jmp 0x407ae3
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040c930
test eax, eax
jne 0x407b14
mov eax, dword [ebx + 0x1c]
sub eax, dword [ebx + 0x20]
push 0
push eax
mov eax, dword [ebp]
add eax, dword [ebx + 0x20]
push eax
push dword [ebx + 0x10]
call edi
cmp eax, 0xffffffff
je 0x407b14
add dword [ebx + 0x20], eax
jmp 0x407ab2
mov dword [esp + 0x20], esi
jmp 0x407b28
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040c0a0
mov esi, eax
test esi, esi
jne 0x407d78
mov ebp, dword [ebp]
push 0x20
push ebp
mov dword [esp + 0x20], ebp
call fcn.004cbe60
add esp, 8
xor edi, edi
mov edx, 0x4f0936
mov dword [esp + 0x10], edx
test eax, eax
je 0x407c5a
lea esi, [eax + 1]
mov byte [eax], 0
mov al, byte [esi]
test al, al
je 0x407c61
nop dword [eax]
mov dword [esp + 0x14], edi
cmp edi, 0x10
je 0x407c53
cmp al, 0x2d
jne 0x407c53
mov al, byte [esi + 1]
inc esi
test al, al
je 0x407c53
cmp byte [esi + 1], 0x20
jne 0x407b90
cmp byte [esi + 2], 0x2d
je 0x407b90
inc esi
mov byte [esi], al
mov dword [esp + edi*4 + 0x24], esi
inc edi
cmp al, 0x69
je 0x407ba1
cmp al, 0x2d
je 0x407c65
mov ecx, dword [esp + 0x14]
lea ebp, [esi + 1]
cmp al, 0x69
cmovne ecx, edi
cmovne ebp, edx
cmp byte [esi + 1], 0x22
lea edi, [esi + 1]
mov dword [esp + 0x14], ecx
jne 0x407c0d
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407bea
mov cl, al
cmp al, 0x5c
jne 0x407bd0
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x407c4a
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407bc7
mov ecx, dword [esp + 0x14]
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x407c42
push 2
push 0x4f0cd4
push esi
call fcn.004d43f0
add esp, 0xc
test eax, eax
jne 0x407c4a
mov ecx, dword [esp + 0x14]
jmp 0x407c2e
push 0x4f0cd4
push edi
call fcn.004cbf90
mov ecx, dword [esp + 0x1c]
mov esi, eax
add esp, 8
mov dword [esp + 0x10], ebp
mov edi, ecx
test esi, esi
je 0x407c65
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
mov dword [esp + 0x10], ebp
mov edi, ecx
mov edx, ebp
test al, al
jne 0x407b60
mov edi, ecx
mov dword [esp + 0x10], ebp
jmp 0x407c69
mov esi, 1
mov edx, ebp
jmp 0x407cbc
mov esi, 1
jmp 0x407cbc
mov ebp, 0x4f0936
jmp 0x407c69
mov ebp, edx
jmp 0x407c69
mov ebp, dword [esp + 0x10]
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi*8 + 0x51b8b0]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407ca0
test dl, dl
je 0x407c9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407ca0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407c80
xor eax, eax
jmp 0x407ca5
sbb eax, eax
or eax, 1
test eax, eax
je 0x407d9e
inc esi
cmp esi, 0x1a
jne 0x407c70
mov esi, 4
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x30], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x34], 0
cmp dword [ebx + 0x10], 0xffffffff
je 0x407d78
push edx
push dword [esp + 0x1c]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040c2a0
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x407d15
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040c930
test eax, eax
jne 0x407d15
mov edx, dword [edi + 8]
mov ecx, dword [edi]
mov ax, word [0x4f16d0]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040c2a0
add esp, 0xc
mov ecx, ebx
call fcn.0040b9b0
mov esi, eax
test esi, esi
jne 0x407d78
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x407d61
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x407d5c
mov ecx, dword [ebp]
sub eax, edi
push eax
lea eax, [ecx + edi]
push eax
push ecx
call fcn.004cc730
mov eax, dword [ebp + 8]
add esp, 0xc
sub eax, edi
mov dword [ebp + 8], eax
mov eax, dword [ebx + 0x38]
cmp eax, 2
je 0x407aaa
test eax, eax
je 0x407d78
mov ecx, ebx
call fcn.00407a40
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x407d94
push 0x21
push 0x408
push dword [0x51ead8]
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov eax, dword [esi*8 + 0x51b8b4]
lea ecx, [esp + 0x24]
push ebp
push edi
push ecx
mov ecx, ebx
call eax
mov esi, eax
test esi, esi
jne 0x407de3
cmp dword [ebx + 0x30], eax
jne 0x407dd1
push ebp
push dword [esp + 0x1c]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040c2a0
add esp, 0x10
mov ecx, ebx
call fcn.0040b9b0
mov esi, eax
test esi, esi
jne 0x407d78
jmp 0x407d31
cmp esi, 0xffffffff
jne 0x407cb8
xor esi, esi
jmp 0x407d31