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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
push 0
push 0
push dword [0x4d9978]
mov ebx, ecx
mov dword [esp + 0x24], 0
push dword [ebx + 0x10]
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
lea eax, [esp + 0x18]
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 0x40733e
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x40737e
mov eax, dword [ebx + 0x20]
inc esi
cmp esi, eax
jb 0x407330
cmp eax, dword [ebx + 0x1c]
jne 0x40735f
mov eax, dword [ebp + 4]
test eax, eax
je 0x40734e
add eax, eax
jmp 0x407353
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040c260
test eax, eax
jne 0x407384
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 0x407384
add dword [ebx + 0x20], eax
jmp 0x407322
mov dword [esp + 0x1c], esi
jmp 0x407398
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040b990
mov esi, eax
test esi, esi
jne 0x407594
mov ebp, dword [ebp]
push 0x20
push ebp
mov dword [esp + 0x1c], ebp
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
xor edi, edi
mov ecx, 0x4c3c29
mov dword [esp + 0x10], ecx
test eax, eax
je 0x4075ba
lea esi, [eax + 1]
mov byte [eax], 0
mov al, byte [esi]
test al, al
je 0x4075c1
nop
mov edx, edi
cmp edi, 0x10
je 0x4074cf
cmp al, 0x2d
jne 0x4074cf
mov al, byte [esi + 1]
inc esi
test al, al
je 0x4074cf
cmp byte [esi + 1], 0x20
jne 0x4073fe
cmp byte [esi + 2], 0x2d
je 0x4073fe
inc esi
mov byte [esi], al
mov dword [esp + edi*4 + 0x20], esi
inc edi
cmp al, 0x69
je 0x40740f
cmp al, 0x2d
je 0x4075c5
cmp al, 0x69
lea ebp, [esi + 1]
cmovne ebp, dword [esp + 0x10]
cmovne edx, edi
cmp byte [esi + 1], 0x22
lea edi, [esi + 1]
mov dword [esp + 0x10], edx
jne 0x40747a
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407456
mov cl, al
cmp al, 0x5c
jne 0x40743c
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x4074bb
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407433
mov edx, dword [esp + 0x10]
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x4074c4
push 2
push 0x4c424c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4074bb
mov ecx, dword [esp + 0x10]
jmp 0x4074a0
push 0x4c424c
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov ecx, dword [esp + 0x18]
mov esi, eax
add esp, 8
mov dword [esp + 0x10], ebp
mov edi, ecx
test esi, esi
je 0x4075c5
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
mov dword [esp + 0x10], ebp
mov edi, ecx
test al, al
jne 0x4073d0
mov dword [esp + 0x10], ebp
jmp 0x4075c9
mov esi, 1
mov ecx, ebp
jmp 0x4074d8
mov edi, edx
mov dword [esp + 0x10], ebp
jmp 0x4075c9
mov esi, 1
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x30], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x34], 0
cmp dword [ebx + 0x10], 0xffffffff
je 0x407594
push ecx
push dword [esp + 0x18]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040bbb0
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x407531
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040c260
test eax, eax
jne 0x407531
mov edx, dword [edi + 8]
mov ecx, dword [edi]
mov ax, word [0x4c4c18]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040bbb0
add esp, 0xc
mov ecx, ebx
call fcn.0040b2c0
mov esi, eax
test esi, esi
jne 0x407594
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x40757d
mov edi, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x407578
mov ecx, dword [ebp]
sub eax, edi
push eax
lea eax, [ecx + edi]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
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 0x40731a
test eax, eax
je 0x407594
mov ecx, ebx
call fcn.004072b0
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x4075b0
push 0x21
push 0x408
push dword [0x4d9978]
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
mov ebp, 0x4c3c29
jmp 0x4075c9
mov ebp, ecx
jmp 0x4075c9
mov ebp, dword [esp + 0x10]
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi*8 + 0x4d7018]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407600
test dl, dl
je 0x4075fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407600
add eax, 2
add ecx, 2
test dl, dl
jne 0x4075e0
xor eax, eax
jmp 0x407605
sbb eax, eax
or eax, 1
test eax, eax
je 0x407619
inc esi
cmp esi, 0x1a
jne 0x4075d0
mov esi, 4
jmp 0x4074d4
push ebp
push edi
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
mov eax, dword [esi*8 + 0x4d701c]
call eax
mov esi, eax
test esi, esi
jne 0x407662
cmp dword [ebx + 0x30], eax
jne 0x40764c
push ebp
push dword [esp + 0x18]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040bbb0
add esp, 0x10
mov ecx, ebx
call fcn.0040b2c0
mov esi, eax
test esi, esi
jne 0x407594
jmp 0x40754d
cmp esi, 0xffffffff
jne 0x4074d4
xor esi, esi
jmp 0x40754d