Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, 0x40efac
push ebx
push esi
mov dword [0x4102a8], eax
mov dword [0x40f668], eax
mov dword [0x412b04], eax
mov dword [0x4102c4], eax
xor ebx, ebx
mov dword [0x412b08], eax
push edi
lea eax, [ebp + 0xc]
push ebx
lea ecx, [ebp + 8]
push eax
push ecx
mov dword [0x4102b0], 0x40c204
mov byte [0x412700], bl
call fcn.004054d0
push 0x405770
call fcn.0040a86c
add esp, 4
push ebx
push ebx
push ebx
push 0x412b0c
call fcn.004048c0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [0x412b0c]
push edx
push eax
lea edx, [ebp - 0xc]
push ecx
push edx
call fcn.00405270
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 4]
lea ecx, [ebp - 5]
push eax
push ecx
push str.n:c:t:T:p:v:kVhwix:y:z:C:H:P:A:g:X:de:Sq
push edx
call fcn.00405320
test eax, eax
jne 0x4014cd
mov esi, dword [sym.imp.MSVCRT.dll__isctype]
movsx eax, byte [ebp - 5]
add eax, 0xffffffbf
cmp eax, 0x39
ja case.0x4010b8.89
xor ecx, ecx
mov cl, byte [eax + 0x401694]
jmp dword [ecx*4 + 0x401630]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
cmp eax, ebx
mov dword [0x40c010], eax
jne case.0x4010b8.89
push str.Invalid_number_of_requests_n
call fcn.004016d0
jmp 0x4014ac
mov dword [0x40ef54], 1
jmp case.0x4010b8.89
mov dword [0x40c014], ebx
jmp case.0x4010b8.89
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x40c018], eax
jmp 0x4014ac
cmp dword [0x40ef4c], 1
jne 0x40112c
push str.Cannot_mix_POST_and_HEAD_n
call fcn.004016d0
add esp, 4
mov dword [0x40ef4c], 0xffffffff
jmp case.0x4010b8.89
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.MSVCRT.dll__strdup]
mov dword [0x40f684], eax
jmp 0x4014ac
mov dword [0x40c01c], ebx
jmp case.0x4010b8.89
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCRT.dll__strdup]
mov dword [0x4102a0], eax
jmp 0x4014ac
mov dword [0x40c020], ebx
jmp case.0x4010b8.89
cmp dword [0x40ef4c], ebx
je 0x40118e
push str.Cannot_mix_POST_and_HEAD_n
call fcn.004016d0
add esp, 4
mov eax, dword [ebp - 4]
push eax
call fcn.00404220
add esp, 4
cmp eax, ebx
jne 0x4011ad
mov dword [0x40ef4c], 1
jmp case.0x4010b8.89
cmp dword [0x4122e0], ebx
je case.0x4010b8.89
push eax
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x40ef48], eax
jmp 0x4014ac
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x40ef50], eax
mov dword [0x40c010], 0xc350
jmp 0x4014ac
mov eax, dword [ebp - 4]
mov edx, 0x412300
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4011fc
jmp case.0x4010b8.89
mov eax, dword [ebp - 4]
mov ecx, dword [0x412b0c]
push ebx
push 0x40c19c
push eax
push str.Cookie:
push ecx
call fcn.004051c0
add esp, 0x14
mov dword [0x412b04], eax
jmp case.0x4010b8.89
mov edi, dword [ebp - 4]
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [edx], 1
jle 0x401252
xor eax, eax
push 8
mov al, byte [edi]
push eax
call esi
mov edi, dword [ebp - 4]
add esp, 8
jmp 0x401264
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
xor ecx, ecx
mov cl, byte [edi]
mov eax, dword [edx]
mov al, byte [eax + ecx*2]
and eax, 8
cmp eax, ebx
je 0x40126e
inc edi
mov dword [ebp - 4], edi
jmp 0x401236
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
call fcn.0040a6f0
cmp eax, 0x400
jbe 0x401292
push str.Authentication_credentials_too_long_n
call fcn.004016d0
add esp, 4
mov edx, dword [ebp - 4]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x40c]
push edx
push ecx
call fcn.0040a720
push ebx
lea edx, [ebp - 0x40c]
push 0x40c19c
push edx
push str.Authorization:_Basic
jmp 0x401354
mov edi, dword [ebp - 4]
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [edx], 1
jle 0x4012e5
xor eax, eax
push 8
mov al, byte [edi]
push eax
call esi
mov edi, dword [ebp - 4]
add esp, 8
jmp 0x4012f7
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
xor ecx, ecx
mov cl, byte [edi]
mov eax, dword [edx]
mov al, byte [eax + ecx*2]
and eax, 8
cmp eax, ebx
je 0x401301
inc edi
mov dword [ebp - 4], edi
jmp 0x4012c9
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
call fcn.0040a6f0
cmp eax, 0x400
jbe 0x401325
push str.Proxy_credentials_too_long_n
call fcn.004016d0
add esp, 4
mov edx, dword [ebp - 4]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x40c]
push edx
push ecx
call fcn.0040a720
push ebx
lea edx, [ebp - 0x40c]
push 0x40c19c
push edx
push str.Proxy_Authorization:_Basic
mov ecx, dword [0x412b0c]
mov byte [ebp + eax - 0x40c], bl
mov eax, dword [0x4102c4]
push eax
push ecx
call fcn.004051c0
add esp, 0x18
mov dword [0x4102c4], eax
jmp case.0x4010b8.89
mov edx, dword [ebp - 4]
mov eax, dword [0x412b08]
mov ecx, dword [0x412b0c]
push ebx
push 0x40c19c
push edx
push eax
push ecx
call fcn.004051c0
mov edx, dword [ebp - 4]
mov edi, dword [sym.imp.MSVCRT.dll__strnicmp]
push 5
push 0x40c110
push edx
mov dword [0x412b08], eax
call edi
add esp, 0x20
test eax, eax
jne 0x4013c4
mov dword [0x40ef64], 1
jmp case.0x4010b8.89
mov eax, dword [ebp - 4]
push 7
push str.Accept:
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x4013e7
mov dword [0x40ef6c], 1
jmp case.0x4010b8.89
mov ecx, dword [ebp - 4]
push 0xb
push str.User_Agent:
push ecx
call edi
add esp, 0xc
test eax, eax
jne case.0x4010b8.89
mov dword [0x40ef68], 1
jmp case.0x4010b8.89
mov dword [0x40ef70], 1
jmp case.0x4010b8.89
mov edx, dword [ebp - 4]
mov dword [0x40ef70], 1
mov dword [0x4102a8], edx
jmp case.0x4010b8.89
mov eax, dword [ebp - 4]
push 0x3a
push eax
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
cmp eax, ebx
je 0x401457
mov byte [eax], bl
inc eax
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [0x40ef5c], eax
mov eax, dword [ebp - 4]
mov edx, 0x412700
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x401461
mov dword [0x40ef60], 1
jmp case.0x4010b8.89
mov ecx, dword [ebp - 4]
mov dword [0x40ef70], 1
mov dword [0x40f668], ecx
jmp case.0x4010b8.89
mov edx, dword [ebp - 4]
mov dword [0x40ef70], 1
mov dword [0x4102b0], edx
jmp case.0x4010b8.89
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00403e50
add esp, 4
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 4]
lea eax, [ebp - 5]
push edx
push eax
push str.n:c:t:T:p:v:kVhwix:y:z:C:H:P:A:g:X:de:Sq
push ecx
call fcn.00405320
test eax, eax
je 0x4010a0
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov esi, dword [sym.imp.MSVCRT.dll_fprintf]
dec edx
cmp dword [eax + 0xc], edx
je 0x401507
mov eax, dword [ebp + 0xc]
mov edx, dword [sym.imp.MSVCRT.dll__iob]
add edx, 0x40
mov ecx, dword [eax]
push ecx
push str._s:_wrong_number_of_arguments_n
push edx
call esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00403e50
mov eax, dword [ebp - 0xc]
add esp, 0x10
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x1c]
mov edx, dword [edx + ecx*4]
inc ecx
mov dword [eax + 0xc], ecx
mov eax, dword [0x412b0c]
push edx
push eax
call fcn.00405180
push eax
call fcn.00404050
add esp, 4
test eax, eax
je 0x401551
mov ecx, dword [ebp + 0xc]
mov eax, dword [sym.imp.MSVCRT.dll__iob]
add eax, 0x40
mov edx, dword [ecx]
push edx
push str._s:_invalid_URL_n
push eax
call esi
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.00403e50
add esp, 0x10
mov eax, dword [0x40c018]
cmp eax, ebx
jl 0x401561
cmp eax, 0x4e20
jle 0x401590
mov eax, dword [ebp + 0xc]
mov edx, dword [sym.imp.MSVCRT.dll__iob]
push 0x4e20
add edx, 0x40
mov ecx, dword [eax]
push ecx
push str._s:_Invalid_Concurrency__Range_0.._d__n
push edx
call esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.00403e50
mov eax, dword [0x40c018]
add esp, 0x14
mov ecx, dword [0x40c010]
cmp eax, ecx
jle 0x4015c5
mov edx, dword [ebp + 0xc]
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
add ecx, 0x40
mov eax, dword [edx]
push eax
push 0x40c058
push ecx
call esi
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.00403e50
mov ecx, dword [0x40c010]
add esp, 0x10
cmp dword [0x40c014], ebx
je 0x40160b
cmp ecx, 0x96
jle 0x40160b
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edx, 0x64
mov dword [0x40c014], edx
jge 0x401611
mov dword [0x40c014], 0x64
jmp 0x401611
call fcn.00403de0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x40c014], ebx
call fcn.00403de0
call fcn.00401710
mov edx, dword [0x412b0c]
push edx
call fcn.00404780
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret