Function at 0x407930
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 0x40794f
cmp dword [ebp + 8], 0
jne 0x407956
xor eax, eax
jmp 0x407bcb
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 0x4079c2
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x30], 0
je 0x4079c2
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x4079b0
mov dword [ebp - 0x83c], 1
jmp 0x4079c2
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 0x407a7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x407a03
xor eax, eax
jmp 0x407bcb
mov eax, dword [ebp - 4]
push eax
call fcn.0041d046
add esp, 4
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
jne 0x407a2b
xor eax, eax
jmp 0x407bcb
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 0x407a79
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.0041e24a
add esp, 4
xor eax, eax
jmp 0x407bcb
jmp 0x407a84
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 0x407afc
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 0x407ae9
cmp dword [ebp - 8], 0
je 0x407ae2
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x854]
push eax
call fcn.0041e24a
add esp, 4
xor eax, eax
jmp 0x407bcb
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 0x407b1a
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
push eax
call fcn.0041e24a
add esp, 4
cmp dword [ebp - 0x840], 0
jne 0x407b31
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
jmp 0x407bc5
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.0x407b68
mov edx, dword [ebp - 0x85c]
jmp dword [edx*4 + 0x407bdc]
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
jmp 0x407bc5
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 2
jmp 0x407bc5
mov edx, dword [ebp + 0x10]
mov dword [edx], 3
jmp 0x407bc5
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x100b
jmp 0x407bc5
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1001
jmp 0x407bc5
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x1006
jmp 0x407bc5
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1002
jmp 0x407bc5
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x1000
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d976
mov esp, ebp
pop ebp
ret