Function at 0x422b20
Capabilities:
Check http status code
Delete file
Parse url

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x6c
push 0xffffffffffffffff
push 0x48d089
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x4c4074]
xor eax, ebp
mov dword [ebp + 0x68], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x10], ecx
lea ecx, [ebx + 0x20]
push eax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x1c], 0
call fcn.00407f10
mov dword [ebx + 0x78], 0
mov dword [ebp - 4], 0
mov edx, 0x4aa57c
push 0
push 0x4aa574
lea ecx, [ebp + 0x38]
call fcn.00404930
add esp, 8
mov dword [ebp + 0x1c], 1
lea ecx, [ebp + 0x50]
push ecx
mov ecx, eax
call fcn.004202d0
mov edx, eax
mov byte [ebp - 4], 1
cmp dword [edx + 0x14], 8
jb 0x422bb3
mov edx, dword [edx]
lea esi, [ebx + 0x18]
mov dword [ebp + 0x34], esi
test edx, edx
jne 0x422bc1
xor ecx, ecx
jmp 0x422bd5
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422bc6
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00407350
mov byte [ebp - 4], 0
mov edx, dword [ebp + 0x64]
cmp edx, 8
jb 0x422c1c
mov ecx, dword [ebp + 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422c12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4231f5
push edx
push ecx
call fcn.0046e3c2
add esp, 8
xor eax, eax
mov dword [ebp + 0x60], 0
mov word [ebp + 0x50], ax
mov eax, 1
mov dword [ebp + 0x1c], eax
and eax, 0xfffffffe
mov dword [ebp + 0x64], 7
mov dword [ebp + 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x4c]
cmp edx, 8
jb 0x422c7f
mov ecx, dword [ebp + 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422c75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4231fa
push edx
push ecx
call fcn.0046e3c2
add esp, 8
mov edx, dword [esi]
lea ecx, [ebx + 0x1c]
mov esi, dword [ecx]
xor eax, eax
mov word [ebp + 0x38], ax
sub esi, 0x10
or edi, 0xffffffff
mov dword [ebp + 0x48], 0
lea eax, [edx - 0x10]
mov dword [ebp + 0x4c], 7
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x24], esi
cmp eax, esi
je 0x422cf9
cmp dword [esi + 0xc], 0
jl 0x422ced
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x422ced
mov ecx, dword [ebp + 0x28]
call fcn.004025a0
mov dword [ebp + 0x28], eax
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x422ce0
mov esi, dword [esi]
push dword [ebp + 0x24]
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov ecx, esi
call edx
mov eax, dword [ebp + 0x28]
lea ecx, [ebx + 0x1c]
add eax, 0x10
mov dword [ecx], eax
jmp 0x422cf9
push dword [edx - 0xc]
push edx
call fcn.00407350
lea ecx, [ebx + 0x1c]
push 5
push str..part
call fcn.004023a0
lea eax, [ebp - 0x58]
mov dword [ebp + 0x30], 0
push eax
mov eax, dword [ebp + 0x2c]
xorps xmm0, xmm0
push 0
push 0
movlpd qword [ebp - 0x54], xmm0
push dword [eax]
movlpd qword [ebp - 0x4c], xmm0
movlpd qword [ebp - 0x44], xmm0
movlpd qword [ebp - 0x3c], xmm0
movlpd qword [ebp - 0x34], xmm0
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0x58], 0x3c
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x422e42
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x422e3d
call fcn.00420c00
cmp byte [eax + 0x1c], 0
je 0x4231d4
call fcn.00420c00
test byte [eax + 0x20], 8
je 0x4231d4
call fcn.00420c00
mov ebx, eax
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x4231ff
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x34], eax
mov dword [ebp - 4], 6
lea ecx, [ebp + 0x34]
push 0x11
push str.CheckURL___failed
call fcn.004023a0
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x423209
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x30], eax
mov byte [ebp - 4], 9
lea ecx, [ebp + 0x30]
push 0
push 0x4a85e8
call fcn.004023a0
push ecx
lea eax, [ebp + 0x34]
push eax
push ecx
lea eax, [ebp + 0x30]
mov ecx, ebx
push eax
call fcn.00420d60
mov byte [ebp - 4], 6
mov eax, edi
mov edx, dword [ebp + 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422e15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4231d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4231d4
mov eax, dword [ebp + 0x20]
jmp 0x422e45
mov eax, dword [ebp - 0x4c]
cmp eax, 3
je 0x422e59
cmp eax, 4
je 0x422e59
mov eax, 0x2ee6
jmp 0x4231d6
lea eax, [ebp + 0x30]
mov ecx, ebx
push eax
call fcn.00424df0
mov esi, eax
test esi, esi
je 0x422f2e
call fcn.00420c00
cmp byte [eax + 0x1c], 0
je 0x4231d4
call fcn.00420c00
test byte [eax + 0x20], 8
je 0x4231d4
call fcn.00420c00
mov ebx, eax
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x423213
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x30], eax
mov dword [ebp - 4], 0x10
lea ecx, [ebp + 0x30]
push 0x1b
push str.InitInetConnection___failed
call fcn.004023a0
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x42321d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x34], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp + 0x34]
push 0
push 0x4a85e8
call fcn.004023a0
push ecx
lea eax, [ebp + 0x30]
push eax
push ecx
lea eax, [ebp + 0x34]
mov ecx, ebx
push eax
call fcn.00420d60
mov byte [ebp - 4], 0x10
mov eax, edi
mov edx, dword [ebp + 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422f1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x30]
jmp 0x422e1f
mov esi, dword [ebp + 0x30]
mov dword [ebp], 0x4aaaa0
mov dword [ebp + 4], esi
mov dword [ebp - 4], 0x18
lea eax, [ebx + 0x7c]
cmp dword [eax], 0
jbe 0x422f56
push 4
push eax
push 2
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp + 0x18]
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x20], eax
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x423227
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x18], eax
mov byte [ebp - 4], 0x1b
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x28]
mov ecx, ebx
push eax
lea eax, [ebp + 0x24]
push eax
push str.POST
push dword [ebp + 0x2c]
push esi
call fcn.00425430
mov esi, eax
test esi, esi
je 0x42309a
call fcn.00420c00
cmp byte [eax + 0x1c], 0
je 0x42307c
call fcn.00420c00
test byte [eax + 0x20], 8
je 0x42307c
call fcn.00420c00
mov dword [ebp + 0x28], eax
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x423231
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x2c], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp + 0x2c]
push 0x10
push str.Connect___failed
call fcn.004023a0
call fcn.00403d50
mov ecx, eax
test ecx, ecx
je 0x42323b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x34], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x34]
push 0
push 0x4a85e8
call fcn.004023a0
push ecx
lea eax, [ebp + 0x2c]
push eax
push ecx
mov ecx, dword [ebp + 0x28]
lea eax, [ebp + 0x34]
push eax
call fcn.00420d60
mov byte [ebp - 4], 0x1e
mov eax, edi
mov edx, dword [ebp + 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42305e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov eax, edi
mov edx, dword [ebp + 0x2c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42307c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp esi, 0xe0000013
je 0x423186
push 0
push esi
lea ecx, [ebx + 0xc]
push 0
call fcn.00427be0
jmp 0x423186
mov eax, dword [ebx + 8]
mov dword [ebp + 0x20], eax
mov dword [ebp + 8], 0x4aaaa0
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x28
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x68]
mov dword [ebp - 0x1c], 0x4aaa98
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x1c], 0x4aaafc
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x1c]
push dword [ebp + 0x24]
mov ecx, ebx
push dword [ebp + 0x28]
push eax
push dword [ebp + 0x30]
call fcn.00423df0
mov esi, eax
test esi, esi
jne 0x42314a
cmp dword [ebx + 0x98], 0xc8
jne 0x423145
lea ecx, [ebp + 0x2c]
call fcn.00403e80
mov byte [ebp - 4], 0x2b
lea ecx, [ebp + 0x2c]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x40]
push dword [ebp + 0x10]
mov ebx, dword [ebp + 0x34]
lea eax, [ebp + 0x2c]
push eax
push ebx
call fcn.004248e0
mov esi, eax
mov byte [ebp - 4], 0x2a
mov eax, edi
mov edx, dword [ebp + 0x2c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42314d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42314d
mov esi, 0xe000002b
mov ebx, dword [ebp + 0x34]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1c]
call fcn.00421d90
mov byte [ebp - 4], 0x1b
mov ebx, dword [ebp + 0x20]
push 0
push ebx
mov dword [ebp + 8], 0x4aaaa0
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp + 0xc], 0
mov byte [ebp - 4], 0x18
lea eax, [ebp + 0x18]
mov dword [ebp + 0x20], eax
mov byte [ebp - 4], 0x18
mov edx, dword [ebp + 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4231ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp + 0x30]
push 0
push ebx
mov dword [ebp], 0x4aaaa0
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp + 4], 0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x68]
xor ecx, ebp
call fcn.0046e38e
lea esp, [ebp + 0x6c]
pop ebp
ret 8
call fcn.004736d9
call fcn.004736d9
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
push 0x80004005
call fcn.004024c0
int3