Function at 0x4117f0
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
mov eax, dword [0x42a0d0]
sub esp, 0x210
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
jne 0x411c4c
push ebp
push edi
mov edi, dword [esp + 0x224]
cmp edi, ebx
je 0x411818
cmp byte [edi], bl
jne 0x411871
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0x104
push ecx
push str.SoftwareKasperskyLabSharedFiles
push SysStringLen
mov byte [esp + 0x128], bl
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x41186a
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
lea eax, [esp + 0x11c]
push edx
push eax
push ebx
push ebx
push str.Folder
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edi, [esp + 0x11c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x18]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x18]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x17], 0x5c
je 0x4118d5
mov edi, 0x4256d0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.CCClient.dll
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x18]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call esi
pop edi
cmp eax, ebx
mov dword [0x42a0d0], eax
pop ebp
jne 0x41192f
push str.CCClient.dll
call esi
cmp eax, ebx
mov dword [0x42a0d0], eax
je 0x411c4c
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CCClientSendStatusEx
push eax
call esi
mov ecx, dword [0x42a0d0]
push str.CCClientUpdateSettings
push ecx
mov dword [0x42a0f4], eax
call esi
mov edx, dword [0x42a0d0]
push str.CCClientInit
push edx
mov dword [0x42a0ec], eax
call esi
cmp eax, ebx
mov dword [0x42a0d4], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientInitEx
push eax
call esi
cmp eax, ebx
mov dword [0x42a0d8], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientDone
push ecx
call esi
cmp eax, ebx
mov dword [0x42a0dc], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIsComponentWorksWithCC
push edx
call esi
cmp eax, ebx
mov dword [0x42a0e0], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientGetTaskName
push eax
call esi
cmp eax, ebx
mov dword [0x42a0e4], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientRegisterClientCallback
push ecx
call esi
cmp eax, ebx
mov dword [0x42a0e8], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientRecvDataFromCC
push edx
call esi
cmp eax, ebx
mov dword [0x42a110], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientSendDataToCC
push eax
call esi
cmp eax, ebx
mov dword [0x42a114], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientSendStatus
push ecx
call esi
cmp eax, ebx
mov dword [0x42a0f0], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientSendAlert
push edx
call esi
cmp eax, ebx
mov dword [0x42a0f8], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientSendStatistics
push eax
call esi
cmp eax, ebx
mov dword [0x42a0fc], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientWriteReportStr
push ecx
call esi
cmp eax, ebx
mov dword [0x42a10c], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientSendEvent
push edx
call esi
cmp eax, ebx
mov dword [0x42a100], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientSendCustomCommand
push eax
call esi
cmp eax, ebx
mov dword [0x42a104], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientNeedRestart
push ecx
call esi
cmp eax, ebx
mov dword [0x42a108], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIOLockFolder
push edx
call esi
cmp eax, ebx
mov dword [0x42a118], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientIOUnLockFolder
push eax
call esi
cmp eax, ebx
mov dword [0x42a11c], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientIOCreateDirectory
push ecx
call esi
cmp eax, ebx
mov dword [0x42a120], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIOAccess
push edx
call esi
cmp eax, ebx
mov dword [0x42a124], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientIOGetFileSize
push eax
call esi
cmp eax, ebx
mov dword [0x42a128], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientIOCreateFile
push ecx
call esi
cmp eax, ebx
mov dword [0x42a12c], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIOSetFilePointer
push edx
call esi
cmp eax, ebx
mov dword [0x42a130], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientIOWriteFile
push eax
call esi
cmp eax, ebx
mov dword [0x42a134], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientIOReadFile
push ecx
call esi
cmp eax, ebx
mov dword [0x42a138], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIOCloseHandle
push edx
call esi
cmp eax, ebx
mov dword [0x42a13c], eax
je 0x411c3a
mov eax, dword [0x42a0d0]
push str.CCClientIOFindFirstFile
push eax
call esi
cmp eax, ebx
mov dword [0x42a140], eax
je 0x411c3a
mov ecx, dword [0x42a0d0]
push str.CCClientIOFindNextFile
push ecx
call esi
cmp eax, ebx
mov dword [0x42a144], eax
je 0x411c3a
mov edx, dword [0x42a0d0]
push str.CCClientIOFindClose
push edx
call esi
cmp eax, ebx
mov dword [0x42a148], eax
je 0x411c3a
pop esi
mov eax, 1
pop ebx
add esp, 0x210
ret
mov eax, dword [0x42a0d0]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x42a0d0], ebx
mov dword [0x42a0d4], ebx
mov dword [0x42a0dc], ebx
mov dword [0x42a0e0], ebx
mov dword [0x42a0e4], ebx
mov dword [0x42a0e8], ebx
mov dword [0x42a0f0], ebx
mov dword [0x42a0f4], ebx
mov dword [0x42a0f8], ebx
mov dword [0x42a0fc], ebx
mov dword [0x42a100], ebx
mov dword [0x42a10c], ebx
mov dword [0x42a110], ebx
mov dword [0x42a114], ebx
mov dword [0x42a118], ebx
mov dword [0x42a11c], ebx
mov dword [0x42a120], ebx
mov dword [0x42a124], ebx
mov dword [0x42a128], ebx
mov dword [0x42a12c], ebx
mov dword [0x42a130], ebx
mov dword [0x42a134], ebx
mov dword [0x42a138], ebx
mov dword [0x42a13c], ebx
mov dword [0x42a140], ebx
mov dword [0x42a144], ebx
mov dword [0x42a148], ebx
mov dword [0x42a108], ebx
mov dword [0x42a104], ebx
mov dword [0x42a0d8], ebx
mov dword [0x42a0ec], ebx
pop esi
xor eax, eax
pop ebx
add esp, 0x210
ret