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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
push 0
push 0
push dword [0x4e5ba8]
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 0x40715e
mov ecx, dword [ebp]
nop dword [eax]
cmp byte [ecx + esi], 0
je 0x40719e
mov eax, dword [ebx + 0x20]
inc esi
cmp esi, eax
jb 0x407150
cmp eax, dword [ebx + 0x1c]
jne 0x40717f
mov eax, dword [ebp + 4]
test eax, eax
je 0x40716e
add eax, eax
jmp 0x407173
mov eax, 0x800
push eax
mov ecx, ebp
call fcn.0040bd40
test eax, eax
jne 0x4071a4
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 0x4071a4
add dword [ebx + 0x20], eax
jmp 0x407142
mov dword [esp + 0x24], esi
jmp 0x4071b8
mov ecx, str.An_internal_error_has_occurred_in_the_debugger_engine._nContinue_running_the_script_without_the_debugger_
call fcn.0040b660
mov esi, eax
test esi, esi
jne 0x40736d
mov eax, dword [ebp]
push 0x20
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
xor edi, edi
mov ebp, 0x4ba070
mov dword [esp + 0x10], ebp
test eax, eax
je 0x4073e4
lea esi, [eax + 1]
mov byte [eax], 0
mov al, byte [esi]
xor edx, edx
test al, al
je 0x4073d8
cmp edx, 0x10
je 0x4072a9
cmp al, 0x2d
jne 0x4072a9
mov cl, byte [esi + 1]
inc esi
test cl, cl
je 0x4072a9
cmp byte [esi + 1], 0x20
jne 0x40721b
cmp byte [esi + 2], al
je 0x40721b
inc esi
mov byte [esi], cl
cmp cl, 0x69
mov dword [esp + edx*4 + 0x28], esi
lea edi, [esi + 1]
mov eax, edi
cmovne eax, ebp
mov dword [esp + 0x10], eax
mov ebp, eax
lea eax, [edx + 1]
cmovne edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], edx
cmp cl, 0x2d
je 0x4073c2
cmp byte [edi], 0x22
jne 0x407393
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x22
je 0x407283
nop word [eax + eax]
mov cl, al
cmp al, 0x5c
jne 0x407269
mov cl, byte [esi + 1]
lea edx, [esi + 1]
cmovne edx, esi
test cl, cl
je 0x4072a9
mov byte [edi], cl
lea esi, [edx + 1]
mov al, byte [esi]
inc edi
cmp al, 0x22
jne 0x407260
mov edx, dword [esp + 0x14]
inc esi
mov byte [edi], 0
cmp byte [esi], 0
je 0x4073c2
push 2
push 0x4ba40c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4073ab
mov esi, 1
mov eax, dword [esp + 0x10]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
cmp dword [ebx + 0x10], 0xffffffff
je 0x40736d
push eax
push dword [esp + 0x1c]
push str._response_command__s__transaction_id__e
push edi
call fcn.0040b6b0
add esp, 0x10
cmp dword [edi + 0xc], 0
jne 0x40730a
mov eax, dword [edi + 8]
mov ecx, edi
add eax, 2
push eax
call fcn.0040bd40
test eax, eax
jne 0x40730a
mov ecx, dword [edi + 8]
add ecx, dword [edi]
mov ax, word [0x4bae08]
mov word [ecx], ax
add dword [edi + 8], 2
push esi
push str._error_code__i_____response_
push edi
call fcn.0040b6b0
add esp, 0xc
mov ecx, ebx
call fcn.0040afe0
mov esi, eax
test esi, esi
jne 0x40736d
cmp dword [ebx + 0x20], 0
lea ebp, [ebx + 0x18]
je 0x407356
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jae 0x407351
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 0x40713a
test eax, eax
je 0x40736d
mov ecx, ebx
call fcn.004070b0
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x407389
push 0x21
push 0x408
push dword [0x4e5ba8]
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push 0x4ba40c
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x4073dc
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
mov ecx, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 0x10], ebp
test al, al
je 0x4073d0
jmp 0x4071f0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebp
jmp 0x4073e0
mov edi, ecx
mov dword [esp + 0x10], ebp
jmp 0x4073e4
xor edi, edi
jmp 0x4073e4
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi*8 + 0x4e3020]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407420
test dl, dl
je 0x40741c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407420
add eax, 2
add ecx, 2
test dl, dl
jne 0x407400
xor eax, eax
jmp 0x407425
sbb eax, eax
or eax, 1
test eax, eax
je 0x407439
inc esi
cmp esi, 0x1a
jne 0x4073f0
mov esi, 4
jmp 0x4072ae
push ebp
push edi
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
mov eax, dword [esi*8 + 0x4e3024]
call eax
mov esi, eax
test esi, esi
jne 0x407482
cmp dword [ebx + 0x30], eax
jne 0x40746c
push ebp
push dword [esp + 0x1c]
lea eax, [ebx + 0x28]
push str._response_command__s__transaction_id__e___
push eax
call fcn.0040b6b0
add esp, 0x10
mov ecx, ebx
call fcn.0040afe0
mov esi, eax
test esi, esi
jne 0x40736d
jmp 0x407326
cmp esi, 0xffffffff
jne 0x4072ae
xor esi, esi
jmp 0x407326