Function at 0x407d00
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 [0x4fb9e8]
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 0x407d5b
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x407d9b
inc esi
cmp esi, eax
jb 0x407d50
cmp eax, dword [ebx + 0x1c]
jne 0x407d7c
mov eax, dword [ebp + 4]
test eax, eax
je 0x407d6b
add eax, eax
jmp 0x407d70
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040d1b0
test eax, eax
jne 0x407da1
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 0x407da1
add dword [ebx + 0x20], eax
jmp 0x407d42
mov dword [esp + 0x1c], esi
jmp 0x407db5
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040c8e0
mov esi, eax
test esi, esi
jne 0x407f57
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, 0x4d018e
mov dword [esp + 0x10], edi
test eax, eax
je 0x407fa3
lea esi, [eax + 1]
mov byte [eax], 0
cmp byte [esi], 0
je 0x407fa3
nop word [eax + eax]
mov edx, ebp
cmp ebp, 0x10
je 0x407e98
cmp byte [esi], 0x2d
jne 0x407e98
mov al, byte [esi + 1]
inc esi
test al, al
je 0x407e98
cmp byte [esi + 1], 0x20
jne 0x407e1f
cmp byte [esi + 2], 0x2d
je 0x407e1f
inc esi
mov byte [esi], al
mov dword [esp + ebp*4 + 0x20], esi
inc ebp
cmp al, 0x69
jne 0x407e35
lea eax, [esi + 1]
mov ebp, edx
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x407e40
cmp al, 0x2d
je 0x407f9f
lea edi, [esi + 1]
cmp byte [edi], 0x22
jne 0x407f7d
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407e72
mov cl, al
cmp al, 0x5c
jne 0x407e5c
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x407e98
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407e53
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x407f9f
push 2
push 0x4d052c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x407f95
mov esi, 1
mov dword [ebx + 0x30], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x34], 0
cmp dword [ebx + 0x10], 0xffffffff
je 0x407f57
push dword [esp + 0x10]
push dword [esp + 0x18]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040cb00
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x407ef9
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040d1b0
test eax, eax
jne 0x407ef9
mov ecx, dword [edi + 8]
mov edx, dword [edi]
mov ax, word [0x4d0f28]
mov word [edx + ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040cb00
add esp, 0xc
mov ecx, ebx
call fcn.0040c180
mov esi, eax
test esi, esi
jne 0x407f57
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x407f40
mov edi, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x407f3d
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 0x407d3a
test eax, eax
je 0x407f57
mov ecx, ebx
call fcn.00407cd0
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x407f73
push 0x21
push 0x408
push dword [0x4fb9e8]
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 0x4d052c
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x407f9f
mov byte [esi], 0
inc esi
cmp byte [esi], 0
jne 0x407df0
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 0x407fe0
test dl, dl
je 0x407fdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407fe0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407fc0
xor eax, eax
jmp 0x407fe5
sbb eax, eax
or eax, 1
test eax, eax
je 0x407ff9
inc esi
cmp esi, 0x1a
jne 0x407fb0
mov esi, 4
jmp 0x407e9d
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 0x408042
cmp dword [ebx + 0x30], eax
jne 0x40802c
push edi
push dword [esp + 0x18]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040cb00
add esp, 0x10
mov ecx, ebx
call fcn.0040c180
mov esi, eax
test esi, esi
jne 0x407f57
jmp 0x407f15
cmp esi, 0xffffffff
jne 0x407e9d
xor esi, esi
jmp 0x407f15