Function at 0x4077d0
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 0x4077ef
cmp dword [ebp + 8], 0
jne 0x4077f6
xor eax, eax
jmp 0x407a6b
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 0x407862
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x30], 0
je 0x407862
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x407850
mov dword [ebp - 0x83c], 1
jmp 0x407862
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 0x40791b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x4078a3
xor eax, eax
jmp 0x407a6b
mov eax, dword [ebp - 4]
push eax
call fcn.0041cb56
add esp, 4
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
jne 0x4078cb
xor eax, eax
jmp 0x407a6b
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 0x407919
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.0041dd5a
add esp, 4
xor eax, eax
jmp 0x407a6b
jmp 0x407924
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 0x40799c
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 0x407989
cmp dword [ebp - 8], 0
je 0x407982
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x854]
push eax
call fcn.0041dd5a
add esp, 4
xor eax, eax
jmp 0x407a6b
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 0x4079ba
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
push eax
call fcn.0041dd5a
add esp, 4
cmp dword [ebp - 0x840], 0
jne 0x4079d1
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
jmp 0x407a65
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.0x407a08
mov edx, dword [ebp - 0x85c]
jmp dword [edx*4 + 0x407a7c]
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x407a65
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 2
jmp 0x407a65
mov edx, dword [ebp + 0x10]
mov dword [edx], 3
jmp 0x407a65
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x100b
jmp 0x407a65
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1001
jmp 0x407a65
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x1006
jmp 0x407a65
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1002
jmp 0x407a65
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d486
mov esp, ebp
pop ebp
ret