Function at 0x407e9b
Capabilities:
Parse url

Disassembly:
push 0x4c
mov eax, 0x423a15
call fcn.0040dff8
mov esi, ecx
mov ebx, dword [ebp + 8]
push ebx
lea ecx, [esi + 0x3c]
call fcn.00403c3f
push 0x38
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.0040ede0
mov eax, dword [ebx]
add esp, 0xc
xor edi, edi
inc edi
lea edx, [ebp - 0x58]
push edx
mov dword [ebp - 0x58], 0x3c
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], edi
mov ecx, dword [eax - 8]
push 0
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x407f02
mov byte [esi + 4], al
xor al, al
jmp 0x40824a
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x34], eax
je 0x407f39
push dword [ebp - 0x50]
lea ecx, [ebp + 8]
push dword [ebp - 0x54]
call fcn.00407c2d
and dword [ebp - 4], 0
push eax
lea ecx, [esi + 8]
call fcn.00403c3f
or edi, 0xffffffff
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
jmp 0x407f5f
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 8]
mov dword [ebp - 4], edi
call fcn.00403c3f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040216b
or edi, 0xffffffff
cmp dword [ebp - 0x3c], 0
je 0x407f7c
push dword [ebp - 0x38]
lea ecx, [ebp + 8]
push dword [ebp - 0x3c]
call fcn.00407c2d
mov dword [ebp - 4], 2
jmp 0x407f8e
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 3
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x10]
call fcn.00403c3f
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
cmp dword [ebp - 0x34], 0
je 0x407fbf
push dword [ebp - 0x30]
lea ecx, [ebp + 8]
push dword [ebp - 0x34]
call fcn.00407c2d
mov dword [ebp - 4], 4
jmp 0x407fd1
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 5
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x14]
call fcn.00403c3f
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
cmp dword [ebp - 0x48], 0
je 0x408002
push dword [ebp - 0x44]
lea ecx, [ebp + 8]
push dword [ebp - 0x48]
call fcn.00407c2d
mov dword [ebp - 4], 6
jmp 0x408014
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 7
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0xc]
call fcn.00403c3f
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
cmp dword [ebp - 0x2c], 0
je 0x408045
push dword [ebp - 0x28]
lea ecx, [ebp + 8]
push dword [ebp - 0x2c]
call fcn.00407c2d
mov dword [ebp - 4], 8
jmp 0x408057
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 9
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x18]
call fcn.00403c3f
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebx]
add ecx, ecx
sub ecx, eax
add ecx, dword [ebp - 0x2c]
lea eax, [ebp + 8]
sar ecx, 1
push ecx
push 0
push eax
mov ecx, ebx
call fcn.00407d7a
push eax
lea ecx, [esi + 0x24]
mov dword [ebp - 4], 0xa
call fcn.00403c3f
lea ecx, [ebp + 8]
mov dword [ebp - 4], edi
call fcn.0040216b
cmp dword [ebp - 0x24], 0
je 0x4080bf
push dword [ebp - 0x20]
lea ecx, [ebp + 8]
push dword [ebp - 0x24]
call fcn.00407c2d
mov dword [ebp - 4], 0xb
jmp 0x4080d1
mov eax, dword [0x42f0b4]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0xc
lea eax, [ebp + 8]
lea edi, [esi + 0x1c]
push eax
mov ecx, edi
call fcn.00403c3f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040216b
mov ax, word [ebp - 0x40]
mov ecx, dword [ebp - 0x2c]
mov word [esi + 0x38], ax
mov eax, dword [ebx]
sub ecx, eax
sar ecx, 1
push ecx
push 0
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call fcn.00407d7a
push eax
lea ecx, [esi + 0x20]
mov dword [ebp - 4], 0xd
call fcn.00403c3f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040216b
mov eax, dword [edi]
mov ecx, dword [eax - 8]
lea ebx, [eax + 2]
lea eax, [eax + ecx*2]
cmp ebx, eax
mov dword [ebp - 0x1c], eax
jae 0x408244
push 0x3d
push ebx
call fcn.004104d5
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x408244
push 0x26
push edi
call fcn.004104d5
test eax, eax
pop ecx
pop ecx
mov dword [ebp + 8], eax
je 0x408200
mov eax, dword [ebp + 8]
add eax, 2
push 0x26
push eax
call fcn.004104d5
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
add eax, 2
push 0x3d
push eax
call fcn.004104d5
mov ecx, dword [ebp - 0x10]
add esp, 0x10
test ecx, ecx
jne 0x40818f
test eax, eax
jne 0x40819e
test eax, eax
je 0x408200
cmp eax, ecx
jbe 0x40819c
mov dword [ebp + 8], ecx
jmp 0x408162
jae 0x408162
mov eax, dword [ebp + 8]
sub eax, edi
sar eax, 1
dec eax
push eax
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x18]
call fcn.00407c2d
mov dword [ebp - 0x10], eax
sub edi, ebx
sar edi, 1
push edi
push ebx
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xe
call fcn.00407c2d
push dword [ebp - 0x10]
lea ecx, [esi + 0x28]
push eax
mov byte [ebp - 4], 0xf
call fcn.00407e48
lea ecx, [ebp - 0x14]
call fcn.0040216b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040216b
mov eax, dword [ebp + 8]
lea ebx, [eax + 2]
cmp ebx, dword [ebp - 0x1c]
jb 0x408139
jmp 0x408244
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.00405fee
mov dword [ebp + 8], eax
sub edi, ebx
sar edi, 1
push edi
push ebx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0x10
call fcn.00407c2d
push dword [ebp + 8]
lea ecx, [esi + 0x28]
push eax
mov byte [ebp - 4], 0x11
call fcn.00407e48
lea ecx, [ebp - 0x1c]
call fcn.0040216b
lea ecx, [ebp - 0x10]
call fcn.0040216b
mov byte [esi + 4], 1
mov al, 1
call fcn.0040e097
ret 4