Function at 0x41e180
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ccf6f
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x514080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x20]
mov eax, dword [esi + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x60], xmm0
movlpd qword [ebp - 0x58], xmm0
movlpd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x50], 0x64
mov dword [ebp - 0x44], 0x64
mov dword [ebp - 0x3c], 0x64
mov dword [ebp - 0x34], 0x64
mov dword [ebp - 0x2c], 0x64
mov dword [ebp - 0x64], 0x3c
push dword [eax - 0xc]
push eax
call fcn.004099d0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x64]
push eax
push 0
push 0
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
or ebx, 0xffffffff
test eax, eax
jne 0x41e245
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov dword [esi], ecx
jmp 0x41e826
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x18], esi
test esi, esi
je 0x41e321
mov edi, dword [ebp - 0x50]
call fcn.004046f0
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x41e88e
test esi, esi
jne 0x41e272
test edi, edi
jne 0x41e87f
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, dword [ebp - 0x1c]
call esi
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41e898
lea eax, [esi + 0x10]
mov dword [ebp - 0x1c], eax
test edi, edi
js 0x41e87f
cmp edi, dword [eax - 8]
jg 0x41e87f
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e2e8
mov ecx, dword [ebp - 0x18]
push edi
test ecx, ecx
je 0x41e2cd
push ecx
push eax
call fcn.004a2fb0
add esp, 0xc
jmp 0x41e2e8
push 0
push eax
call fcn.004a3530
add esp, 0xc
call fcn.004a69bd
mov dword [eax], 0x16
call fcn.004a68bf
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
push eax
call fcn.00409950
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e321
mov edi, dword [esi]
push dword [ebp - 0x24]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41e3fd
mov edi, dword [ebp - 0x34]
call fcn.004046f0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x41e88e
test esi, esi
jne 0x41e34e
test edi, edi
jne 0x41e87f
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, dword [ebp - 0x24]
call esi
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x41e898
lea eax, [esi + 0x10]
mov dword [ebp - 0x24], eax
test edi, edi
js 0x41e87f
cmp edi, dword [eax - 8]
jg 0x41e87f
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e3c4
mov ecx, dword [ebp - 0x1c]
push edi
test ecx, ecx
je 0x41e3a9
push ecx
push eax
call fcn.004a2fb0
add esp, 0xc
jmp 0x41e3c4
push 0
push eax
call fcn.004a3530
add esp, 0xc
call fcn.004a69bd
mov dword [eax], 0x16
call fcn.004a68bf
mov byte [ebp - 4], 5
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
push eax
lea ecx, [ecx + 0x14]
call fcn.00409950
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e3fd
mov edi, dword [esi]
push dword [ebp - 0x18]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x28], esi
test esi, esi
je 0x41e526
mov edi, dword [ebp - 0x44]
call fcn.004046f0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x41e866
test esi, esi
jne 0x41e42a
test edi, edi
jne 0x41e87f
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, dword [ebp - 0x24]
call esi
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41e870
lea eax, [esi + 0x10]
mov dword [ebp - 0x24], eax
test edi, edi
js 0x41e87f
cmp edi, dword [eax - 8]
jg 0x41e87f
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e4a0
mov ecx, dword [ebp - 0x28]
push edi
test ecx, ecx
je 0x41e485
push ecx
push eax
call fcn.004a2fb0
add esp, 0xc
jmp 0x41e4a0
push 0
push eax
call fcn.004a3530
add esp, 0xc
call fcn.004a69bd
mov dword [eax], 0x16
call fcn.004a68bf
mov byte [ebp - 4], 9
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
call fcn.0041ebf0
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x14], 2
lea ecx, [ecx + 0x1c]
call fcn.00409950
mov eax, 2
mov dword [ebp - 0x14], eax
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 8
mov eax, ebx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41e500
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e526
mov edi, dword [esi]
push dword [ebp - 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41e645
mov edi, dword [ebp - 0x3c]
call fcn.004046f0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x41e875
test esi, esi
jne 0x41e553
test edi, edi
jne 0x41e87f
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, dword [ebp - 0x28]
call esi
mov dword [ebp - 0x18], eax
test eax, eax
je 0x41e889
add eax, 0x10
mov dword [ebp - 0x28], eax
test edi, edi
js 0x41e87f
cmp edi, dword [eax - 8]
jg 0x41e87f
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e5c7
mov ecx, dword [ebp - 0x24]
push edi
test ecx, ecx
je 0x41e5ac
push ecx
push eax
call fcn.004a2fb0
add esp, 0xc
jmp 0x41e5c7
push 0
push eax
call fcn.004a3530
add esp, 0xc
call fcn.004a69bd
mov dword [eax], 0x16
call fcn.004a68bf
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.0041ebf0
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
or esi, 1
push eax
lea ecx, [ecx + 0x20]
mov dword [ebp - 0x14], esi
call fcn.00409950
and esi, 0xfffffffe
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xd
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41e61e
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov byte [ebp - 4], 0
mov eax, ebx
mov ecx, dword [ebp - 0x18]
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41e645
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41e721
mov edi, dword [ebp - 0x2c]
call fcn.004046f0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x41e88e
test esi, esi
jne 0x41e672
test edi, edi
jne 0x41e87f
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e1514]
mov ecx, dword [ebp - 0x28]
call esi
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41e898
lea eax, [esi + 0x10]
mov dword [ebp - 0x28], eax
test edi, edi
js 0x41e87f
cmp edi, dword [eax - 8]
jg 0x41e87f
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e6e8
mov ecx, dword [ebp - 0x24]
push edi
test ecx, ecx
je 0x41e6cd
push ecx
push eax
call fcn.004a2fb0
add esp, 0xc
jmp 0x41e6e8
push 0
push eax
call fcn.004a3530
add esp, 0xc
call fcn.004a69bd
mov dword [eax], 0x16
call fcn.004a68bf
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
push eax
lea ecx, [ecx + 0x18]
call fcn.00409950
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e721
mov edi, dword [esi]
push dword [ebp - 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x58]
mov ax, word [ebp - 0x4c]
mov dword [edx + 8], ecx
mov word [edx + 0xc], ax
cmp ecx, 5
jne 0x41e81f
lea ecx, [edx + 0x14]
mov edx, dword [ecx]
mov esi, dword [edx - 0xc]
cmp esi, 3
jle 0x41e81f
cmp word [edx], 0x5c
jne 0x41e81f
cmp word [edx + 2], 0x5c
jne 0x41e81f
cmp word [edx + 4], 0x3f
je 0x41e81f
lea eax, [esi - 2]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004089a0
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x10]
add esi, 0x10
push eax
mov ecx, esi
mov dword [ebp - 0x24], esi
call fcn.00409950
mov byte [ebp - 4], 0
mov eax, ebx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7bb
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x24]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jl 0x41e81f
push 0x4ee1ec
push eax
call fcn.004a2c1c
add esp, 8
test eax, eax
je 0x41e81f
sub eax, dword [esi]
sar eax, 1
test eax, eax
jle 0x41e81f
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0040af80
mov byte [ebp - 4], 0x16
mov ecx, esi
push eax
call fcn.00409950
mov byte [ebp - 4], 0
mov eax, ebx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41e81f
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x41e851
mov edi, dword [eax]
push eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x4e1514]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402720
call fcn.00402740
push 0x80004005
call fcn.00402720
push 0x80070057
call fcn.00402720
call fcn.00402740
push 0x80004005
call fcn.00402720
call fcn.00402740
int3