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

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x90
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x7c]
add eax, 0x44
mov ecx, eax
call fcn.00421550
mov eax, dword [ebp - 0x7c]
mov ecx, eax
call fcn.00401c56
mov eax, dword [ebp - 0x7c]
mov ecx, eax
call fcn.00401f00
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 8
lea edx, [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jns 0x401875
mov dword [esp], 4
call fcn.0042f5c0
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x436f54
mov dword [esp], eax
call fcn.0042f940
cmp dword [ebp - 0x14], 8
jne 0x401a16
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x433060
lea eax, [ebp - 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x401a16
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x2c]
mov dword [esp], edx
mov ecx, eax
call fcn.00402050
sub esp, 4
jmp 0x4019f4
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x44]
lea edx, [ebp - 0x2c]
mov dword [esp], edx
mov ecx, eax
call fcn.004020a6
sub esp, 4
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax + 0x4c]
test al, al
je 0x4018e7
mov byte [ebp - 0xa], 0
jmp 0x401989
mov dword [esp + 4], str.first.dll
lea eax, [ebp - 0x44]
mov dword [esp], eax
call fcn.0042eea4
test al, al
je 0x401907
mov byte [ebp - 0xa], 1
jmp 0x401989
lea eax, [ebp - 0x44]
mov ecx, eax
call fcn.00424610
cmp eax, 4
seta al
test al, al
je 0x401989
lea eax, [ebp - 0x44]
mov ecx, eax
call fcn.00424610
lea edx, [eax - 4]
lea eax, [ebp - 0x5c]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edx
lea edx, [ebp - 0x44]
mov dword [esp], edx
mov ecx, eax
call fcn.00424630
sub esp, 0xc
mov dword [esp + 4], str..txt
lea eax, [ebp - 0x5c]
mov dword [esp], eax
call fcn.0042eea4
test al, al
je 0x401964
mov byte [ebp - 0xa], 1
jmp 0x40197f
mov dword [esp + 4], str..json
lea eax, [ebp - 0x5c]
mov dword [esp], eax
call fcn.0042eea4
test al, al
je 0x40197f
mov byte [ebp - 0xa], 2
lea eax, [ebp - 0x5c]
mov ecx, eax
call fcn.0042e3f0
cmp byte [ebp - 0xa], 0
je 0x4019b1
mov eax, dword [ebp - 0x7c]
lea edx, [eax + 0x44]
lea eax, [ebp - 0x2c]
mov dword [esp], edx
mov ecx, eax
call fcn.004020ce
sub esp, 4
mov eax, dword [ebp - 0x7c]
movzx edx, byte [ebp - 0xa]
mov byte [eax + 0x4c], dl
jmp 0x4019ea
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 0x2c]
lea eax, [ebp - 0x74]
lea edx, [ebp - 0x44]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042f030
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x74]
mov dword [esp], edx
mov ecx, eax
call fcn.004020c0
sub esp, 4
lea eax, [ebp - 0x74]
mov ecx, eax
call fcn.0042e3f0
lea eax, [ebp - 0x44]
mov ecx, eax
call fcn.0042e3f0
lea eax, [ebp - 0x2c]
mov ecx, eax
call fcn.0040208c
test al, al
jne 0x4018bc
mov byte [ebp - 9], 1
lea eax, [ebp - 0x2c]
mov ecx, eax
call fcn.00402080
jmp 0x401a1a
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
je 0x401a42
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0x24], 0xffffffff
movzx eax, byte [ebp - 9]
jmp 0x401a91
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret