Function at 0x420740
Capabilities:
Delete file
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48ad58
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push esi
push edi
mov eax, dword [0x4c0074]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push dword [ebp + 8]
lea ecx, [edi + 0x20]
call fcn.00402f20
mov dword [edi + 0x78], 0
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d64
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
push 0x4a6880
call fcn.004038d0
test al, al
jne 0x4207bd
push 3
push 0x4a6880
lea ecx, [ebp - 0x14]
call fcn.00403ae0
mov dword [ebp - 4], 1
lea ebx, [edi + 0x18]
mov edx, ebx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x14]
call fcn.00409fd0
test al, al
sete byte [ebp - 0xd]
mov dword [ebp - 4], 0xffffffff
or esi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4207fe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x42081e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebx]
lea ecx, [edi + 0x1c]
mov ebx, dword [ecx]
sub ebx, 0x10
lea eax, [edx - 0x10]
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x420878
cmp dword [ebx + 0xc], 0
jl 0x42086c
mov eax, dword [eax]
cmp eax, dword [ebx]
jne 0x42086c
mov ecx, dword [ebp - 0x20]
call fcn.00402480
mov dword [ebp - 0x20], eax
mov ecx, esi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42085f
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20]
lea ecx, [edi + 0x1c]
add eax, 0x10
mov dword [ecx], eax
jmp 0x420878
push dword [edx - 0xc]
push edx
call fcn.00403ae0
lea ecx, [edi + 0x1c]
push 5
push str..part
call fcn.00402280
lea eax, [ebp - 0x88]
mov dword [ebp - 0x14], 0
push eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push 0
push 0
movlpd qword [ebp - 0x84], xmm0
push dword [eax]
movlpd qword [ebp - 0x7c], xmm0
movlpd qword [ebp - 0x74], xmm0
movlpd qword [ebp - 0x6c], xmm0
movlpd qword [ebp - 0x64], xmm0
movlpd qword [ebp - 0x5c], xmm0
movlpd qword [ebp - 0x54], xmm0
mov dword [ebp - 0x88], 0x3c
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x4209ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
je 0x4209c5
call fcn.0041e1d0
cmp byte [eax + 0x1c], 0
je 0x420c6e
call fcn.0041e1d0
test byte [eax + 0x20], 8
je 0x420c6e
call fcn.0041e1d0
mov edi, eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d6e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], 5
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d78
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov byte [ebp - 4], 8
lea ecx, [ebp + 0xc]
push 0x11
push str.CheckURL___failed
call fcn.00402280
push 0
push 0x4a4fb8
lea ecx, [ebp + 8]
call fcn.00402280
push ecx
lea eax, [ebp + 0xc]
push eax
push ecx
lea eax, [ebp + 8]
mov ecx, edi
push eax
call fcn.0041e320
mov byte [ebp - 4], 5
mov eax, esi
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42099d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x420c6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x420c6e
mov eax, dword [ebp + 8]
jmp 0x4209cd
mov eax, dword [ebp - 0x7c]
cmp eax, 3
je 0x4209f0
cmp eax, 4
je 0x4209f0
mov eax, 0x2ee6
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.00422930
mov ebx, eax
test ebx, ebx
je 0x420abb
call fcn.0041e1d0
cmp byte [eax + 0x1c], 0
je 0x420c6e
call fcn.0041e1d0
test byte [eax + 0x20], 8
je 0x420c6e
call fcn.0041e1d0
mov edi, eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d82
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], 0xf
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d8c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp + 0xc]
push 0x1b
push str.InitInetConnection___failed
call fcn.00402280
push 0
push 0x4a4fb8
lea ecx, [ebp + 8]
call fcn.00402280
push ecx
lea eax, [ebp + 0xc]
push eax
push ecx
lea eax, [ebp + 8]
mov ecx, edi
push eax
call fcn.0041e320
mov byte [ebp - 4], 0xf
mov eax, esi
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420ab6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42099d
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], 0x4a6da8
mov dword [ebp - 0x38], ebx
mov dword [ebp - 4], 0x17
lea eax, [edi + 0x7c]
cmp dword [eax], 0
jbe 0x420ae3
push 4
push eax
push 2
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420d96
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c]
push eax
push str.POST
push dword [ebp + 8]
push ebx
call fcn.00422f60
mov ebx, eax
test ebx, ebx
je 0x420c84
call fcn.0041e1d0
cmp byte [eax + 0x1c], 0
je 0x420c09
call fcn.0041e1d0
test byte [eax + 0x20], 8
je 0x420c09
call fcn.0041e1d0
mov dword [ebp - 0x20], eax
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420da0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x1d
call fcn.00403f70
mov ecx, eax
test ecx, ecx
je 0x420daa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 0xc]
push 0x10
push str.Connect___failed
call fcn.00402280
push 0
push 0x4a4fb8
lea ecx, [ebp + 8]
call fcn.00402280
push ecx
lea eax, [ebp + 0xc]
push eax
push ecx
mov ecx, dword [ebp - 0x20]
lea eax, [ebp + 8]
push eax
call fcn.0041e320
mov byte [ebp - 4], 0x1d
mov eax, esi
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420beb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, esi
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420c09
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp ebx, 0xe0000013
je 0x420c1e
push 0
push ebx
lea ecx, [edi + 0xc]
push 0
call fcn.00425730
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x28]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x420c4a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x14]
push 0
push esi
mov dword [ebp - 0x3c], 0x4a6da8
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push esi
call edi
mov dword [ebp - 0x38], 0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edi + 8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x4a6da8
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x4c]
push dword [edi + 0x70]
push dword [edi + 0x68]
push dword [edi + 4]
call fcn.0041f940
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x4c]
push dword [ebp - 0x1c]
mov ecx, edi
push dword [ebp - 0x20]
push eax
push dword [ebp - 0x14]
call fcn.00421960
mov ebx, eax
test ebx, ebx
jne 0x420d21
cmp dword [edi + 0x98], 0xc8
jne 0x420d1c
lea ecx, [ebp + 8]
call fcn.004040a0
mov byte [ebp - 4], 0x29
lea ecx, [ebp + 8]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x40]
push dword [ebp + 0xc]
mov edi, dword [ebp - 0x18]
lea eax, [ebp + 8]
push eax
push edi
call fcn.00422420
mov ebx, eax
mov byte [ebp - 4], 0x28
mov eax, esi
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420d24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x420d24
mov ebx, 0xe000002b
mov edi, dword [ebp - 0x18]
push dword [edi]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x4c]
call fcn.0041f9b0
mov byte [ebp - 4], 0x1a
mov edi, dword [ebp - 0x24]
push 0
push edi
mov dword [ebp - 0x34], 0x4a6da8
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push edi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
mov dword [ebp - 0x30], 0
jmp 0x420c24
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
push 0x80004005
call fcn.004023a0
int3