Function at 0x411030
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f106
mov eax, dword fs:[0]
push eax
sub esp, 0xb8c
mov eax, dword [0x62bcc0]
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 [0x616758]
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.00501660
mov eax, dword [0x61674c]
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.00501660
mov eax, dword [0x61677c]
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.00501660
add esp, 0xc
lea ecx, [ebp - 0xb80]
call fcn.0042f800
lea ecx, [ebp - 0xb98]
mov dword [ebp - 4], 0
call fcn.0042f800
lea ecx, [ebp - 0xb48]
mov byte [ebp - 4], 1
call fcn.00407220
xor edx, edx
mov byte [ebp - 4], 2
mov ecx, str.Generating_cloud_map
call fcn.00417650
mov ecx, dword [0x635538]
test ecx, ecx
jne 0x41114a
imul eax, dword [0x635530], 0x104
lea eax, [ebp + eax - 0x530]
jmp 0x41114f
mov eax, str.Clouds.net
push eax
test ecx, ecx
mov edx, 0x911734
mov eax, 0x911ff9
cmovne eax, edx
push eax
push str._s_s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c20
add esp, 0x14
lea edx, [ebp - 0xb48]
lea ecx, [ebp - 0x118]
call fcn.00410a90
mov esi, eax
cmp esi, 0xc
jne 0x4111d5
imul eax, dword [0x635530], 0x104
lea ecx, [ebp - 0x530]
add eax, ecx
push eax
push 0x911ff9
push str._s_s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c20
add esp, 0x14
lea edx, [ebp - 0xb48]
lea ecx, [ebp - 0x118]
call fcn.00410a90
mov esi, eax
test esi, esi
jne 0x4115bd
mov eax, dword [0x635534]
test eax, eax
je 0x4112ce
movaps xmm0, xmmword [0x618480]
lea eax, [eax + eax*4]
movups xmmword [ebp - 0x610], xmm0
lea ecx, [ebp - 0xb48]
movaps xmm0, xmmword [0x618440]
movups xmmword [ebp - 0x600], xmm0
push esi
movaps xmm0, xmmword [0x6184b0]
movups xmm1, xmmword [0x618450]
movups xmmword [ebp - 0x5f0], xmm0
movaps xmm0, xmmword [0x6183a0]
movups xmmword [ebp - 0x5e0], xmm0
movaps xmm0, xmmword [0x618470]
movups xmmword [ebp - 0x5c0], xmm0
movaps xmm0, xmmword [0x618430]
movups xmmword [ebp - 0x5b0], xmm0
movaps xmm0, xmmword [0x6184a0]
movups xmmword [ebp - 0x5a0], xmm0
movaps xmm0, xmmword [0x618390]
movups xmmword [ebp - 0x590], xmm0
movaps xmm0, xmmword [0x618460]
movups xmmword [ebp - 0x570], xmm0
movaps xmm0, xmmword [0x618420]
movups xmmword [ebp - 0x560], xmm0
movaps xmm0, xmmword [0x618490]
movups xmmword [ebp - 0x550], xmm0
movaps xmm0, xmmword [0x618380]
movups xmmword [ebp - 0x620], xmm1
movups xmmword [ebp - 0x5d0], xmm1
movups xmmword [ebp - 0x580], xmm1
movups xmmword [ebp - 0x540], xmm0
push dword [ebp + eax*8 - 0x624]
lea eax, [ebp + eax*8 - 0x648]
push 3
push eax
call fcn.00484d60
push 0x6167a4
push 0x6167a8
push 0x911734
push str._s_s._s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c20
push 0x6167a8
push 0x911734
push str._s_s.tmp
lea eax, [ebp - 0x220]
push 0x104
push eax
call fcn.00407c20
add esp, 0x2c
mov dword [ebp - 0xb54], 3
lea ecx, [ebp - 0xb48]
call fcn.00486490
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.0042f880
test eax, eax
je 0x411369
mov esi, 7
jmp 0x4115bd
mov ecx, dword [ebp - 0xb4c]
xor edi, edi
test ecx, ecx
jle 0x4113e3
xor ebx, ebx
cmp dword [0x91f520], 0
je 0x411394
mov eax, ebx
cdq
idiv ecx
xor ecx, ecx
mov edx, eax
call fcn.00417650
mov ecx, dword [ebp - 0xb4c]
xor esi, esi
cmp dword [ebp - 0xb50], esi
jle 0x4113db
nop
sub ecx, edi
dec ecx
push ecx
push esi
lea ecx, [ebp - 0xb48]
call fcn.00485c30
push 0
mov byte [ebp - 0xb55], al
lea ecx, [ebp - 0xb80]
push 1
lea eax, [ebp - 0xb55]
push eax
call fcn.0042fa40
mov ecx, dword [ebp - 0xb4c]
inc esi
cmp esi, dword [ebp - 0xb50]
jl 0x4113a0
inc edi
add ebx, 0x64
cmp edi, ecx
jl 0x411377
push 0
push 0xc
lea eax, [ebp - 0xb54]
push eax
lea ecx, [ebp - 0xb80]
call fcn.0042fa40
test eax, eax
je 0x411407
mov esi, 9
jmp 0x4115bd
lea ecx, [ebp - 0xb80]
call fcn.0042f9b0
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 0x411458
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x3c
jge 0x411458
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 0x411435
push 0
push 0
push 0
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0xb80]
call fcn.0042f880
push 0x6167c8
push 0x6167a8
push 0x911734
push str._s_s._s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00407c20
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.0042f880
mov esi, eax
mov dword [ebp - 0xb5c], esi
test esi, esi
je 0x4114e7
mov esi, 0xa
jmp 0x4115bd
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 0x41159d
nop dword [eax]
xor esi, esi
test eax, eax
jle 0x411592
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.0042fa40
test eax, eax
jne 0x411693
mov eax, dword [ebp - 0x628]
inc esi
movsd xmm1, qword [ebp - 0xb68]
cmp esi, eax
jl 0x411540
mov ecx, dword [ebp - 0x624]
inc ebx
cmp ebx, ecx
jl 0x411520
mov esi, dword [ebp - 0xb5c]
push 0
push 0xc
lea eax, [ebp - 0x62c]
push eax
lea ecx, [ebp - 0xb98]
call fcn.0042fa40
test eax, eax
mov ecx, 0xb
cmovne esi, ecx
lea ecx, [ebp - 0xb80]
call fcn.0042f9b0
lea ecx, [ebp - 0xb98]
call fcn.0042f9b0
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.00417650
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 0x411631
cmp byte [ebp - 0x634], 0
jne 0x411631
push eax
call fcn.00504903
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.00489220
lea ecx, [ebp - 0xb48]
call fcn.00489160
lea ecx, [ebp - 0xb98]
call fcn.0042f830
lea ecx, [ebp - 0xb80]
call fcn.0042f830
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.004ff23c
mov esp, ebp
pop ebp
ret
mov esi, 0xb
jmp 0x4115bd