Function at 0x410d80
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59e656
mov eax, dword fs:[0]
push eax
sub esp, 0xb8c
mov eax, dword [0x62acc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x615688]
movq xmm0, qword [str.CloudsL.int]
push 0xf8
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x524]
push 0
push eax
movq qword [ebp - 0x530], xmm0
call fcn.00500bb0
mov eax, dword [0x61567c]
add esp, 0xc
movq xmm0, qword [str.CloudsM.int]
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x420]
movq qword [ebp - 0x42c], xmm0
push 0xf8
push 0
push eax
call fcn.00500bb0
mov eax, dword [0x6156ac]
add esp, 0xc
movq xmm0, qword [str.CloudsH.int]
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x31c]
movq qword [ebp - 0x328], xmm0
push 0xf8
push 0
push eax
call fcn.00500bb0
add esp, 0xc
lea ecx, [ebp - 0xb80]
call fcn.0042f5c0
lea ecx, [ebp - 0xb98]
mov dword [ebp - 4], 0
call fcn.0042f5c0
lea ecx, [ebp - 0xb48]
mov byte [ebp - 4], 1
call fcn.00407270
xor edx, edx
mov byte [ebp - 4], 2
mov ecx, str.Generating_cloud_map
call fcn.00417380
mov ecx, dword [0x634538]
test ecx, ecx
jne 0x410e9a
imul eax, dword [0x634530], 0x104
lea eax, [ebp + eax - 0x530]
jmp 0x410e9f
mov eax, str.Clouds.net
push eax
test ecx, ecx
mov edx, 0x910534
mov eax, 0x910df9
cmovne eax, edx
push eax
push str._s_s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea edx, [ebp - 0xb48]
lea ecx, [ebp - 0x118]
call fcn.004107c0
mov esi, eax
cmp esi, 0xc
jne 0x410f25
imul eax, dword [0x634530], 0x104
lea ecx, [ebp - 0x530]
add eax, ecx
push eax
push 0x910df9
push str._s_s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea edx, [ebp - 0xb48]
lea ecx, [ebp - 0x118]
call fcn.004107c0
mov esi, eax
test esi, esi
jne 0x41131d
mov eax, dword [0x634534]
test eax, eax
je 0x41102c
movaps xmm0, xmmword [0x617380]
lea eax, [eax + eax*4]
movups xmmword [ebp - 0x620], xmm0
lea ecx, [ebp - 0xb48]
movaps xmm0, xmmword [0x6173b0]
movups xmmword [ebp - 0x610], xmm0
push esi
movaps xmm0, xmmword [0x617370]
movups xmmword [ebp - 0x600], xmm0
movaps xmm0, xmmword [0x6173e0]
movups xmmword [ebp - 0x5f0], xmm0
movaps xmm0, xmmword [0x6172d0]
movups xmmword [ebp - 0x5e0], xmm0
movaps xmm0, xmmword [0x617380]
movups xmmword [ebp - 0x5d0], xmm0
movaps xmm0, xmmword [0x6173a0]
movups xmmword [ebp - 0x5c0], xmm0
movaps xmm0, xmmword [0x617360]
movups xmmword [ebp - 0x5b0], xmm0
movaps xmm0, xmmword [0x6173d0]
movups xmmword [ebp - 0x5a0], xmm0
movaps xmm0, xmmword [0x6172c0]
movups xmmword [ebp - 0x590], xmm0
movaps xmm0, xmmword [0x617380]
movups xmmword [ebp - 0x580], xmm0
movaps xmm0, xmmword [0x617390]
movups xmmword [ebp - 0x570], xmm0
movaps xmm0, xmmword [0x617350]
movups xmmword [ebp - 0x560], xmm0
movaps xmm0, xmmword [0x6173c0]
movups xmmword [ebp - 0x550], xmm0
movaps xmm0, xmmword [0x6172b0]
movups xmmword [ebp - 0x540], xmm0
push dword [ebp + eax*8 - 0x624]
lea eax, [ebp + eax*8 - 0x648]
push 3
push eax
call fcn.00484400
push 0x6156d4
push 0x6156d8
push 0x910534
push str._s_s._s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c70
push 0x6156d8
push 0x910534
push str._s_s.tmp
lea eax, [ebp - 0x220]
push 0x104
push eax
call fcn.00407c70
add esp, 0x2c
mov dword [ebp - 0xb54], 3
lea ecx, [ebp - 0xb48]
call fcn.00485b30
mov ecx, eax
cdq
sub eax, edx
mov dword [ebp - 0xb50], ecx
sar eax, 1
mov dword [ebp - 0xb4c], eax
imul eax, ecx
lea ecx, [ebp - 0xb80]
push 0
add eax, 0xc
push eax
push 1
lea eax, [ebp - 0x220]
push eax
call fcn.0042f640
test eax, eax
je 0x4110c7
mov esi, 7
jmp 0x41131d
mov ecx, dword [ebp - 0xb4c]
xor edi, edi
test ecx, ecx
jle 0x411143
xor ebx, ebx
cmp dword [0x91e220], 0
je 0x4110f2
mov eax, ebx
cdq
idiv ecx
xor ecx, ecx
mov edx, eax
call fcn.00417380
mov ecx, dword [ebp - 0xb4c]
xor esi, esi
cmp dword [ebp - 0xb50], esi
jle 0x41113b
nop dword [eax]
sub ecx, edi
dec ecx
push ecx
push esi
lea ecx, [ebp - 0xb48]
call fcn.004852d0
push 0
mov byte [ebp - 0xb55], al
lea ecx, [ebp - 0xb80]
push 1
lea eax, [ebp - 0xb55]
push eax
call fcn.0042f800
mov ecx, dword [ebp - 0xb4c]
inc esi
cmp esi, dword [ebp - 0xb50]
jl 0x411100
inc edi
add ebx, 0x64
cmp edi, ecx
jl 0x4110d5
push 0
push 0xc
lea eax, [ebp - 0xb54]
push eax
lea ecx, [ebp - 0xb80]
call fcn.0042f800
test eax, eax
je 0x411167
mov esi, 9
jmp 0x41131d
lea ecx, [ebp - 0xb80]
call fcn.0042f770
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x118]
xor esi, esi
push esi
push eax
lea eax, [ebp - 0x220]
push eax
call edi
test eax, eax
jne 0x4111b8
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x3c
jge 0x4111b8
push 0x3e8
call ebx
push 0
lea eax, [ebp - 0x118]
inc esi
push eax
lea eax, [ebp - 0x220]
push eax
call edi
test eax, eax
je 0x411195
push 0
push 0
push 0
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0xb80]
call fcn.0042f640
push 0x6156f8
push 0x6156d8
push 0x910534
push str._s_s._s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
mov dword [ebp - 0x62c], 3
lea eax, [ebp - 0x118]
mov dword [ebp - 0x628], 0x12c
lea ecx, [ebp - 0xb98]
mov dword [ebp - 0x624], 0x96
push 0
push 0xafd4
push 1
push eax
call fcn.0042f640
mov esi, eax
mov dword [ebp - 0xb5c], esi
test esi, esi
je 0x411247
mov esi, 0xa
jmp 0x41131d
mov eax, dword [ebp - 0x628]
xor ebx, ebx
movd xmm1, dword [ebp - 0xb50]
cvtdq2pd xmm1, xmm1
mov ecx, dword [ebp - 0x624]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0xb68], xmm1
test ecx, ecx
jle 0x4112fd
nop dword [eax]
xor esi, esi
test eax, eax
jle 0x4112f2
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si edi, xmm0
nop word [eax + eax]
movd xmm0, esi
mov ecx, edi
imul ecx, dword [ebp - 0xb50]
cvtdq2pd xmm0, xmm0
push 0
push 1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0xb80]
add ecx, eax
push ecx
lea ecx, [ebp - 0xb98]
call fcn.0042f800
test eax, eax
jne 0x4113f3
mov eax, dword [ebp - 0x628]
inc esi
movsd xmm1, qword [ebp - 0xb68]
cmp esi, eax
jl 0x4112a0
mov ecx, dword [ebp - 0x624]
inc ebx
cmp ebx, ecx
jl 0x411280
mov esi, dword [ebp - 0xb5c]
push 0
push 0xc
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebp - 0xb98]
call fcn.0042f800
test eax, eax
mov ecx, 0xb
cmovne esi, ecx
lea ecx, [ebp - 0xb80]
call fcn.0042f770
lea ecx, [ebp - 0xb98]
call fcn.0042f770
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, str.Update_failed
test esi, esi
mov ecx, str.Update_complete
cmovne ecx, eax
or edx, 0xffffffff
call fcn.00417380
mov eax, dword [ebp - 0x640]
mov dword [ebp - method.CImage.virtual_0], vtable.CImage.0
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x638], 0
test eax, eax
je 0x411391
cmp byte [ebp - 0x634], 0
jne 0x411391
push eax
call fcn.00503e53
add esp, 4
mov dword [ebp - 0x640], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb48]
mov dword [ebp - method.CxImage.virtual_0], vtable.CxImage.0
call fcn.004888c0
lea ecx, [ebp - 0xb48]
call fcn.00488800
lea ecx, [ebp - 0xb98]
call fcn.0042f5f0
lea ecx, [ebp - 0xb80]
call fcn.0042f5f0
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 - 0x10]
xor ecx, ebp
call fcn.004fe8dc
mov esp, ebp
pop ebp
ret
mov esi, 0xb
jmp 0x41131d