Function at 0x40aaf0
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6680e2
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x6fe3a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x290], 0
mov dword [ebp - 4], 0
push 0
push str.securestudies.com
lea ecx, [ebp + 0xc]
call fcn.0040be00
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
jle 0x40ab82
lea eax, [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.00403fa0
mov ecx, dword [ebp - 0x290]
or ecx, 1
mov dword [ebp - 0x290], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004041d0
mov eax, dword [ebp + 8]
jmp 0x40b1fc
lea ecx, [ebp - 0x228]
call fcn.00404120
mov byte [ebp - 4], 1
mov byte [ebp - 0x210], 0
push 0xff
push 0
lea edx, [ebp - 0x20f]
push edx
call fcn.00643fe0
add esp, 0xc
push 0x10
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x2a0]
call fcn.0040aa80
mov byte [ebp - 0x110], 0
push 0xff
push 0
lea ecx, [ebp - 0x10f]
push ecx
call fcn.00643fe0
add esp, 0xc
call fcn.0064b428
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
xor edx, edx
mov ecx, 0x1e
div ecx
add edx, 0x1e
push edx
lea edx, [ebp - 0x110]
push edx
mov ecx, dword [ebp - 0x2a0]
call fcn.0040aa80
push 0x400
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x294], eax
push 0x400
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x298], ecx
push 0x400
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x318], eax
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2ec], 0x3c
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], 0x400
xor ecx, ecx
mov word [ebp - 0x2d4], cx
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2bc], 0x400
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], 0x400
lea ecx, [ebp - 0x2ec]
push ecx
push 0
push 0
lea ecx, [ebp + 0xc]
call fcn.00404df0
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x40af0a
mov byte [ebp - 0x289], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x40aec7
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2b8], 0
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x314]
push eax
call fcn.0050bb64
add esp, 4
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x310], ecx
mov edx, dword [ebp - 0x310]
push edx
call fcn.0050bb64
add esp, 4
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x30c]
push ecx
call fcn.0050bb64
add esp, 4
cmp dword [ebp - 0x2d8], 0
jbe 0x40ade9
mov edx, dword [ebp - 0x2d8]
add edx, 1
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x2a4], ecx
jmp 0x40adf3
mov dword [ebp - 0x2a4], 0
mov edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x2bc], 0
jbe 0x40ae3a
mov eax, dword [ebp - 0x2bc]
add eax, 1
mov dword [ebp - 0x2bc], eax
mov ecx, dword [ebp - 0x2bc]
push ecx
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x2f8], eax
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x2a8], edx
jmp 0x40ae44
mov dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x2b4], 0
jbe 0x40ae8b
mov ecx, dword [ebp - 0x2b4]
add ecx, 1
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b4]
push edx
call fcn.0050bb5b
add esp, 4
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2ac], eax
jmp 0x40ae95
mov dword [ebp - 0x2ac], 0
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x2b8], ecx
jmp 0x40af08
lea edx, [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.00403fa0
mov eax, dword [ebp - 0x290]
or eax, 1
mov dword [ebp - 0x290], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x228]
call fcn.004041d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004041d0
mov eax, dword [ebp + 8]
jmp 0x40b1fc
jmp 0x40af11
mov byte [ebp - 0x289], 1
movzx ecx, byte [ebp - 0x289]
test ecx, ecx
jne 0x40af3e
lea edx, [ebp - 0x2ec]
push edx
push 0
push 0
lea ecx, [ebp + 0xc]
call fcn.00404df0
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
je 0x40b12b
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x240]
call fcn.004040b0
mov byte [ebp - 4], 2
push str.script
lea ecx, [ebp - 0x240]
call fcn.0040bc90
mov ecx, dword [ebp - 0x2c0]
push ecx
lea ecx, [ebp - 0x270]
call fcn.004040b0
mov byte [ebp - 4], 3
push 0
push 0x67ad38
lea ecx, [ebp - 0x270]
call fcn.0040be00
test eax, eax
jne 0x40af9f
push 1
push 0
lea ecx, [ebp - 0x270]
call fcn.00404f50
lea edx, [ebp - 0x270]
push edx
lea ecx, [ebp - 0x240]
call fcn.0040b7d0
mov eax, dword [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x258]
call fcn.004040b0
mov byte [ebp - 4], 4
push 0
push 0x67ad3c
lea ecx, [ebp - 0x258]
call fcn.0040be00
test eax, eax
jne 0x40afec
push 1
push 0
lea ecx, [ebp - 0x258]
call fcn.00404f50
lea ecx, [ebp - 0x258]
call fcn.004c7660
test eax, eax
jbe 0x40b03f
push 0x67ad40
lea ecx, [ebp - 0x240]
call fcn.0040bc90
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x240]
call fcn.0040bba0
push 0x67ad44
lea ecx, [ebp - 0x240]
call fcn.0040bc90
lea edx, [ebp - 0x110]
push edx
lea ecx, [ebp - 0x240]
call fcn.0040bc90
push 0x100
lea ecx, [ebp - 0x340]
call fcn.00402d30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x328], esp
lea eax, [ebp - 0x240]
push eax
call fcn.00404020
mov dword [ebp - 0x32c], eax
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x340]
call fcn.004033e0
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x2e0], 4
jne 0x40b09d
mov dword [ebp - 0x2b0], str.https:__
jmp 0x40b0a7
mov dword [ebp - 0x2b0], str.http:__
mov edx, dword [ebp - 0x2b0]
push edx
lea ecx, [ebp - 0x228]
call fcn.0040b790
mov eax, dword [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x228]
call fcn.0040b7f0
push 0x67ad60
lea ecx, [ebp - 0x228]
call fcn.0040b7f0
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x228]
call fcn.0040b7d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x288]
call fcn.004041d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x258]
call fcn.004041d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x270]
call fcn.004041d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.004041d0
jmp 0x40b16c
lea edx, [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.00403fa0
mov eax, dword [ebp - 0x290]
or eax, 1
mov dword [ebp - 0x290], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x228]
call fcn.004041d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004041d0
mov eax, dword [ebp + 8]
jmp 0x40b1fc
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x300]
push edx
call fcn.0050bb64
add esp, 4
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
push ecx
call fcn.0050bb64
add esp, 4
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x308], edx
mov eax, dword [ebp - 0x308]
push eax
call fcn.0050bb64
add esp, 4
lea ecx, [ebp - 0x228]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00403fa0
mov edx, dword [ebp - 0x290]
or edx, 1
mov dword [ebp - 0x290], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x228]
call fcn.004041d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004041d0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00641b27
mov esp, ebp
pop ebp
ret 0x1c