Function at 0x403440
Capabilities:
Parse url

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x41f01b
push eax
mov eax, 0x1d44
mov dword fs:[0], esp
call fcn.00408110
push ebx
mov ebx, dword [esp + 0x1d68]
push ebp
push esi
mov eax, dword [ebx]
push edi
push 0x3a
push eax
call fcn.00408150
xor ebp, ebp
add esp, 8
cmp eax, ebp
je 0x403506
mov ecx, 3
mov edi, 0x42750c
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4034c0
cmp dword [esp + 0x1d70], ebp
je 0x403812
mov ecx, dword [esp + 0x1d6c]
mov eax, dword [ebx]
push ecx
push eax
call fcn.00402be0
add esp, 8
test eax, eax
je 0x4038e2
jmp 0x403812
mov ecx, 3
mov edi, 0x42750c
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x403506
add eax, 4
lea ecx, [esp + 0x10]
push eax
call fcn.00419e77
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
mov dword [esp + 0x1d60], ebp
call fcn.00419f42
lea ecx, [esp + 0x10]
mov dword [esp + 0x1d5c], 0xffffffff
call fcn.00419e09
mov ecx, dword [esp + 0x1d7c]
lea eax, [esp + 0x154]
mov dword [esp + 0x14], 0x800
mov edx, dword [ecx]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x154]
xor ebx, ebx
push ecx
mov byte [esp + 0x58], 0
mov dword [esp + 0x14], ebx
call fcn.004033e0
add esp, 4
test eax, eax
jne 0x4036c9
mov cl, byte [esp + 0x154]
lea eax, [esp + 0x154]
test cl, cl
je 0x403568
cmp cl, 0x3a
je 0x403568
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40355b
cmp byte [eax], 0x3a
jne 0x4036c9
mov cl, byte [eax + 1]
inc eax
test cl, cl
mov esi, eax
je 0x403592
cmp cl, 0x2e
je 0x403592
cmp cl, 0x3f
je 0x403592
cmp cl, 0x23
je 0x403592
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40357b
cmp byte [eax], 0
je 0x4036c9
cmp esi, eax
mov ecx, esi
ja 0x4035ab
cmp byte [ecx], 0x3a
je 0x4035ab
inc ecx
cmp ecx, eax
jbe 0x4035a1
cmp byte [ecx], 0x3a
jne 0x403649
lea edi, [ecx + 1]
lea eax, [esp + 0x54]
mov edx, edi
sub edx, esi
inc edx
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea ecx, [esp + 0x154]
lea edx, [esp + 0x154]
sub esi, ecx
lea eax, [esp + 0x954]
inc esi
mov ebx, esi
push ebx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea ecx, [esp + 0x954]
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x954]
lea eax, [esp + 0x954]
test cl, cl
je 0x40362e
mov cl, byte [eax]
cmp cl, 0x3f
je 0x40362e
cmp cl, 0x23
je 0x40362e
cmp cl, 0x5c
jne 0x403626
mov ebp, 1
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40360d
lea edx, [esp + 0x954]
lea eax, [esp + 0x154]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x4036c9
mov cl, byte [esi]
mov eax, esi
test cl, cl
je 0x403676
mov cl, byte [eax]
cmp cl, 0x3f
je 0x403672
cmp cl, 0x23
je 0x403672
cmp cl, 0x5c
jne 0x40366a
mov ebp, 1
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x403651
test ebp, ebp
jne 0x403694
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x4036c9
cmp al, 0x3f
je 0x4036c9
cmp al, 0x23
je 0x4036c9
cmp al, 0x2f
je 0x403694
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x40367e
jmp 0x4036c9
cmp byte [esi], 0x2f
je 0x4036c9
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x954]
push esi
push ecx
call edi
push 0x427508
push esi
call edi
lea edx, [esp + 0x954]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [esp + 0x10], 1
mov edi, dword [esp + 0x1d74]
lea eax, [esp + 0x14]
push 0x20000000
lea ecx, [esp + 0x958]
mov edx, dword [edi]
push eax
push ecx
lea eax, [esp + 0x160]
push edx
push eax
call dword [sym.imp.WININET.dll_InternetCombineUrlA]
test ebx, ebx
je 0x40376f
lea ecx, [esp + 0x154]
push ebx
lea edx, [esp + 0x1558]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x1554]
push eax
push ecx
call esi
test ebp, ebp
je 0x403750
mov al, byte [esp + ebx + 0x953]
lea ecx, [esp + ebx + 0x953]
test al, al
je 0x403750
cmp al, 0x3f
je 0x403750
cmp al, 0x23
je 0x403750
cmp al, 0x2f
jne 0x403748
mov byte [ecx], 0x5c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x403739
lea edx, [esp + ebx + 0x953]
lea eax, [esp + 0x1554]
push edx
push eax
call esi
lea ecx, [esp + 0x1554]
push ecx
jmp 0x403804
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4037fc
mov al, byte [esp + 0x954]
lea esi, [esp + 0x954]
test al, al
je 0x403799
cmp al, 0x3a
je 0x403799
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40378d
lea edx, [esp + 0x954]
inc esi
lea eax, [esp + 0x154]
push edx
push eax
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
inc esi
lea ecx, [esp + 0x154]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
test ebp, ebp
je 0x4037f2
mov al, byte [esp + 0x154]
lea ecx, [esp + 0x154]
test al, al
je 0x4037f2
mov al, byte [ecx]
cmp al, 0x3f
je 0x4037f2
cmp al, 0x23
je 0x4037f2
cmp al, 0x2f
jne 0x4037ea
mov byte [ecx], 0x5c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4037d9
lea edx, [esp + 0x154]
push edx
jmp 0x403804
lea eax, [esp + 0x954]
push eax
mov ecx, edi
call fcn.00419f92
mov ebx, dword [esp + 0x1d74]
mov eax, dword [esp + 0x1d78]
test eax, eax
je 0x4038cb
lea edx, [esp + 0x18]
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x18]
push edx
push 0x10000000
rep stosd dword es:[edi], eax
push eax
mov eax, dword [ebx]
lea ecx, [esp + 0x1160]
push eax
mov dword [esp + 0x28], 0x3c
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 0x400
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
lea ecx, [esp + 0x1154]
push 0x2e
push ecx
call fcn.00407ea0
mov esi, eax
add esp, 8
test esi, esi
je 0x4038cb
push str..htm
push esi
call fcn.00407f90
add esp, 8
test eax, eax
je 0x4038bd
push str..html
push esi
call fcn.00407f90
add esp, 8
test eax, eax
je 0x4038bd
push str..shtml
push esi
call fcn.00407f90
add esp, 8
test eax, eax
je 0x4038bd
push str..mht
push esi
call fcn.00407f90
add esp, 8
test eax, eax
jne 0x4038cb
mov edx, dword [ebx]
mov ecx, dword [esp + 0x1d64]
push 0
push edx
jmp 0x4038dd
mov eax, dword [esp + 0x1d64]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [esp + 0x1d70]
call fcn.00406120
mov ecx, dword [esp + 0x1d54]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1d50
ret