Function at 0x40dcd4
Capabilities:
Check for time delay via gettickcount
Delete file
Get common file path
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8264
call fcn.00419430
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
push ebx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], 0x41b414
mov dword [ebp - 0x20], 0x41b40c
call fcn.00402096
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x34], 0x41b408
call fcn.0040429e
lea edi, [esi + 0xec]
push 0x40
lea eax, [ebp - 0x8c]
push edi
push eax
mov dword [ebp - 0x4c], esi
call fcn.00419570
add esp, 0xc
add esi, 0x134
push str.D:is6Code_62xXTiSetupSetup.cpp
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
push edi
call fcn.00419aa4
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp - 0xc], eax
jne 0x40e23d
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0xa1], bl
je 0x40ddc0
lea eax, [ebp - 3]
lea edi, [esi + 0xa4]
push eax
push edi
mov ecx, esi
mov byte [ebp - 3], bl
call fcn.0040dbfe
mov byte [ebp - 1], al
mov eax, dword [ebp + 8]
lea edx, [ebp - 8]
mov dword [ebp - 8], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x18]
cmp byte [ebp - 1], bl
jne 0x40ddc0
cmp byte [ebp - 3], bl
je 0x40ddb7
push dword [ebp - 8]
mov ecx, esi
mov byte [ebp - 3], bl
call fcn.0040da48
cmp al, bl
mov byte [ebp - 1], al
je 0x40dd88
lea eax, [ebp - 3]
mov ecx, esi
push eax
push edi
call fcn.0040dbfe
mov byte [ebp - 1], al
jmp 0x40dd88
cmp byte [ebp - 1], bl
je 0x40df18
lea ecx, [ebp - 0x2c4]
call fcn.0040429e
mov ecx, 0x208
xor eax, eax
lea edi, [ebp - 0xd33]
mov byte [ebp - 0xd34], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x10
xor eax, eax
cmp byte [esi + 0xa1], bl
pop ecx
lea edi, [ebp - 0x304]
mov dword [ebp - 0x308], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
jne 0x40df96
lea eax, [ebp - 0x40c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0xdc]
push eax
call fcn.00411820
mov edi, eax
mov ecx, edi
call fcn.004024bf
lea eax, [ebp - 0x510]
push eax
push ebx
push dword [edi + 4]
lea eax, [ebp - 0x40c]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea ecx, [ebp - 0xdc]
call fcn.00401925
lea eax, [ebp - 0x510]
lea ecx, [ebp - 0x34]
push eax
call fcn.00406853
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0x34]
push eax
call fcn.00411820
mov edi, eax
mov ecx, edi
call fcn.004024bf
push dword [edi + 4]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x40c]
push eax
call edi
lea ecx, [ebp - 0xb4]
call fcn.00401925
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x104]
push eax
call fcn.00411896
mov ecx, eax
mov dword [ebp - 0xc], ecx
call fcn.004024bf
mov eax, dword [ebp - 0xc]
push dword [eax + 4]
lea eax, [ebp - 0x40c]
push eax
call edi
lea ecx, [ebp - 0x104]
call fcn.00401925
lea edi, [esi + 0x288]
lea eax, [ebp - 0x40c]
push eax
mov ecx, edi
call fcn.00406853
push eax
lea ecx, [ebp - 0x34]
call fcn.00405900
lea eax, [ebp - 2]
mov ecx, esi
push eax
push edi
mov byte [ebp - 2], bl
call fcn.0040dbfe
cmp al, bl
jne 0x40df4f
cmp byte [ebp - 2], bl
jne 0x40dee9
cmp al, bl
jne 0x40df4f
lea ecx, [ebp - 0x48]
call fcn.0040e3ff
lea ecx, [ebp - 0x2c4]
call fcn.00404415
lea eax, [ebp - 0x8c]
push 0x40
push eax
mov eax, dword [ebp - 0x4c]
add eax, 0xec
push eax
call fcn.00419570
add esp, 0xc
lea ecx, [ebp - 0x1e4]
call fcn.00404415
lea ecx, [ebp - 0x34]
call fcn.00401925
mov eax, 0x80042000
jmp 0x40e321
lea ecx, [ebp - 0x34]
call fcn.004024bf
push dword [ebp - 0x30]
lea eax, [ebp - 0x510]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x40dfb9
call edi
test eax, eax
jg 0x40df7b
call edi
jmp 0x40df87
call edi
and eax, 0xffff
or eax, 0x80070000
push 0x11a
push eax
mov ecx, esi
call fcn.00410b78
jmp 0x40dfb9
lea edi, [esi + 0x288]
lea eax, [esi + 0xa4]
push eax
mov ecx, edi
call fcn.00405900
push edi
lea ecx, [ebp - 0x34]
call fcn.00405900
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push str.http:__
push 7
lea ecx, [esi + 8]
push ebx
call fcn.00401fa3
test eax, eax
je 0x40dfe3
push ebx
push str.ftp:__
push 6
push ebx
lea ecx, [esi + 8]
call fcn.00401fa3
test eax, eax
jne 0x40e003
lea ecx, [esi + 8]
call fcn.004024bf
push dword [esi + 0xc]
lea eax, [ebp - 0xd34]
push str.Referer:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0xd34]
push eax
sub esp, 0x1c
mov ecx, esp
push 1
push dword [ebp + 0xc]
call fcn.00406822
lea ecx, [ebp - 0x2c4]
call fcn.004042f3
test al, al
jne 0x40e04b
call edi
test eax, eax
jg 0x40e032
call edi
jmp 0x40e03e
call edi
and eax, 0xffff
or eax, 0x80070000
push 0x12d
push eax
mov ecx, esi
call fcn.00410b78
lea ecx, [ebp - 0x2c4]
call fcn.004043df
mov edi, eax
cmp edi, ebx
ja 0x40e06d
push 0x135
push 0x8004d554
mov ecx, esi
call fcn.00410b78
push 0x138
push edi
push dword [ebp + 8]
mov ecx, esi
call fcn.0040d9c8
push eax
mov ecx, esi
call fcn.00410b78
sub esp, 0x1c
lea eax, [ebp - 0x34]
mov edi, esp
push ebx
push eax
mov ecx, edi
mov dword [edi + 0xc], 0x41b414
mov dword [edi + 0x14], 0x41b40c
call fcn.00402214
lea ecx, [ebp - 0x1e4]
mov dword [edi], 0x41b408
call fcn.0040e32e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x40e0e2
call edi
test eax, eax
jg 0x40e0c9
call edi
jmp 0x40e0d5
call edi
and eax, 0xffff
or eax, 0x80070000
push 0x13d
push eax
mov ecx, esi
call fcn.00410b78
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], ebx
mov dword [eax], ebx
lea eax, [ebp - 0x8264]
push 0x7530
push eax
lea ecx, [ebp - 0x2c4]
call fcn.0040c114
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x40e204
cmp eax, 0xffffffff
jne 0x40e140
call edi
test eax, eax
jg 0x40e127
call edi
jmp 0x40e133
call edi
and eax, 0xffff
or eax, 0x80070000
push 0x149
push eax
mov ecx, esi
call fcn.00410b78
lea eax, [ebp - 0x38]
push ebx
push eax
lea eax, [ebp - 0x8264]
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40e164
mov eax, dword [ebp - 0x38]
jmp 0x40e167
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x40e18f
call edi
test eax, eax
jg 0x40e176
call edi
jmp 0x40e182
call edi
and eax, 0xffff
or eax, 0x80070000
push 0x14c
push eax
mov ecx, esi
call fcn.00410b78
mov eax, dword [esi + 0x258]
push 0x14e
push dword [ebp - 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x84]
push eax
mov ecx, esi
call fcn.00410b78
mov eax, dword [ebp - 0x10]
add dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0xc]
cmp ecx, 0x3e8
jbe 0x40e0f6
mov dword [ebp - 0xc], eax
sub eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, 0x3e8
div ecx
xor edx, edx
push 0x157
mov ecx, eax
mov eax, dword [ebp - 8]
div ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x14]
push eax
mov ecx, esi
call fcn.00410b78
jmp 0x40e0f6
lea ecx, [ebp - 0x1e4]
call fcn.0040e3d4
mov eax, dword [ebp + 8]
push 0x15d
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov ecx, esi
call fcn.00410b78
lea ecx, [ebp - 0x48]
call fcn.0040e3ff
lea ecx, [ebp - 0x2c4]
call fcn.00404415
jmp 0x40e2f2
cmp dword [ebp - 0x24], ebx
jne 0x40e246
xor eax, eax
jmp 0x40e24f
push dword [ebp - 0x24]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
je 0x40e2b9
lea ecx, [ebp - 0x1e4]
call fcn.0040e3d4
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x24]
cmp eax, ebx
mov dword [ebp - 0x14], eax
jne 0x40e26f
xor esi, esi
jmp 0x40e29b
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.00419430
mov esi, esp
push ebx
push ebx
push edi
push esi
push 0xffffffffffffffff
push dword [ebp - 0x14]
mov byte [esi], bl
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x40e2b9
cmp dword [ebp - 8], 0x64
jge 0x40e2b9
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 8]
jmp 0x40e261
mov edi, dword [ebp - 0xc]
cmp edi, 0x80042001
je 0x40e2f0
cmp edi, 0x80042000
je 0x40e2f0
mov esi, dword [ebp - 0x18]
push 0x174
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
mov eax, dword [esi + 0x284]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push eax
mov ecx, esi
call fcn.00410b78
mov ebx, edi
lea eax, [ebp - 0x8c]
push 0x40
push eax
mov eax, dword [ebp - 0x4c]
add eax, 0xec
push eax
call fcn.00419570
add esp, 0xc
lea ecx, [ebp - 0x1e4]
call fcn.00404415
lea ecx, [ebp - 0x34]
call fcn.00401925
mov eax, ebx
lea esp, [ebp - 0x8270]
pop edi
pop esi
pop ebx
leave
ret 0xc