Function at 0x4072f0
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 [0x4fb968]
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 0x40734e
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x40738e
mov eax, dword [ebx + 0x20]
inc esi
cmp esi, eax
jb 0x407340
cmp eax, dword [ebx + 0x1c]
jne 0x40736f
mov eax, dword [ebp + 4]
test eax, eax
je 0x40735e
add eax, eax
jmp 0x407363
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040c1e0
test eax, eax
jne 0x407394
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 0x407394
add dword [ebx + 0x20], eax
jmp 0x407332
mov dword [esp + 0x20], esi
jmp 0x4073a8
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040b950
mov esi, eax
test esi, esi
jne 0x4075f8
mov ebp, dword [ebp]
push 0x20
push ebp
mov dword [esp + 0x20], ebp
call fcn.004c1de0
add esp, 8
xor edi, edi
mov edx, 0x4e3371
mov dword [esp + 0x10], edx
test eax, eax
je 0x4074da
lea esi, [eax + 1]
mov byte [eax], 0
mov al, byte [esi]
test al, al
je 0x4074e1
nop dword [eax]
mov dword [esp + 0x14], edi
cmp edi, 0x10
je 0x4074d3
cmp al, 0x2d
jne 0x4074d3
mov al, byte [esi + 1]
inc esi
test al, al
je 0x4074d3
cmp byte [esi + 1], 0x20
jne 0x407410
cmp byte [esi + 2], 0x2d
je 0x407410
inc esi
mov byte [esi], al
mov dword [esp + edi*4 + 0x24], esi
inc edi
cmp al, 0x69
je 0x407421
cmp al, 0x2d
je 0x4074e5
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 0x40748d
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x40746a
mov cl, al
cmp al, 0x5c
jne 0x407450
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x4074ca
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407447
mov ecx, dword [esp + 0x14]
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x4074c2
push 2
push 0x4e3994
push esi
call fcn.004ca980
add esp, 0xc
test eax, eax
jne 0x4074ca
mov ecx, dword [esp + 0x14]
jmp 0x4074ae
push 0x4e3994
push edi
call fcn.004c1f10
mov ecx, dword [esp + 0x1c]
mov esi, eax
add esp, 8
mov dword [esp + 0x10], ebp
mov edi, ecx
test esi, esi
je 0x4074e5
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 0x4073e0
mov edi, ecx
mov dword [esp + 0x10], ebp
jmp 0x4074e9
mov esi, 1
mov edx, ebp
jmp 0x40753c
mov esi, 1
jmp 0x40753c
mov ebp, 0x4e3371
jmp 0x4074e9
mov ebp, edx
jmp 0x4074e9
mov ebp, dword [esp + 0x10]
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi*8 + 0x4f88b0]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407520
test dl, dl
je 0x40751c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407520
add eax, 2
add ecx, 2
test dl, dl
jne 0x407500
xor eax, eax
jmp 0x407525
sbb eax, eax
or eax, 1
test eax, eax
je 0x40761e
inc esi
cmp esi, 0x1a
jne 0x4074f0
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 0x4075f8
push edx
push dword [esp + 0x1c]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040bb50
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x407595
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040c1e0
test eax, eax
jne 0x407595
mov edx, dword [edi + 8]
mov ecx, dword [edi]
mov ax, word [0x4e4360]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040bb50
add esp, 0xc
mov ecx, ebx
call fcn.0040b270
mov esi, eax
test esi, esi
jne 0x4075f8
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x4075e1
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x4075dc
mov ecx, dword [ebp]
sub eax, edi
push eax
lea eax, [ecx + edi]
push eax
push ecx
call fcn.004c2440
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 0x40732a
test eax, eax
je 0x4075f8
mov ecx, ebx
call fcn.004072c0
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x407614
push 0x21
push 0x408
push dword [0x4fb968]
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 + 0x4f88b4]
lea ecx, [esp + 0x24]
push ebp
push edi
push ecx
mov ecx, ebx
call eax
mov esi, eax
test esi, esi
jne 0x407663
cmp dword [ebx + 0x30], eax
jne 0x407651
push ebp
push dword [esp + 0x1c]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040bb50
add esp, 0x10
mov ecx, ebx
call fcn.0040b270
mov esi, eax
test esi, esi
jne 0x4075f8
jmp 0x4075b1
cmp esi, 0xffffffff
jne 0x407538
xor esi, esi
jmp 0x4075b1