Function at 0x407ae0
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x85c
mov eax, dword [0x43c2d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], 0
je 0x407aff
cmp dword [ebp + 8], 0
jne 0x407b06
xor eax, eax
jmp 0x407d7b
mov dword [ebp - 4], 0x824
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0x18]
and eax, 0x2e000000
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x83c], 0
mov ecx, dword [ebp + 0x18]
and ecx, 0x90000000
je 0x407b72
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x30], 0
je 0x407b72
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x407b60
mov dword [ebp - 0x83c], 1
jmp 0x407b72
mov ecx, dword [ebp - 0x848]
or ecx, 0x80000000
mov dword [ebp - 0x848], ecx
mov edx, dword [ebp - 0x844]
push edx
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x838]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlA]
mov dword [ebp - 0x840], eax
cmp dword [ebp - 0x840], 0
jne 0x407c2b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x407bb3
xor eax, eax
jmp 0x407d7b
mov eax, dword [ebp - 4]
push eax
call fcn.0041cac6
add esp, 4
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
jne 0x407bdb
xor eax, eax
jmp 0x407d7b
mov dword [ebp - 8], 1
mov edx, dword [ebp - 0x844]
push edx
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlA]
mov dword [ebp - 0x840], eax
cmp dword [ebp - 0x840], 0
jne 0x407c29
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.0041dc4a
add esp, 4
xor eax, eax
jmp 0x407d7b
jmp 0x407c34
lea edx, [ebp - 0x838]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x848]
push ecx
push 0
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov dword [ebp - 0x840], eax
cmp dword [ebp - 0x83c], 0
je 0x407cac
push 0x2100000
push 0
push 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x2c]
push ecx
call dword [sym.imp.SHLWAPI.dll_UrlUnescapeA]
test eax, eax
je 0x407c99
cmp dword [ebp - 8], 0
je 0x407c92
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x854]
push eax
call fcn.0041dc4a
add esp, 4
xor eax, eax
jmp 0x407d7b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x30], eax
cmp dword [ebp - 8], 0
je 0x407cca
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
push eax
call fcn.0041dc4a
add esp, 4
cmp dword [ebp - 0x840], 0
jne 0x407ce1
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
jmp 0x407d75
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov cx, word [eax + 0x18]
mov word [edx], cx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x85c]
sub ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 6
ja case.default.0x407d18
mov edx, dword [ebp - 0x85c]
jmp dword [edx*4 + 0x407d8c]
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x407d75
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 2
jmp 0x407d75
mov edx, dword [ebp + 0x10]
mov dword [edx], 3
jmp 0x407d75
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x100b
jmp 0x407d75
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1001
jmp 0x407d75
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x1006
jmp 0x407d75
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1002
jmp 0x407d75
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d3f6
mov esp, ebp
pop ebp
ret