Function at 0x55fea0
Capabilities:
Parse url

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x589995
push eax
mov eax, 0x1168
mov dword fs:[0], esp
call fcn.005655c0
push ebx
mov ebx, ecx
push ebp
push esi
lea ebp, [ebx + 0xc]
push edi
mov ecx, ebp
mov dword [esp + 0x14], ebp
call fcn.00561bc0
test eax, eax
jl 0x5602bb
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x79]
mov byte [esp + 0x78], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x179]
mov byte [esp + 0x178], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x979]
mov byte [esp + 0x978], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, dword [esp + 0x1188]
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x34]
mov edx, 0x800
rep stosd dword es:[edi], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x64], edx
lea edx, [esp + 0x34]
lea eax, [esp + 0x78]
push edx
lea ecx, [esp + 0x97c]
push 0x10000000
push esi
mov dword [esp + 0x40], 0x3c
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x100
mov dword [esp + 0x6c], ecx
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x55ff98
mov ecx, ebp
call fcn.00561f60
mov eax, 0x80070057
jmp 0x5602bb
lea eax, [esp + 0x2c]
push 0x4000000
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x980]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_UrlEscapeA]
mov al, byte [esp + 0x178]
test al, al
jne 0x55ffd3
mov byte [esp + 0x178], 0x2f
mov byte [esp + 0x179], 0
push 0xc
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
xor edi, edi
cmp esi, edi
mov dword [esp + 0x1180], edi
je 0x560022
lea eax, [esp + 0x78]
mov dword [esi + 4], edi
push eax
mov dword [esi + 8], 1
call fcn.00565b3f
cmp eax, edi
mov dword [esi], eax
jne 0x56001c
lea ecx, [esp + 0x78]
test ecx, ecx
je 0x56001c
push 0x8007000e
call fcn.00565a92
mov dword [esp + 0x10], esi
jmp 0x560028
mov dword [esp + 0x10], edi
mov esi, edi
cmp esi, edi
mov dword [esp + 0x1180], 0xffffffff
mov dword [esp + 0x30], esi
jne 0x560045
push 0x8007000e
call fcn.00565a92
cmp esi, edi
mov dword [esp + 0x1180], 1
je 0x56007b
cmp dword [esi + 4], edi
jne 0x560076
mov edx, dword [esi]
push edx
call fcn.00565bb4
cmp eax, edi
mov dword [esi + 4], eax
jne 0x560076
cmp dword [esi], edi
je 0x560076
push 0x8007000e
call fcn.00565a92
mov eax, dword [esi + 4]
jmp 0x56007d
xor eax, eax
push eax
mov ecx, ebp
call fcn.00561d00
mov edi, eax
test edi, edi
jge 0x5600c9
mov ecx, ebp
call fcn.00561f60
test esi, esi
je 0x5602b9
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedDecrement]
test eax, eax
jne 0x5602b9
mov eax, dword [esi]
test eax, eax
je 0x5600b9
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x5602b0
jmp 0x5602a7
mov edi, dword [esp + 0x1194]
test edi, edi
je 0x5600e6
mov eax, dword [esp + 0x1198]
test eax, eax
je 0x5600e6
mov ebp, 1
jmp 0x5600e8
xor ebp, ebp
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x4c]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push edx
call fcn.00561d70
test eax, eax
jl 0x56026e
mov eax, dword [esp + 0x11a0]
mov ecx, dword [esp + 0x119c]
mov edx, dword [esp + 0x1190]
push eax
mov eax, dword [esp + 0x1190]
push 0
push ecx
push edx
lea ecx, [esp + 0x188]
push eax
lea edx, [esp + 0x8c]
push ecx
push edx
mov ecx, ebx
call fcn.005602e0
test eax, eax
jl 0x56026e
test ebp, ebp
je 0x560272
lea eax, [esp + 0x70]
mov ecx, ebx
push eax
push 0
call fcn.005608e0
mov ebp, eax
test ebp, ebp
jl 0x560276
mov ecx, dword [esp + 0x1198]
mov eax, dword [ecx]
cmp ebp, eax
jbe 0x560174
mov ebp, eax
test ebp, ebp
je 0x560261
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
push edx
push ebp
push edi
call fcn.00562120
cmp eax, ebp
jne 0x560254
mov al, byte [esp + 0x1b]
or ecx, 0xffffffff
mov byte [esp + 0x1c], al
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x20]
push ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x5601ee
mov esi, dword [esp + 0x1194]
mov edi, dword [esp + 0x20]
mov ecx, ebx
push ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push 0x5e5444
push eax
mov byte [esp + 0x1188], 2
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
mov ecx, dword [esp + 0x28]
add esp, 8
neg al
sbb eax, eax
mov byte [esp + 0x1180], 1
and eax, 0x80004005
test ecx, ecx
mov edi, eax
je 0x560263
mov al, byte [ecx - 1]
test al, al
je 0x56023f
cmp al, 0xff
je 0x56023f
dec al
mov byte [ecx - 1], al
mov ecx, dword [esp + 0x1198]
mov dword [ecx], ebp
jmp 0x560278
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x119c]
add esp, 4
mov dword [ecx], ebp
jmp 0x560278
mov ecx, dword [esp + 0x1198]
mov edi, eax
mov dword [ecx], ebp
jmp 0x560278
xor edi, edi
mov ecx, dword [esp + 0x1198]
mov dword [ecx], ebp
jmp 0x560278
mov edi, eax
jmp 0x560278
xor edi, edi
jmp 0x560278
mov edi, ebp
mov ecx, dword [esp + 0x14]
call fcn.00561f60
test esi, esi
je 0x5602b9
lea edx, [esi + 8]
push edx
call dword [sym.imp.KERNEL32.DLL_InterlockedDecrement]
test eax, eax
jne 0x5602b9
mov eax, dword [esi]
test eax, eax
je 0x5602a0
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x5602b0
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x1178]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1174
ret 0x1c