Function at 0x451130
Capabilities:
Parse url

Disassembly:
push ebp
lea ebp, [esp - 0x504]
sub esp, 0x504
push 0xffffffffffffffff
push 0x4850f3
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x49e128]
xor eax, ebp
mov dword [ebp + 0x500], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x45120b
call dword [0x49ded0]
push 0x38
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.004611e0
lea ecx, [ebp + 0x400]
mov eax, 0x7f
mov dword [ebp - 0x40], ecx
add esp, 0xc
cmp dword [esi + 0x110], 0x10
lea edx, [ebp + 0x300]
lea ecx, [ebp + 0x200]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x50], 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], 1
jb 0x4511e0
mov ecx, dword [esi + 0xfc]
jmp 0x4511e6
lea ecx, [esi + 0xfc]
lea edx, [ebp - 0x50]
push edx
push 0
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
je 0x45120b
cmp dword [esi + 0x54], 5
mov eax, dword [ebp - 0x44]
je 0x451212
cmp eax, 3
je 0x451212
cmp eax, 4
je 0x451217
xor al, al
jmp 0x4514dd
cmp eax, 4
jne 0x45124a
push 0x94
call fcn.00460e73
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x45123b
mov ecx, eax
call fcn.0045d4b0
jmp 0x45123d
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0xb4], eax
lea eax, [ebp + 0x400]
mov byte [esi + 0x238], 1
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x451260
sub eax, edx
push eax
lea eax, [ebp + 0x400]
push eax
lea ecx, [esi + 0x1a0]
call fcn.00405600
movzx ecx, word [ebp - 0x38]
mov edx, dword [ebp - 0x24]
mov eax, edx
mov dword [esi + 0x1bc], ecx
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x451290
sub eax, edi
push eax
lea edi, [esi + 0x1c0]
push edx
mov ecx, edi
call fcn.00405600
cmp dword [esi + 0x1d4], 0
jne 0x4512c1
push 1
push 0x4887bc
mov ecx, edi
call fcn.00405600
lea eax, [ebp + 0x300]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4512d0
sub eax, edx
push eax
lea edx, [ebp + 0x300]
lea ebx, [esi + 0x1dc]
push edx
mov ecx, ebx
call fcn.00405600
lea eax, [ebp + 0x200]
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x451300
sub eax, edi
push eax
lea eax, [ebp + 0x200]
lea edi, [esi + 0x1f8]
push eax
mov ecx, edi
call fcn.00405600
cmp dword [esi + 0x1f0], 0
je 0x45134c
push 0x4899ac
push str.3A
push ebx
call fcn.004551d0
push 0x4899a0
push str.40
push ebx
call fcn.004551d0
add esp, 0x18
cmp dword [esi + 0x20c], 0
je 0x451378
push 0x4899ac
push str.3A
push edi
call fcn.004551d0
push 0x4899a0
push str.40
push edi
call fcn.004551d0
add esp, 0x18
push 2
mov ecx, esi
call fcn.0044c150
push 2
push 0
push 0x3f
push 1
push 0
mov ecx, esi
call fcn.0045a390
mov ecx, esi
call fcn.0044c050
sub esp, 0x1c
lea edx, [ebp + 0x400]
mov ecx, esp
mov dword [ebp - 0x14], esp
push edx
call fcn.00406c00
mov dword [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00454f30
add esp, 0x1c
test al, al
je 0x4513d3
push 0x20000
mov ecx, esi
call fcn.0044c080
cmp dword [esi + 0x54], 5
jne 0x451465
cmp dword [esi + 0x70], 0x10
jb 0x4513e8
mov ebx, dword [esi + 0x5c]
jmp 0x4513eb
lea ebx, [esi + 0x5c]
test ebx, ebx
jne 0x4513f3
xor eax, eax
jmp 0x451421
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, 1
cmp edi, 0x3fffffff
jle 0x45140b
xor eax, eax
jmp 0x451421
lea eax, [edi + edi]
call fcn.00461b20
mov ecx, dword [ebp - 0x10]
mov eax, esp
push ecx
push edi
push ebx
push eax
call fcn.004040a0
mov ecx, dword [esi + 0x74]
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
push ecx
push eax
mov ecx, esi
call edx
cmp dword [esi + 0x70], 0x10
jb 0x45143a
mov eax, dword [esi + 0x5c]
jmp 0x45143d
lea eax, [esi + 0x5c]
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x74]
push ecx
push edx
push eax
lea eax, [ebp]
push str._Q_Using_proxy___s:_d___d_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esi]
mov edx, dword [edx + 0x5c]
add esp, 0x14
lea eax, [ebp]
push eax
push 3
jmp 0x4514aa
lea eax, [ebp + 0x400]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, 1
cmp edi, 0x3fffffff
jle 0x451483
xor eax, eax
jmp 0x45149f
lea eax, [edi + edi]
call fcn.00461b20
mov ecx, dword [ebp - 0x10]
mov eax, esp
push ecx
push edi
lea edx, [ebp + 0x400]
push edx
push eax
call fcn.004040a0
movzx ecx, word [ebp - 0x38]
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
push ecx
push eax
mov ecx, esi
call edx
movzx eax, word [ebp - 0x38]
push eax
lea ecx, [ebp + 0x400]
push ecx
lea edx, [ebp]
push str._A_Connecting___s:_d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esi]
mov edx, dword [eax + 0x5c]
add esp, 0x10
lea ecx, [ebp]
push ecx
push 1
mov ecx, esi
call edx
mov al, 1
lea esp, [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x500]
xor ecx, ebp
call fcn.00460e4b
add ebp, 0x504
mov esp, ebp
pop ebp
ret