Function at 0x40ea50
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13b4
call fcn.00463a90
mov eax, dword [0x4b9430]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
inc dword [ebx + 0x88]
push 0x1388
lea eax, [ebp - 0x1390]
push 0
lea esi, [ebx + 0xe8]
push eax
mov dword [ebp - 0x13b4], ebx
mov dword [ebp - 0x13a4], esi
call fcn.00463ac0
add esp, 0xc
mov ecx, ebx
call fcn.0040e480
mov edi, eax
test edi, edi
je 0x40eb50
push edi
push ebx
call fcn.0040d730
add esp, 8
test eax, eax
jne 0x40eb50
mov ecx, edi
call fcn.00420840
push edi
mov dword [ebp - 0x1394], eax
call fcn.0045d483
add esp, 4
cmp dword [ebp - 0x1394], 0
je 0x40eb66
mov edi, dword [ebx + 0x84]
push str.HTTP_1.1_400_Invalid_header_received_from_client_r_n
push 0x32
push edi
push str.to_socket__d:__N
push 0x10
call fcn.004090c0
add esp, 0x14
push 0
push 0x32
push str.HTTP_1.1_400_Invalid_header_received_from_client_r_n
push edi
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [ebx + 0xdc]
push ecx
push str._s_______T___Invalid_request__400_0
push 0x200
call fcn.004090c0
mov eax, dword [ebp - 0x1394]
add esp, 0xc
call fcn.00409670
mov edx, dword [ebx + 0xdc]
push eax
push edx
push str.Couldnt_parse_request_line_received_from__s:__s
push 0x2000
call fcn.004090c0
add esp, 0x10
call fcn.004202b0
mov eax, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d3b4
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x13a0], eax
mov dword [ebp - 0x139c], eax
lea eax, [ebx + 0x154]
mov dword [ebp - 0x13b0], eax
call fcn.00415900
mov dword [ebp - 0x1398], eax
test eax, eax
je 0x40ed4f
jmp 0x40eba6
mov eax, dword [ebp - 0x1398]
cmp byte [eax], 0
jne 0x40ec53
mov eax, dword [ebx]
mov ecx, dword [eax + 0x74]
mov esi, dword [ebx + 0x84]
push ecx
call fcn.0040cde0
add esp, 4
test eax, eax
je 0x40ede7
mov edi, dword [ebx + 0x84]
push 0
push 0x1387
lea edx, [ebp - 0x1390]
push edx
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
jle 0x40ee1b
lea eax, [ebp - 0x1390]
push eax
push esi
push edi
push str.from_socket__d:__N
push 0x8000
call fcn.004090c0
mov edx, dword [ebx]
mov edx, dword [edx + 0x64]
mov eax, dword [ebp - 0x13b0]
add esp, 0x14
lea ecx, [ebp - 0x1390]
push esi
push ecx
call fcn.004152f0
add esp, 8
test eax, eax
je 0x40ed30
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.00412360
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d3b4
mov esp, ebp
pop ebp
ret
mov edi, str.Transfer_Encoding:
mov dword [ebp - 0x13ac], 0x12
mov dword [ebp - 0x1394], edi
mov esi, eax
lea ebx, [ebx]
mov al, byte [edi]
test al, al
je 0x40ecbf
mov cl, byte [esi]
cmp cl, al
je 0x40ecaa
movzx eax, cl
push eax
call fcn.0046178b
movzx ecx, byte [edi]
add esp, 4
push ecx
mov dword [ebp - 0x13a8], eax
call fcn.0046178b
mov ecx, dword [ebp - 0x13a8]
mov edi, dword [ebp - 0x1394]
add esp, 4
cmp ecx, eax
jne 0x40ecbf
dec dword [ebp - 0x13ac]
je 0x40ecbf
inc esi
inc edi
cmp byte [esi], 0
mov dword [ebp - 0x1394], edi
jne 0x40ec70
movzx edx, byte [esi]
push edx
call fcn.0046178b
mov esi, eax
movzx eax, byte [edi]
add esp, 4
push eax
call fcn.0046178b
add esp, 4
sub esi, eax
jne 0x40ed0e
mov ecx, dword [ebp - 0x1398]
push str.chunked
push ecx
call fcn.0045d4c0
add esp, 8
test eax, eax
je 0x40ed0e
or dword [ebx + 0xd8], 0x1000000
push str.Expecting_chunked_client_body
push 8
call fcn.004090c0
add esp, 8
mov ebx, dword [ebp - 0x1398]
lea edi, [ebp - 0x13a0]
call fcn.004123b0
mov edx, ebx
push edx
call fcn.0045d483
mov ebx, dword [ebp - 0x13b4]
add esp, 4
mov eax, dword [ebp - 0x13b0]
call fcn.00415900
mov dword [ebp - 0x1398], eax
test eax, eax
jne 0x40eba0
mov esi, dword [ebp - 0x13a4]
cmp dword [esi + 0x18], 0
jne 0x40ed6e
lea eax, [ebp - 0x13a0]
push eax
mov eax, ebx
call fcn.0040d950
add esp, 4
test eax, eax
jne 0x40eb50
test byte [ebx + 0xd8], 0x20
jne 0x40ed92
push 0x80
lea edi, [ebx + 4]
push 0
push edi
call fcn.00463ac0
add esp, 0xc
mov dword [edi], 0
jmp 0x40eda1
mov edi, esi
mov eax, ebx
call fcn.0040a6a0
mov esi, dword [ebp - 0x13a4]
mov eax, dword [esi]
call fcn.00413bc0
lea edi, [ebx + 0x164]
mov ebx, dword [esi]
mov dword [esi + 4], eax
call fcn.004123b0
lea eax, [ebp - 0x13a0]
mov ebx, edi
call fcn.004128e0
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.00412360
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d3b4
mov esp, ebp
pop ebp
ret
push str.Stopped_grabbing_the_client_headers.
push 0x2000
call fcn.004090c0
lea edx, [ebp - 0x13a0]
push edx
call fcn.00412360
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d3b4
mov esp, ebp
pop ebp
ret
push str.read_from_client_failed:__E
push 0x2000
call fcn.004090c0
lea eax, [ebp - 0x13a0]
push eax
call fcn.00412360
mov ecx, dword [ebp - 4]
add esp, 0xc
pop edi
pop esi
xor ecx, ebp
mov eax, 4
pop ebx
call fcn.0045d3b4
mov esp, ebp
pop ebp
ret