Function at 0x401000
Capabilities:
Delete file
Get http content length
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4144
call fcn.00416fe0
mov eax, dword [0x43f350]
mov ecx, dword [0x432698]
mov edx, dword [0x43269c]
mov dword [esp + 0x4140], eax
mov eax, dword [str.Accept:___r_n_r_n]
mov dword [esp + 0x24], eax
mov eax, dword [0x4326a0]
mov dword [esp + 0x30], eax
xor eax, eax
push ebx
mov dword [esp + 0x30], edx
mov edx, dword [0x43e2c4]
push esi
mov dword [esp + 0x30], ecx
push edi
mov ecx, 0x1000
lea edi, [esp + 0x148]
rep stosd dword es:[edi], eax
mov ecx, dword [0x43e2c0]
mov esi, ecx
mov eax, 0x6445fc6d
imul esi, esi, 0x946b47
imul edx
mov eax, dword [0x43e2bc]
sar edx, 0x14
imul eax, eax, 0x753dc2
add esi, edx
mov ebx, edx
mov edx, dword [0x43e2c8]
imul edx, edx, 0x754f74
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x43e2d0]
add ebx, edx
add ebx, eax
mov edi, dword [str._r_____r____]
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x278a52fb
imul ecx
sar edx, 0x14
add ebx, edx
mov ecx, edx
mov edx, dword [0x43e2cc]
imul edx, edx, 0x3493ae
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x51e0e37b
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
xor ebx, ebx
push ebx
mov dword [0x43e2dc], ecx
push 0x84000100
lea ecx, [esp + 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x3c]
push edx
mov ecx, dword [ebp + 8]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x28], esi
jne 0x40114e
mov eax, 1
mov ecx, dword [esp + 0x414c]
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x43e2c8]
mov eax, 0x8ba9e88d
imul ecx
add edx, ecx
mov edi, ecx
mov ecx, dword [0x43e2c4]
imul edi, edi, 0x28d92c
sar edx, 0x16
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov dword [esp + 0xc], eax
mov eax, 0x8ba9e88d
imul ecx
mov eax, dword [esp + 0xc]
add edx, ecx
sar edx, 0x16
add eax, edx
mov edi, edx
mov edx, dword [0x43e2d0]
shr edi, 0x1f
add edi, eax
mov eax, 0x321c7f55
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x51bab243
imul ecx
imul ecx, ecx, 0x679728
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2bc]
imul edx, edx, 0x302f8a
sub edi, eax
add edi, edx
lea eax, [edi + ecx + 0x2fa80f]
mov ecx, dword [ebp + 0x10]
push 0x432690
push ecx
mov dword [0x43e2d8], eax
call fcn.00416f32
add esp, 8
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x401211
mov eax, 2
mov ecx, dword [esp + 0x414c]
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x43e2c8]
mov edx, dword [0x43e2c0]
imul edx, edx, 0x754f74
mov edi, ecx
imul edi, edi, 0x28d92c
add edi, edx
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2d8]
sub edi, eax
mov eax, edx
imul eax, eax, 0x643bbd
sub edi, eax
mov eax, dword [0x43e2d4]
imul eax, eax, 0x302f8a
add edi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x15
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov dword [esp + 0xc], eax
mov eax, 0x76a10fbd
imul ecx
imul ecx, ecx, 0x330379
mov eax, dword [esp + 0xc]
sar edx, 0x15
add eax, edx
mov edi, edx
mov edx, dword [str._r_____r____]
shr edi, 0x1f
add edi, eax
mov eax, 0x51e0e37b
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
push ebx
sub edi, ecx
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x24]
push edx
push 0x20000005
sub edi, 0x28d92c
push esi
mov dword [0x43e2d4], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x4012fe
mov dword [esp + 0x1c], ebx
mov esi, dword [0x43e2bc]
mov eax, dword [0x43e2d4]
imul esi, esi, 0x7565e
mov ecx, dword [0x43e2c4]
imul eax, eax, 0x51bcef
add esi, eax
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43e2cc]
sub esi, ecx
imul edx, edx, 0x69275c
mov ecx, dword [str._r_____r____]
mov eax, ecx
imul eax, eax, 0x1412258
add esi, edx
mov edx, dword [0x43e2d0]
add esi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
sub esi, 0x3493ae
mov dword [0x43e2d0], esi
mov dword [esp + 0x10], 0xa
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x43e2bc]
mov esi, dword [0x43e2d8]
mov dword [esp + 0x24], eax
imul esi, esi, 0x28d92c
mov ecx, dword [0x43e2c8]
mov eax, 0x6445fc6d
imul ecx, ecx, 0x754f74
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov ecx, dword [0x43e2d0]
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2c0]
sub esi, eax
imul edx, edx, 0x643bbd
mov eax, edi
imul eax, eax, 0x302f8a
sub esi, edx
mov edx, dword [str._r_____r____]
add esi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x278a52fb
imul dword [0x43e2c0]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, ecx, 0x3493ae
imul edi, edi, 0x450e38
sub esi, eax
add ecx, dword [0x43e2c0]
add ecx, esi
lea edx, [esp + 0x14]
push edx
lea ecx, [edi + ecx + 0x450e38]
push 0x4000
lea eax, [esp + 0x150]
mov dword [0x43e2cc], ecx
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x40190f
mov eax, dword [esp + 0x14]
test eax, eax
mov esi, dword [ebp + 0xc]
je 0x401919
push str..txt
push esi
call fcn.00416e50
add esp, 8
test eax, eax
jne 0x4014a5
push str..TXT
push esi
call fcn.00416e50
add esp, 8
test eax, eax
je 0x4014f8
lea edx, [esp + 0x148]
push 0x43267c
push edx
call fcn.00416e50
add esp, 8
test eax, eax
jne 0x401a63
lea eax, [esp + 0x148]
push str.VersionURL
push eax
call fcn.00416e50
add esp, 8
test eax, eax
jne 0x4014f8
lea ecx, [esp + 0x148]
push 0x432664
push ecx
call fcn.00416e50
add esp, 8
test eax, eax
je 0x401a63
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x150]
push 1
push ecx
call fcn.00416e00
mov esi, dword [0x43e2cc]
mov ecx, dword [0x43e2c0]
imul esi, esi, 0xa9e322
mov eax, 0x321c7f55
imul ecx, ecx, 0x643bbd
imul dword [0x43e2d4]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov edi, dword [0x43e2bc]
add esi, ecx
mov ecx, dword [0x43e2c8]
mov eax, 0x65c6b7f9
imul ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov edx, edi
imul edx, edx, 0x8d9c64
add esi, edx
mov eax, 0x278a52fb
imul dword [0x43e2c4]
sar edx, 0x14
add esi, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0x450e38
shr eax, 0x1f
add eax, esi
add eax, edx
mov esi, eax
mov eax, 0x51e0e37b
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
lea edx, [esi + ecx - 0x28d92c]
mov esi, dword [esp + 0x2c]
mov dword [0x43e2c8], edx
add ebx, dword [esp + 0x24]
add esp, 0x10
test esi, esi
mov dword [esp + 0xc], ebx
je 0x401600
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x401600
mov eax, ebx
imul eax, eax, 0x64
xor edx, edx
div esi
mov esi, dword [ebp + 0x14]
push 0
push eax
mov eax, dword [ebp + 0x1c]
push 0x402
push eax
push esi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [0x43e2bc]
mov ecx, dword [str._r_____r____]
test ebx, ebx
mov dword [esp + 0x20], ebx
fild dword [esp + 0x20]
jge 0x401612
fadd dword [0x432660]
mov edx, dword [esp + 0x10]
fild dword [esp + 0x10]
test edx, edx
jge 0x401624
fadd dword [0x432660]
mov esi, dword [0x43e2d0]
mov eax, 0x6445fc6d
imul dword [0x43e2c0]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, esi
imul ebx, ebx, 0x946b47
sub ebx, eax
mov edx, ecx
imul edx, edx, 0x754f74
sub ebx, edx
mov eax, edi
imul eax, eax, 0x753dc2
add ebx, eax
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x65c6b7f9
imul esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x278a52fb
imul ecx
mov ecx, dword [0x43e2d8]
sar edx, 0x14
add ebx, edx
mov eax, edx
mov edx, ecx
fmul dword [0x43265c]
imul edx, edx, 0x3493ae
fdivp st(1)
shr eax, 0x1f
add eax, ebx
mov ebx, dword [0x43e2c4]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x9bcf58cb
imul dword [0x43e2c4]
add edx, ebx
mov ebx, dword [esp + 0x10]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [ebp + 0x14]
sub ebx, 0x643bbd
test eax, eax
mov dword [0x43e2c4], ebx
fmul dword [0x432658]
mov ebx, dword [esp + 0xc]
je 0x40179a
mov eax, dword [esp + 0x1c]
mov ecx, eax
sub ecx, ebx
test ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jge 0x401710
fadd dword [0x432660]
fdiv st(1)
sub esp, 0x20
test eax, eax
mov dword [esp + 0x40], eax
fmul dword [0x432658]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fild dword [esp + 0x40]
jge 0x401735
fadd qword [0x432650]
test ebx, ebx
fmul qword [0x432648]
mov dword [esp + 0x40], ebx
fstp qword [esp + 8]
fild dword [esp + 0x40]
jge 0x401751
fadd qword [0x432650]
fmul qword [0x432648]
lea edx, [esp + 0x60]
fstp qword [esp]
push 0x432600
push edx
call fcn.00416ca1
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
add esp, 0x28
lea eax, [esp + 0x40]
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [0x43e2bc]
mov esi, dword [0x43e2d0]
mov ecx, dword [0x43e2d8]
jmp 0x40179c
fstp st(0)
mov eax, 0x321c7f55
imul ecx, ecx, 0x754f74
imul edi, edi, 0x74bc7
imul dword [0x43e2d4]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, edi
sub ecx, eax
mov eax, dword [0x43e2cc]
mov edx, esi
imul eax, eax, 0x69275c
imul edx, edx, 0x643bbd
add ecx, edx
add ecx, eax
mov eax, 0x65c6b7f9
imul esi
mov eax, dword [0x43e2c8]
imul eax, eax, 0x679727
sar edx, 0x13
mov esi, edx
add ecx, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x43e2dc]
add esi, eax
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, 0x643bbd
mov dword [0x43e2c0], esi
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jne 0x401835
mov dword [esp + 0x10], 0xa
mov esi, dword [0x43e2bc]
mov edi, dword [0x43e2d8]
mov eax, 0x6445fc6d
imul edi, edi, 0x28d92c
imul esi
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43e2c8]
imul edx, edx, 0x754f74
sub edi, ecx
mov ecx, dword [0x43e2d0]
add edi, edx
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x3493ae
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2c0]
sub edi, eax
imul edx, edx, 0x643bbd
mov eax, esi
imul esi, esi, 0x450e38
imul eax, eax, 0x302f8a
sub edi, edx
mov edx, dword [str._r_____r____]
add edi, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x278a52fb
imul dword [0x43e2c0]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add ecx, dword [0x43e2c0]
add ecx, edi
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + ecx + 0x450e38]
push 0x4000
lea eax, [esp + 0x150]
mov dword [0x43e2cc], ecx
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x401472
mov edx, dword [esp + 0x18]
push edx
jmp 0x401a68
mov ecx, dword [0x43e2bc]
mov esi, dword [str._r_____r____]
mov edi, dword [0x43e2d8]
sub edi, esi
imul edi, edi, 0x754f74
mov eax, ecx
imul eax, eax, 0x28d92c
add edi, eax
mov esi, dword [0x43e2cc]
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x302f8a
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, esi
imul esi, esi, 0x3493ae
imul edx, edx, 0x643bbd
add edi, edx
add edi, ecx
mov ecx, dword [0x43e2d0]
mov eax, 0x65c6b7f9
imul ecx
mov ecx, dword [0x43e2d4]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, esi
mov esi, dword [esp + 0x18]
mov edi, eax
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea ecx, [edi + ecx - 0x643bbd]
push esi
mov dword [0x43e2bc], ecx
call fcn.00416c48
push esi
call fcn.00416a97
mov esi, dword [ebp + 0xc]
push str..txt
push esi
call fcn.00416e50
add esp, 0x10
test eax, eax
jne 0x401a27
push str..TXT
push esi
call fcn.00416e50
add esp, 8
test eax, eax
jne 0x401a27
cmp ebx, 0x14000
jae 0x401a4e
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 3
mov ecx, dword [esp + 0x414c]
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 0xa
jae 0x401a4e
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 3
mov ecx, dword [esp + 0x414c]
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0x414c]
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00416a97
mov ecx, dword [esp + 0x4150]
add esp, 4
mov eax, 3
call fcn.00416fcd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret