Function at 0x407a10
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 [0x4faa80]
mov ebp, ecx
mov dword [esp + 0x24], 0
push dword [ebp + 0x10]
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
lea eax, [esp + 0x18]
push eax
push 0x8004667e
push dword [ebp + 0x10]
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
lea ebx, [ebp + 0x18]
mov edi, dword [sym.imp.WSOCK32.dll_recv]
xor esi, esi
mov eax, dword [ebp + 0x20]
cmp esi, eax
jae 0x407a6b
mov ecx, dword [ebx]
nop dword [eax + eax]
cmp byte [ecx + esi], 0
je 0x407aaa
inc esi
cmp esi, eax
jb 0x407a60
cmp eax, dword [ebp + 0x1c]
jne 0x407a8c
mov eax, dword [ebx + 4]
test eax, eax
je 0x407a7b
add eax, eax
jmp 0x407a80
mov eax, 0x800
push eax
mov ecx, ebx
call fcn.0040ccb0
test eax, eax
jne 0x407ab0
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x20]
push 0
push eax
mov eax, dword [ebx]
add eax, dword [ebp + 0x20]
push eax
push dword [ebp + 0x10]
call edi
cmp eax, 0xffffffff
je 0x407ab0
add dword [ebp + 0x20], eax
jmp 0x407a52
mov dword [esp + 0x1c], esi
jmp 0x407ac4
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040c3e0
mov esi, eax
test esi, esi
jne 0x407c68
mov eax, dword [ebx]
push 0x20
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
xor ebx, ebx
mov edi, 0x4cf17e
mov dword [esp + 0x10], edi
test eax, eax
je 0x407cb4
lea esi, [eax + 1]
mov byte [eax], bl
cmp byte [esi], bl
je 0x407cb4
nop word [eax + eax]
mov edx, ebx
cmp ebx, 0x10
je 0x407ba8
cmp byte [esi], 0x2d
jne 0x407ba8
mov al, byte [esi + 1]
inc esi
test al, al
je 0x407ba8
cmp byte [esi + 1], 0x20
jne 0x407b2f
cmp byte [esi + 2], 0x2d
je 0x407b2f
inc esi
mov byte [esi], al
mov dword [esp + ebx*4 + 0x20], esi
inc ebx
cmp al, 0x69
jne 0x407b45
lea eax, [esi + 1]
mov ebx, edx
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x407b50
cmp al, 0x2d
je 0x407cb0
lea edi, [esi + 1]
cmp byte [edi], 0x22
jne 0x407c8e
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407b82
mov cl, al
cmp al, 0x5c
jne 0x407b6c
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x407ba8
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407b63
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x407cb0
push 2
push 0x4cf51c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x407ca6
mov esi, 1
mov dword [ebp + 0x30], 0
lea edi, [ebp + 0x28]
mov dword [ebp + 0x34], 0
cmp dword [ebp + 0x10], 0xffffffff
je 0x407c68
push dword [esp + 0x10]
push dword [esp + 0x18]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040c600
add esp, 0x10
mov ebx, edi
cmp dword [edi + 0xc], 0
jne 0x407c0b
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040ccb0
test eax, eax
jne 0x407c0b
mov edx, dword [edi + 8]
mov ecx, dword [edi]
mov ax, word [0x4cff18]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push ebx
call fcn.0040c600
add esp, 0xc
mov ecx, ebp
call fcn.0040bc80
mov esi, eax
test esi, esi
jne 0x407c68
cmp dword [ebp + 0x20], 0
lea ebx, [ebp + 0x18]
je 0x407c51
mov edi, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
inc edi
cmp edi, eax
jae 0x407c4e
mov ecx, dword [ebx]
sub eax, edi
push eax
lea eax, [ecx + edi]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub dword [ebx + 8], edi
mov eax, dword [ebp + 0x38]
cmp eax, 2
je 0x407a4a
test eax, eax
je 0x407c68
mov ecx, ebp
call fcn.004079e0
mov eax, dword [ebp + 0x10]
cmp eax, 0xffffffff
je 0x407c84
push 0x21
push 0x408
push dword [0x4faa80]
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 0x4cf51c
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x407cb0
mov byte [esi], 0
inc esi
cmp byte [esi], 0
jne 0x407b00
mov edi, dword [esp + 0x10]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi*8 + 0x4f8098]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407cf0
test dl, dl
je 0x407cec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407cf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407cd0
xor eax, eax
jmp 0x407cf5
sbb eax, eax
or eax, 1
test eax, eax
je 0x407d09
inc esi
cmp esi, 0x1a
jne 0x407cc0
mov esi, 4
jmp 0x407bad
push edi
push ebx
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
mov eax, dword [esi*8 + 0x4f809c]
call eax
mov esi, eax
test esi, esi
jne 0x407d52
cmp dword [ebp + 0x30], eax
jne 0x407d3c
push edi
push dword [esp + 0x18]
lea eax, [ebp + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040c600
add esp, 0x10
mov ecx, ebp
call fcn.0040bc80
mov esi, eax
test esi, esi
jne 0x407c68
jmp 0x407c27
cmp esi, 0xffffffff
jne 0x407bad
xor esi, esi
jmp 0x407c27