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

Disassembly:
sub esp, 0x21c
mov eax, dword [0x481524]
xor eax, esp
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x220]
push ebx
push ebp
push edi
push str.Content_Length
push esi
mov dword [esp + 0x18], eax
xor ebx, ebx
call fcn.0040a0e0
add esp, 8
test eax, eax
jne 0x40de6e
or edi, 0xffffffff
or ebp, 0xffffffff
jmp 0x40de7f
push 0xa
push 0
push eax
call fcn.0044f2da
add esp, 0xc
mov edi, eax
xor ebp, ebp
push str.Expect
push esi
call fcn.0040a0e0
mov edx, edi
and edx, ebp
add esp, 8
mov ecx, eax
cmp edx, 0xffffffff
jne 0x40decb
push 0x471cdd
push 0x19b
mov edx, str.Length_Required
mov ecx, esi
call fcn.0040a410
add esp, 8
mov eax, ebx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, esp
call fcn.0044aab8
add esp, 0x21c
ret
test ecx, ecx
je 0x40df1d
mov eax, str.100_continue
call fcn.00409f30
mov ecx, esi
test eax, eax
je 0x40df10
push 0x471cdd
push 0x1a1
mov edx, str.Expectation_Failed
call fcn.0040a410
add esp, 8
mov eax, ebx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, esp
call fcn.0044aab8
add esp, 0x21c
ret
push str.HTTP_1.1_100_Continue_r_n_r_n
call fcn.0040b0d0
add esp, 4
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cdq
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
cmp ebp, edx
ja 0x40df7f
jb 0x40df35
cmp edi, eax
ja 0x40df7f
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1c], edi
test eax, eax
je 0x40df62
mov ebx, dword [esi + 0xc]
push ebp
push edi
push 0
push 0xffffffffffffffff
push eax
call fcn.0040afd0
add esp, 0x14
cmp eax, edi
jne 0x40e064
cmp edx, ebp
jne 0x40e064
mov eax, 1
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, esp
call fcn.0044aab8
add esp, 0x21c
ret
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x40dfb8
mov eax, dword [esi + 0xc]
lea ecx, [ebx + 1]
push ecx
mov dword [esi + 0x270], 1
mov dword [esp + 0x18], eax
call fcn.0044c7be
mov edx, dword [esp + 0x18]
add esp, 4
push ebx
push edx
push eax
mov dword [esi + 0xc], eax
call fcn.00454330
add esp, 0xc
jmp 0x40dfca
mov ebx, dword [esi + 0xc]
push edx
push eax
push 0
push 0xffffffffffffffff
push ecx
call fcn.0040afd0
add esp, 0x14
sub edi, dword [esp + 0x18]
sbb ebp, dword [esp + 0x1c]
jne 0x40dfd8
test edi, edi
jbe 0x40e045
mov ecx, 0x200
test ebp, ebp
ja 0x40dfe9
jb 0x40dfe7
cmp edi, ecx
jae 0x40dfe9
mov ecx, edi
mov eax, dword [esi + 0x234]
mov edx, dword [esi + 0x238]
test eax, eax
je 0x40e00b
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
call dword [0x482c9c]
add esp, 0xc
jmp 0x40e019
push 0
push ecx
lea eax, [esp + 0x28]
push eax
push edx
call sub.WS2_32.dll_recv
mov ebx, eax
test ebx, ebx
jle 0x40e045
mov ecx, dword [esp + 0x10]
push esi
lea edx, [esp + 0x24]
call fcn.0040ddc0
add esp, 4
test eax, eax
je 0x40e045
mov eax, ebx
cdq
sub edi, eax
sbb ebp, edx
test ebp, ebp
ja 0x40dfd8
jb 0x40e045
test edi, edi
ja 0x40dfd8
or edi, ebp
jne 0x40e064
lea eax, [edi + 1]
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x218]
xor ecx, esp
call fcn.0044aab8
add esp, 0x21c
ret
push str.Error_handling_body_data
push 0x472618
push 0x241
mov edx, str.Internal_Server_Error
mov ecx, esi
xor edi, edi
call fcn.0040a410
mov ecx, dword [esp + 0x230]
add esp, 0xc
mov eax, edi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.0044aab8
add esp, 0x21c
ret