Function at 0x4013e0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2024
call fcn.0040efa0
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, ecx
push esi
push edi
mov edi, edx
mov dword [ebp - 4], eax
mov dl, byte [ebp + 8]
xor ecx, ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
test dl, dl
je 0x401411
cmp byte [ebx], cl
jne 0x4015f8
push dword [0x416080]
mov dword [ebp + 0xc], ecx
lea ecx, [ebp - 0x1020]
push 0x1000
push ecx
mov ecx, eax
call fcn.00403830
test eax, eax
je 0x4015b1
cmp byte [ebp - 0x1020], 0
jne 0x40145b
cmp byte [ebp + 8], 0
je 0x40145b
cmp byte [ebx], 0
jne 0x40145b
mov ecx, dword [ebp - 4]
mov edx, edi
call fcn.00401300
test eax, eax
jne 0x4015b6
lea esi, [ebp - 0x1020]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x401464
push dword [0x416080]
sub esi, ecx
lea eax, [ebp - 0x1020]
push esi
push eax
mov ecx, edi
call fcn.00403790
cmp eax, esi
jne 0x4015b1
push dword [0x416080]
mov ecx, edi
push 2
push 0x4123b8
call fcn.00403790
cmp eax, 2
jne 0x4015b1
cmp byte [ebp - 0x1020], 0
je 0x4015db
cmp byte [ebp + 8], 0
jne 0x4014e5
cmp dword [ebp + 0xc], 0
jne 0x4014e5
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x1020]
push str._s__d
push eax
call fcn.004012e0
add esp, 0x10
cmp dword [ebp - 0xc], 0x64
jne 0x4014e5
mov byte [ebx], 1
cmp byte [ebp - 0x1020], 0
lea esi, [ebp - 0x1020]
je 0x40150b
movzx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi], al
lea esi, [esi + 1]
add esp, 4
cmp byte [esi], 0
jne 0x4014f4
cmp byte [ebp + 8], 0
mov esi, dword [sym.imp.VCRUNTIME140.dll_strstr]
je 0x401538
lea eax, [ebp - 0x1020]
push str.EXPECT:_100_CONTINUE
push eax
call esi
add esp, 8
test eax, eax
je 0x401538
cmp byte [ebx], 0
jne 0x4015bf
mov byte [ebx], 1
lea eax, [ebp - 0x1020]
push str.CONTENT_LENGTH:
push eax
call esi
add esp, 8
test eax, eax
je 0x401561
add eax, 0xf
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebx + 4], eax
test eax, eax
js 0x4015cd
lea eax, [ebp - 0x1020]
push str.TRANSFER_ENCODING:
push eax
call esi
add esp, 8
test eax, eax
je 0x40158c
add eax, 0x12
push str.CHUNKED
push eax
call esi
add esp, 8
test eax, eax
setne al
mov byte [ebx + 8], al
push dword [0x416080]
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x1020]
inc dword [ebp + 0xc]
push 0x1000
push eax
call fcn.00403830
test eax, eax
jne 0x401435
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dl, byte [ebp + 8]
test dl, dl
je 0x4015f2
cmp byte [ebx], 0
je 0x4015f2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [ebx + 4]
test edi, edi
js 0x40166f
jle 0x4015e7
mov ecx, 0x1000
push ecx
cmp edi, 0x1000
mov esi, edi
cmovg esi, ecx
lea ecx, [ebp - 0x1020]
push esi
push ecx
mov ecx, eax
call fcn.00403650
mov ebx, eax
cmp ebx, esi
jne 0x40165e
push dword [0x416080]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x1020]
push ebx
push eax
call fcn.00403790
cmp eax, ebx
jne 0x4015b1
mov eax, dword [ebp - 4]
sub edi, ebx
mov ecx, 0x1000
test edi, edi
jg 0x401606
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
test ebx, ebx
setns al
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ebx + 8], 0
je 0x401806
push dword [0x416080]
lea ecx, [ebp - 0x1020]
push 0x1000
push ecx
mov ecx, eax
call fcn.00403830
test eax, eax
je 0x4015b1
mov ebx, dword [ebp - 8]
nop dword [eax]
push 0x10
lea eax, [ebp - 0x1020]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov edi, eax
add esp, 0xc
mov dword [ebp + 0xc], edi
test edi, edi
js 0x4015bf
lea esi, [ebp - 0x1020]
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4016d0
push dword [0x416080]
sub esi, ecx
lea eax, [ebp - 0x1020]
push esi
push eax
mov ecx, ebx
call fcn.00403790
cmp eax, esi
jne 0x4015b1
push dword [0x416080]
mov ecx, ebx
push 2
push 0x4123b8
call fcn.00403790
cmp eax, 2
jne 0x4015b1
mov esi, dword [ebp + 0xc]
test esi, esi
jle 0x401775
nop word [eax + eax]
cmp edi, 0x1000
mov eax, 0x1000
push ecx
mov ecx, dword [ebp - 4]
mov esi, edi
cmovg esi, eax
lea eax, [ebp - 0x2020]
push esi
push eax
call fcn.00403650
mov ebx, eax
cmp ebx, esi
jne 0x40165e
push dword [0x416080]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x2020]
push ebx
push eax
call fcn.00403790
cmp eax, ebx
jne 0x4015b1
sub edi, ebx
test edi, edi
jg 0x401720
mov ebx, dword [ebp - 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
lea eax, [ebp + 8]
push ecx
push 2
push eax
mov ecx, edi
call fcn.00403650
mov ecx, eax
cmp ecx, 2
jne 0x4017f5
mov ax, word [ebp + 8]
cmp al, 0xd
jne 0x4015cd
cmp ah, 0xa
jne 0x4015cd
push dword [0x416080]
push ecx
push 0x4123b8
mov ecx, ebx
call fcn.00403790
cmp eax, 2
jne 0x4015b1
test esi, esi
je 0x4015e7
push dword [0x416080]
lea eax, [ebp - 0x1020]
mov ecx, edi
push 0x1000
push eax
call fcn.00403830
test eax, eax
jne 0x4016a0
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
test ecx, ecx
setns al
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test dl, dl
jne 0x4015e7
cmp byte [ebx], dl
jne 0x4015e7
cmp ecx, 0xcc
je 0x4015e7
cmp ecx, 0x130
je 0x4015e7
push ecx
push 0x1000
lea ecx, [ebp - 0x1020]
push ecx
mov ecx, eax
call fcn.00403650
mov esi, eax
test esi, esi
je 0x4015e7
js 0x4015cd
push dword [0x416080]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x1020]
push esi
push eax
call fcn.00403790
cmp eax, esi
jne 0x4015b1
push ecx
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x1020]
push 0x1000
push eax
call fcn.00403650
mov esi, eax
test esi, esi
jne 0x40184c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8