Function at 0x101ab51b
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
xor eax, eax
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
test bl, 1
je 0x101ab54f
cmp dword [esi + 0x14], eax
jne 0x101ab54f
push dword [esi]
push str.Impossible_to_open_the__s_protocol_for_reading_n
push 0x10
push eax
call fcn.101ceb2e
add esp, 0x10
push 0xfffffffffffffffb
pop eax
jmp 0x101ab751
test bl, 2
je 0x101ab562
cmp dword [esi + 0x18], eax
jne 0x101ab562
push dword [esi]
push str.Impossible_to_open_the__s_protocol_for_writing_n
jmp 0x101ab53c
push edi
push dword [ebp + 0x10]
call fcn.10232450
add eax, 0x41
push eax
call fcn.101d0768
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 4], ecx
test ecx, ecx
jne 0x101ab586
push 0xfffffffffffffff4
jmp 0x101ab784
push dword [ebp + 0x10]
mov dword [ecx], str.URLContext
mov ecx, dword [ebp - 4]
lea eax, [ecx + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 4]
push dword [eax + 0xc]
call fcn.10233680
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov dword [eax + 4], esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], ebx
mov eax, dword [ebp - 4]
and dword [eax + 0x18], 0
mov eax, dword [ebp - 4]
and dword [eax + 0x14], 0
cmp dword [esi + 0x3c], 0
je 0x101ab731
push dword [esi + 0x3c]
call fcn.101d0768
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
cmp dword [ecx + 8], 0
je 0x101ab57f
cmp dword [esi + 0x40], 0
je 0x101ab734
push dword [esi]
call fcn.10232450
mov ecx, dword [ebp - 4]
mov ebx, eax
push 0x2c
push dword [ecx + 0xc]
call fcn.1008ba50
mov ecx, dword [ebp - 4]
mov edi, eax
mov dword [ebp - 0xc], edi
mov edx, dword [ecx + 8]
mov ecx, dword [esi + 0x40]
mov dword [edx], ecx
mov ecx, dword [ebp - 4]
push dword [ecx + 8]
call fcn.101d4e57
mov eax, dword [ebp - 4]
push ebx
push dword [eax + 0xc]
push dword [esi]
call fcn.1009ca90
add esp, 0x1c
test eax, eax
jne 0x101ab731
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0xc]
add eax, ebx
cmp eax, edi
jne 0x101ab734
mov al, byte [edi + 1]
xor ebx, ebx
push str.subfile
push dword [esi]
mov byte [ebp + 0x17], al
add edi, 2
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101ab755
movsx eax, byte [ebp + 0x17]
mov dword [ebp - 8], eax
push eax
push edi
call fcn.1008ba50
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x101ab717
cmp edi, esi
jae 0x101ab713
push dword [ebp - 8]
lea eax, [esi + 1]
push eax
call fcn.1008ba50
mov dword [ebp - 0x10], eax
pop ecx
pop ecx
test eax, eax
je 0x101ab713
xor ebx, ebx
push str.start
mov byte [esi], bl
push edi
mov byte [eax], bl
call fcn.10232390
pop ecx
pop ecx
test eax, eax
je 0x101ab6cc
push 0x10279880
push edi
call fcn.10232390
pop ecx
pop ecx
test eax, eax
je 0x101ab6cc
mov ebx, 0xabafb008
jmp 0x101ab6ea
push ebx
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 4]
push edi
push dword [eax + 8]
call fcn.101d4b4b
mov ebx, eax
add esp, 0x10
cmp ebx, 0xabafb008
jne 0x101ab6fd
push edi
push str.Key__s_not_found._n
push 0x10
push dword [ebp - 4]
call fcn.101ceb2e
add esp, 0x10
mov edi, dword [ebp - 0x10]
mov al, byte [ebp + 0x17]
mov byte [esi], al
mov byte [edi], al
inc edi
mov eax, dword [ebp - 8]
test ebx, ebx
jns 0x101ab66d
test ebx, ebx
js 0x101ab755
cmp edi, esi
jne 0x101ab755
push esi
call fcn.10232450
push eax
lea eax, [esi + 1]
push eax
push dword [ebp - 0xc]
call fcn.1008ded0
add esp, 0x10
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x101ab749
mov eax, dword [edx]
mov dword [ecx + 0x20], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
push dword [ebp - 0xc]
push str.Error_parsing_options_string__s_n
push 0x10
push dword [ebp - 4]
call fcn.101ceb2e
mov eax, dword [ebp - 4]
add eax, 8
push eax
call fcn.101d06dd
lea eax, [ebp - 4]
push eax
call fcn.101d06dd
mov ecx, dword [ebp - 4]
add esp, 0x18
push 0xffffffffffffffea
pop esi
mov eax, dword [ebp + 8]
and dword [eax], 0
test ecx, ecx
je 0x101ab799
add ecx, 8
push ecx
call fcn.101d06dd
pop ecx
lea eax, [ebp - 4]
push eax
call fcn.101d06dd
pop ecx
mov eax, esi
jmp 0x101ab750