Function at 0x41a17b
Capabilities:
Packed with generic packer

Disassembly:
push ebp
push esp
pop ebp
push edi
push esi
push ebx
sub esp, 0x3c
cmp dword [ebp + 0x10], 3
jne 0x41a238
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x148]
cmp eax, 0xffffffff
je 0x41a1bb
cmp dword [edx + 0x144], eax
jl 0x41a1bb
push ecx
push eax
push str.Maximum___ld__redirects_followed
push edx
call fcn.0040e249
nop
nop
push 0x2f
pop eax
jmp 0x41a598
mov eax, dword [ebp + 8]
inc dword [eax + 0x144]
mov byte [eax + 0x8540], 1
cmp byte [eax + 0x2be], 0
je 0x41a238
cmp byte [eax + 0x3f4], 0
je 0x41a20b
mov eax, dword [eax + 0x3f0]
test eax, eax
je 0x41a201
sub esp, 0xc
push eax
call dword [0x41e00c]
mov eax, dword [ebp + 8]
add esp, 0x10
mov dword [eax + 0x3f0], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x3f4], 0
mov eax, dword [ebp + 8]
sub esp, 0xc
push dword [eax + 0x3e8]
call dword [0x41e014]
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx + 0x3f0], eax
je 0x41a59d
mov byte [edx + 0x3f4], 1
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x1d]
push eax
push str._15___:_:___c
push dword [ebp + 0xc]
call sub.msvcrt.dll_sscanf
add esp, 0x10
cmp eax, 2
je 0x41a443
mov eax, dword [ebp + 8]
sub esp, 0xc
push dword [eax + 0x3e8]
call dword [0x41e014]
add esp, 0x10
mov dword [ebp - 0x30], eax
or eax, eax
je 0x41a59d
push edi
push edi
push 0x421879
push eax
call sub.msvcrt.dll_strstr
add esp, 0x10
mov ebx, dword [ebp - 0x30]
or eax, eax
je 0x41a293
lea ebx, [eax + 2]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x34], edx
cmp byte [edx], 0x2f
je 0x41a342
push esi
push esi
push 0x3f
push ebx
call sub.msvcrt.dll_strchr
add esp, 0x10
test eax, eax
je 0x41a2b6
mov byte [eax], 0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x3f
je 0x41a2d2
push ecx
push ecx
push 0x2f
push ebx
call sub.msvcrt.dll_strrchr
add esp, 0x10
or eax, eax
je 0x41a2d2
mov byte [eax], 0
push edx
push edx
push 0x2f
push ebx
call sub.msvcrt.dll_strchr
sub ebx, ebx
add esp, 0x10
test eax, eax
je 0x41a2e8
lea ebx, [eax + 1]
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0x2e
jne 0x41a2fc
cmp byte [edx + 1], 0x2f
jne 0x41a2fc
add edx, 2
mov dword [ebp - 0x34], edx
sub esi, esi
jmp 0x41a305
add dword [ebp - 0x34], 3
inc esi
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0x2e
jne 0x41a319
cmp byte [eax + 1], 0x2e
jne 0x41a319
cmp byte [eax + 2], 0x2f
je 0x41a300
or ebx, ebx
jne 0x41a33a
jmp 0x41a396
push eax
push eax
push 0x2f
push ebx
call sub.msvcrt.dll_strrchr
add esp, 0x10
test eax, eax
je 0x41a335
mov byte [eax], 0
jmp 0x41a33a
mov byte [ebx], 0
jmp 0x41a396
dec esi
cmp esi, 0xffffffff
jne 0x41a31f
jmp 0x41a396
mov edx, dword [ebp + 0xc]
cmp byte [edx + 1], 0x2f
jne 0x41a356
add edx, 2
mov byte [ebx], 0
mov dword [ebp - 0x34], edx
jmp 0x41a396
push eax
push eax
push 0x2f
push ebx
call sub.msvcrt.dll_strchr
add esp, 0x10
push eax
pop edi
test eax, eax
je 0x41a382
push eax
push eax
push 0x3f
push ebx
call sub.msvcrt.dll_strchr
add esp, 0x10
test eax, eax
je 0x41a37e
cmp eax, edi
jb 0x41a393
push edi
pop eax
jmp 0x41a393
push eax
push eax
push 0x3f
push ebx
call sub.msvcrt.dll_strchr
add esp, 0x10
or eax, eax
je 0x41a396
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
call fcn.00419f66
sub edx, edx
cld
mov dword [ebp - 0x3c], eax
mov edi, dword [ebp - 0x30]
mov al, dl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
push ecx
pop esi
sub esp, 0xc
not esi
lea edx, [esi - 1]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x3c]
lea eax, [edx + esi + 1]
push eax
call dword [0x41e008]
add esp, 0x10
push eax
pop edi
test eax, eax
jne 0x41a3e8
sub esp, 0xc
push dword [ebp - 0x30]
call dword [0x41e00c]
push ebx
pop ebx
push 0x1b
pop eax
jmp 0x41a598
push eax
push dword [ebp - 0x38]
push dword [ebp - 0x30]
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x34]
add esp, 0x10
mov al, byte [edx]
cmp al, 0x2f
je 0x41a418
test ebx, ebx
je 0x41a40a
cmp byte [ebx], 0
je 0x41a418
cmp al, 0x3f
je 0x41a418
mov eax, dword [ebp - 0x38]
mov byte [edi + eax], 0x2f
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x38]
lea eax, [edi + edx]
mov edx, dword [ebp - 0x34]
call fcn.00419f97
sub esp, 0xc
push dword [ebp - 0x30]
call dword [0x41e00c]
pop eax
push dword [ebp + 0xc]
call dword [0x41e00c]
sub edx, edx
mov dword [ebp + 0xc], edi
jmp 0x41a491
push edi
push edi
push 0x20
push dword [ebp + 0xc]
call sub.msvcrt.dll_strchr
add esp, 0x10
mov dl, 1
or eax, eax
je 0x41a494
mov eax, dword [ebp + 0xc]
call fcn.00419f66
sub esp, 0xc
inc eax
push eax
call dword [0x41e008]
add esp, 0x10
push eax
pop edi
test eax, eax
je 0x41a59d
mov edx, dword [ebp + 0xc]
call fcn.00419f97
sub esp, 0xc
push dword [ebp + 0xc]
call dword [0x41e00c]
mov dword [ebp + 0xc], edi
mov dl, 1
add esp, 0x10
cmp dword [ebp + 0x10], 1
jne 0x41a4ad
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x8690], edx
sub eax, eax
jmp 0x41a5a2
test dl, dl
je 0x41a4bb
mov eax, dword [ebp + 8]
mov byte [eax + 0x856c], 0
mov edx, dword [ebp + 8]
cmp byte [edx + 0x3ec], 0
je 0x41a4f5
mov eax, dword [edx + 0x3e8]
or eax, eax
je 0x41a4eb
sub esp, 0xc
push eax
call dword [0x41e00c]
mov eax, dword [ebp + 8]
add esp, 0x10
mov dword [eax + 0x3e8], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x3ec], 0
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x3e8], edx
mov byte [eax + 0x3ec], 1
push eax
pop edx
mov eax, dword [eax + 0x8664]
cmp eax, 0x12e
je 0x41a53c
cmp eax, 0x12f
je 0x41a562
cmp eax, 0x12d
jne 0x41a581
mov eax, dword [edx + 0x240]
sub eax, 2
cmp eax, 1
ja 0x41a581
test byte [edx + 0x14c], 1
jmp 0x41a554
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x240]
sub eax, 2
cmp eax, 1
ja 0x41a581
test byte [edx + 0x14c], 2
jne 0x41a581
mov dword [edx + 0x240], 1
jmp 0x41a581
mov eax, dword [ebp + 8]
cmp dword [eax + 0x240], 1
je 0x41a581
test byte [eax + 0x14c], 4
jne 0x41a581
mov dword [eax + 0x240], 1
push esi
push esi
push 0xa
push dword [ebp + 8]
call fcn.00419be3
pop ebx
push dword [ebp + 8]
call fcn.00418f5c
xor eax, eax
add esp, 0x10
jmp 0x41a5a2
push 0x1b
pop eax
pushal
popal
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret