Function at 0x41e3d0
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd6ef
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x515080]
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.00409c10
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 0x41e495
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov dword [esi], ecx
jmp 0x41ea76
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x18], esi
test esi, esi
je 0x41e571
mov edi, dword [ebp - 0x50]
call fcn.004046f0
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x41eade
test esi, esi
jne 0x41e4c2
test edi, edi
jne 0x41eacf
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e2514]
mov ecx, dword [ebp - 0x1c]
call esi
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41eae8
lea eax, [esi + 0x10]
mov dword [ebp - 0x1c], eax
test edi, edi
js 0x41eacf
cmp edi, dword [eax - 8]
jg 0x41eacf
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e538
mov ecx, dword [ebp - 0x18]
push edi
test ecx, ecx
je 0x41e51d
push ecx
push eax
call fcn.004a3620
add esp, 0xc
jmp 0x41e538
push 0
push eax
call fcn.004a3ba0
add esp, 0xc
call fcn.004a702d
mov dword [eax], 0x16
call fcn.004a6f2f
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
push eax
call fcn.00409b90
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e571
mov edi, dword [esi]
push dword [ebp - 0x24]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41e64d
mov edi, dword [ebp - 0x34]
call fcn.004046f0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x41eade
test esi, esi
jne 0x41e59e
test edi, edi
jne 0x41eacf
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e2514]
mov ecx, dword [ebp - 0x24]
call esi
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x41eae8
lea eax, [esi + 0x10]
mov dword [ebp - 0x24], eax
test edi, edi
js 0x41eacf
cmp edi, dword [eax - 8]
jg 0x41eacf
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e614
mov ecx, dword [ebp - 0x1c]
push edi
test ecx, ecx
je 0x41e5f9
push ecx
push eax
call fcn.004a3620
add esp, 0xc
jmp 0x41e614
push 0
push eax
call fcn.004a3ba0
add esp, 0xc
call fcn.004a702d
mov dword [eax], 0x16
call fcn.004a6f2f
mov byte [ebp - 4], 5
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
push eax
lea ecx, [ecx + 0x14]
call fcn.00409b90
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e64d
mov edi, dword [esi]
push dword [ebp - 0x18]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x28], esi
test esi, esi
je 0x41e776
mov edi, dword [ebp - 0x44]
call fcn.004046f0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x41eab6
test esi, esi
jne 0x41e67a
test edi, edi
jne 0x41eacf
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e2514]
mov ecx, dword [ebp - 0x24]
call esi
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41eac0
lea eax, [esi + 0x10]
mov dword [ebp - 0x24], eax
test edi, edi
js 0x41eacf
cmp edi, dword [eax - 8]
jg 0x41eacf
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e6f0
mov ecx, dword [ebp - 0x28]
push edi
test ecx, ecx
je 0x41e6d5
push ecx
push eax
call fcn.004a3620
add esp, 0xc
jmp 0x41e6f0
push 0
push eax
call fcn.004a3ba0
add esp, 0xc
call fcn.004a702d
mov dword [eax], 0x16
call fcn.004a6f2f
mov byte [ebp - 4], 9
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
call fcn.0041ee40
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x14], 2
lea ecx, [ecx + 0x1c]
call fcn.00409b90
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 0x41e750
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
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 0x41e776
mov edi, dword [esi]
push dword [ebp - 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41e895
mov edi, dword [ebp - 0x3c]
call fcn.004046f0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x41eac5
test esi, esi
jne 0x41e7a3
test edi, edi
jne 0x41eacf
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e2514]
mov ecx, dword [ebp - 0x28]
call esi
mov dword [ebp - 0x18], eax
test eax, eax
je 0x41ead9
add eax, 0x10
mov dword [ebp - 0x28], eax
test edi, edi
js 0x41eacf
cmp edi, dword [eax - 8]
jg 0x41eacf
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e817
mov ecx, dword [ebp - 0x24]
push edi
test ecx, ecx
je 0x41e7fc
push ecx
push eax
call fcn.004a3620
add esp, 0xc
jmp 0x41e817
push 0
push eax
call fcn.004a3ba0
add esp, 0xc
call fcn.004a702d
mov dword [eax], 0x16
call fcn.004a6f2f
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.0041ee40
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.00409b90
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 0x41e86e
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
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 0x41e895
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x24], esi
test esi, esi
je 0x41e971
mov edi, dword [ebp - 0x2c]
call fcn.004046f0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x41eade
test esi, esi
jne 0x41e8c2
test edi, edi
jne 0x41eacf
mov eax, dword [eax]
push 2
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [0x4e2514]
mov ecx, dword [ebp - 0x28]
call esi
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41eae8
lea eax, [esi + 0x10]
mov dword [ebp - 0x28], eax
test edi, edi
js 0x41eacf
cmp edi, dword [eax - 8]
jg 0x41eacf
mov dword [eax - 0xc], edi
xor ecx, ecx
add edi, edi
mov word [edi + eax], cx
test edi, edi
je 0x41e938
mov ecx, dword [ebp - 0x24]
push edi
test ecx, ecx
je 0x41e91d
push ecx
push eax
call fcn.004a3620
add esp, 0xc
jmp 0x41e938
push 0
push eax
call fcn.004a3ba0
add esp, 0xc
call fcn.004a702d
mov dword [eax], 0x16
call fcn.004a6f2f
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
push eax
lea ecx, [ecx + 0x18]
call fcn.00409b90
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41e971
mov edi, dword [esi]
push dword [ebp - 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
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 0x41ea6f
lea ecx, [edx + 0x14]
mov edx, dword [ecx]
mov esi, dword [edx - 0xc]
cmp esi, 3
jle 0x41ea6f
cmp word [edx], 0x5c
jne 0x41ea6f
cmp word [edx + 2], 0x5c
jne 0x41ea6f
cmp word [edx + 4], 0x3f
je 0x41ea6f
lea eax, [esi - 2]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00408bd0
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.00409b90
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 0x41ea0b
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x24]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jl 0x41ea6f
push 0x4ef1fc
push eax
call fcn.004a328c
add esp, 8
test eax, eax
je 0x41ea6f
sub eax, dword [esi]
sar eax, 1
test eax, eax
jle 0x41ea6f
push eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0040b1b0
mov byte [ebp - 4], 0x16
mov ecx, esi
push eax
call fcn.00409b90
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 0x41ea6f
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4e2514]
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 0x41eaa1
mov edi, dword [eax]
push eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x4e2514]
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