Function at 0x41c8c0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x525c76
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1c7c
call fcn.004fe1a0
mov eax, dword [0x5a4aa8]
xor eax, esp
mov dword [esp + 0x1c78], eax
push ebx
push esi
push edi
mov eax, dword [0x5a4aa8]
xor eax, esp
push eax
lea eax, [esp + 0x1c90]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
mov edi, edx
lea esi, [esp + 0x64]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], eax
call fcn.00419c90
xor esi, esi
mov dword [esp + 0x48], vtable.CArray_wchar_t___wchar_t__.0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x1c98], esi
cmp edi, esi
je 0x41c965
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41c965
mov eax, dword [ebx + 0x818]
push eax
push esi
push 0x7ea
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x818]
cmp eax, esi
mov dword [esp + 0x14], esi
jle 0x41cec5
mov esi, dword [esp + 0x30]
test esi, esi
je 0x41c989
mov eax, dword [esi]
test eax, eax
jne 0x41cf1e
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0x810
test edi, edi
mov dword [esp + 0x34], esi
jl 0x41cf43
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
lea ebx, [edi*4]
add eax, ebx
cmp dword [eax], 0
je 0x41ce91
push 0x800
lea ecx, [esp + 0x68]
push 0
push ecx
call fcn.004fd670
add esp, 0xc
push 0x800
lea edx, [esp + 0x868]
push 0
push edx
call fcn.004fd670
add esp, 0xc
push 0x200
lea eax, [esp + 0x1068]
push 0
push eax
call fcn.004fd670
add esp, 0xc
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, ebx
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x68]
push 0x400
push ecx
call fcn.004fa94e
add esp, 0xc
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, ebx
mov eax, dword [eax]
add eax, 0x800
push eax
lea edx, [esp + 0x868]
push 0x400
push edx
call fcn.004fa94e
add esp, 0xc
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, ebx
mov eax, dword [eax]
add eax, 0x1000
push eax
lea eax, [esp + 0x1068]
push pe_nt_image_headers32
push eax
call fcn.004fa94e
add esp, 0xc
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
mov ecx, dword [eax + ebx]
add eax, ebx
cmp dword [ecx + 0x1200], 0
je 0x41caa2
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
jmp 0x41caaa
mov dword [esp + 0x1c], 0
cmp edi, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, ebx
cmp edi, dword [esi + 8]
mov dword [esp + 0x24], eax
jge 0x41cf43
mov edx, dword [esi + 4]
add edx, ebx
cmp edi, dword [esi + 8]
jge 0x41cf43
mov ecx, dword [esi + 4]
add ecx, ebx
cmp edi, dword [esi + 8]
jge 0x41cf43
mov edi, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov edx, dword [edx]
add edi, edi
add edi, edi
add eax, edi
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx edi, byte [edi + 0x1214]
cmp dword [edx + 0x1208], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
push edi
mov edi, dword [ecx]
push edx
setne bl
push 1
add edi, 0x800
call fcn.0049bd40
add esp, 0xc
cmp eax, 0x15
jne 0x41cb6f
mov edi, dword [esp + 0x14]
cmp edi, dword [esi + 8]
jge 0x41cf43
mov esi, dword [esi + 4]
lea eax, [edi*4]
add esi, eax
mov eax, dword [esi]
push eax
push edi
push str.Copy_Stop_Files_:___d_____s_
mov ecx, 0x649e50
call fcn.004918f0
mov eax, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x41cb63
mov dword [eax], 1
sub edi, 1
mov dword [esp + 0x14], edi
jmp 0x41ce5e
test eax, eax
jne 0x41ce5e
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
lea edi, [ebx*4]
mov ecx, dword [eax + edi]
add eax, edi
cmp dword [ecx + 0x120c], 0
je 0x41ce62
xor eax, eax
push 0x800
push eax
lea edx, [esp + 0x148c]
push edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
call fcn.004fd670
add esp, 0xc
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, edi
mov eax, dword [eax]
add eax, 0x800
push 0x3ff
push eax
lea eax, [esp + 0x148c]
push 0x400
push eax
call fcn.004fa71b
add esp, 0x10
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi]
add eax, edi
cmp dword [ecx + 0x1210], 0
je 0x41cc16
push 0x2e
lea edx, [esp + 0x1488]
push edx
jmp 0x41cc20
push 0x5c
lea eax, [esp + 0x1488]
push eax
call fcn.004fa6eb
add esp, 8
test eax, eax
je 0x41cc31
mov word [eax], 0
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
add eax, edi
mov eax, dword [eax]
add eax, 0x800
push 0x2e
push eax
call fcn.004fa6eb
add esp, 8
test eax, eax
je 0x41ce62
push str..zip
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x41ce62
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
mov edx, dword [eax + edi]
add eax, edi
lea ecx, [esp + 0x1484]
push ecx
add edx, 0x800
push edx
push str.Extract_file___s__to___s_
mov ecx, 0x649e50
call fcn.004918f0
add esp, 0xc
cmp dword [esp + 0x126c], 0
je 0x41ccd2
cmp byte [0x64a078], 0
je 0x41ccd2
mov eax, dword [0x64a070]
test eax, eax
je 0x41ccca
lea ecx, [esp + 0x24]
push ecx
call eax
mov dword [esp + 0x1c], eax
jmp 0x41ccd2
mov dword [esp + 0x1c], 0
cmp ebx, dword [esi + 8]
jge 0x41cf43
mov eax, dword [esi + 4]
mov edx, dword [eax + edi]
add eax, edi
cmp dword [edx + 0x1200], 0
je 0x41ce0b
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov byte [esp + 0x1c98], 1
mov eax, ebx
mov ecx, esi
call fcn.0047e010
mov esi, dword [eax]
add esi, 0x800
lea ecx, [esp + 0x38]
lea edi, [esp + 0x1484]
call fcn.004a5510
test al, al
mov ecx, 0x649e50
je 0x41cdeb
push str.__Success
call fcn.004918f0
add esp, 4
lea esi, [esp + 0x28]
lea edi, [esp + 0x38]
call fcn.004bddd0
mov edi, edi
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x3c], eax
mov esi, eax
jbe 0x41cd61
call fcn.004f9d7d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41cd71
lea ecx, [esp + 0x38]
cmp eax, ecx
je 0x41cd76
call fcn.004f9d7d
cmp dword [esp + 0x2c], esi
je 0x41cdf8
lea esi, [esp + 0x28]
call fcn.00416670
cmp byte [eax + 0x800], 0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
je 0x41cdae
call fcn.0047e010
mov edx, dword [eax]
cmp dword [edx + 0x1208], 0
push 1
setne al
push eax
push 1
jmp 0x41cdc4
call fcn.0047e010
mov edx, dword [eax]
cmp dword [edx + 0x1208], 0
push 1
setne al
push eax
push 0
lea esi, [esp + 0x34]
call fcn.00416670
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov edx, eax
call fcn.0049dc10
add esp, 0xc
lea edi, [esp + 0x5c]
call fcn.00416710
jmp 0x41cd50
push str.__Fail
call fcn.004918f0
add esp, 4
mov byte [esp + 0x1c98], 0
lea esi, [esp + 0x38]
call fcn.004166e0
jmp 0x41ce47
mov eax, ebx
mov ecx, esi
call fcn.0047e010
mov esi, dword [eax]
add esi, 0x800
xor ecx, ecx
lea edi, [esp + 0x1484]
call fcn.004a5510
test al, al
mov ecx, 0x649e50
je 0x41ce3a
push str.__Success
jmp 0x41ce3f
push str.__Fail
call fcn.004918f0
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x41ce5e
mov eax, dword [0x64a074]
test eax, eax
je 0x41ce5e
mov edx, dword [esp + 0x24]
push edx
call eax
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x20], 0
je 0x41cea8
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41cea8
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x64]
push ecx
push 1
push 0x7ea
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x41cea8
push edi
push str.Invalid_Copy_File_Information_______d__in_CCopyFile::CopyAllFiles
mov ecx, 0x649e50
call fcn.004918f0
add esp, 8
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ebx, 1
cmp ebx, dword [eax + 0x818]
mov dword [esp + 0x14], ebx
jl 0x41c977
mov edi, dword [esp + 0x20]
xor esi, esi
cmp edi, esi
je 0x41cee3
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41cee3
push esi
push 2
push 0x7ea
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x1c98], 0xffffffff
mov al, 1
mov dword [esp + 0x48], vtable.CArray_wchar_t___wchar_t__.0
mov ecx, dword [esp + 0x1c90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c78]
xor ecx, esp
call fcn.004fa103
mov esp, ebp
pop ebp
ret 4
cmp eax, 2
je 0x41cf48
cmp eax, 1
jne 0x41cea4
sub dword [esp + 0x14], eax
cmp dword [esi], 1
jne 0x41cea4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41cf30
call fcn.004e2c34
mov esi, dword [esp + 0x20]
test esi, esi
je 0x41cf6b
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41cf6b
push 0
push 3
push 0x7ea
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push str.Installing
push edx
call fcn.0049bcd0
add esp, 8
test esi, esi
je 0x41cf9e
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41cf9e
push 0
push 5
push 0x7ea
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x1c98], 0xffffffff
xor al, al
jmp 0x41cef0