Function at 0x407c90
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 [0x4fba00]
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 0x407ceb
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x407d2b
inc esi
cmp esi, eax
jb 0x407ce0
cmp eax, dword [ebx + 0x1c]
jne 0x407d0c
mov eax, dword [ebp + 4]
test eax, eax
je 0x407cfb
add eax, eax
jmp 0x407d00
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040d140
test eax, eax
jne 0x407d31
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 0x407d31
add dword [ebx + 0x20], eax
jmp 0x407cd2
mov dword [esp + 0x1c], esi
jmp 0x407d45
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040c870
mov esi, eax
test esi, esi
jne 0x407ee7
mov eax, dword [ebp]
push 0x20
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
xor ebp, ebp
mov edi, 0x4d017e
mov dword [esp + 0x10], edi
test eax, eax
je 0x407f33
lea esi, [eax + 1]
mov byte [eax], 0
cmp byte [esi], 0
je 0x407f33
nop word [eax + eax]
mov edx, ebp
cmp ebp, 0x10
je 0x407e28
cmp byte [esi], 0x2d
jne 0x407e28
mov al, byte [esi + 1]
inc esi
test al, al
je 0x407e28
cmp byte [esi + 1], 0x20
jne 0x407daf
cmp byte [esi + 2], 0x2d
je 0x407daf
inc esi
mov byte [esi], al
mov dword [esp + ebp*4 + 0x20], esi
inc ebp
cmp al, 0x69
jne 0x407dc5
lea eax, [esi + 1]
mov ebp, edx
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x407dd0
cmp al, 0x2d
je 0x407f2f
lea edi, [esi + 1]
cmp byte [edi], 0x22
jne 0x407f0d
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407e02
mov cl, al
cmp al, 0x5c
jne 0x407dec
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x407e28
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407de3
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x407f2f
push 2
push 0x4d051c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x407f25
mov esi, 1
mov dword [ebx + 0x30], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x34], 0
cmp dword [ebx + 0x10], 0xffffffff
je 0x407ee7
push dword [esp + 0x10]
push dword [esp + 0x18]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040ca90
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x407e89
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040d140
test eax, eax
jne 0x407e89
mov edx, dword [edi + 8]
mov ecx, dword [edi]
mov ax, word [0x4d0f18]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040ca90
add esp, 0xc
mov ecx, ebx
call fcn.0040c110
mov esi, eax
test esi, esi
jne 0x407ee7
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x407ed0
mov edi, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x407ecd
mov ecx, dword [ebp]
sub eax, edi
push eax
lea eax, [ecx + edi]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub dword [ebp + 8], edi
mov eax, dword [ebx + 0x38]
cmp eax, 2
je 0x407cca
test eax, eax
je 0x407ee7
mov ecx, ebx
call fcn.00407c60
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x407f03
push 0x21
push 0x408
push dword [0x4fba00]
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
push 0x4d051c
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x407f2f
mov byte [esi], 0
inc esi
cmp byte [esi], 0
jne 0x407d80
mov edi, dword [esp + 0x10]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi*8 + 0x4f9018]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407f70
test dl, dl
je 0x407f6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407f70
add eax, 2
add ecx, 2
test dl, dl
jne 0x407f50
xor eax, eax
jmp 0x407f75
sbb eax, eax
or eax, 1
test eax, eax
je 0x407f89
inc esi
cmp esi, 0x1a
jne 0x407f40
mov esi, 4
jmp 0x407e2d
push edi
push ebp
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
mov eax, dword [esi*8 + 0x4f901c]
call eax
mov esi, eax
test esi, esi
jne 0x407fd2
cmp dword [ebx + 0x30], eax
jne 0x407fbc
push edi
push dword [esp + 0x18]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040ca90
add esp, 0x10
mov ecx, ebx
call fcn.0040c110
mov esi, eax
test esi, esi
jne 0x407ee7
jmp 0x407ea5
cmp esi, 0xffffffff
jne 0x407e2d
xor esi, esi
jmp 0x407ea5