Function at 0x41a0c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ec17
mov eax, dword fs:[0]
push eax
sub esp, 0x388
mov eax, dword [0x4411c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x19c], 0
push 0x104
push 0
lea eax, [ebp - 0x18c]
push eax
call fcn.004097d0
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x2b4]
push ecx
call fcn.004097d0
add esp, 0xc
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0x100
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc44
call fcn.004014a0
push eax
call fcn.00425600
add esp, 4
test eax, eax
je 0x41a18c
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc44
call fcn.004014a0
push eax
push str.Application__s_already_existing_return
call fcn.0042a0d0
add esp, 8
mov eax, 1
jmp 0x41a883
mov ecx, dword [ebp - 0x37c]
call fcn.00417340
test eax, eax
jne 0x41a1a2
xor eax, eax
jmp 0x41a883
lea ecx, [ebp - 0x64]
call fcn.004012b0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x37c]
add ecx, 0xb64
call fcn.004014a0
push eax
lea edx, [ebp - 0x2b4]
push edx
call fcn.00409b50
add esp, 8
lea eax, [ebp - 0x68]
push eax
push 1
push 0
lea ecx, [ebp - 0x2b4]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x41a261
lea edx, [ebp - 0x68]
push edx
push 0x201
push 0
lea eax, [ebp - 0x2b4]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x41a261
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
push ecx
lea edx, [ebp - 0x2b4]
push edx
push 0x4338c4
call fcn.0042a0d0
add esp, 0xc
mov dword [ebp - 0x310], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x310]
jmp 0x41a883
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.004099f8
add esp, 4
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x1a8]
push edx
push 0
push 0
mov ecx, dword [ebp - 0x37c]
add ecx, 0xb80
call fcn.004014a0
push eax
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0xea
jne 0x41a2d7
mov ecx, dword [ebp - 0x1a0]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x1a8]
push edx
call fcn.0040a6a9
add esp, 8
mov dword [ebp - 0x1a8], eax
jmp 0x41a276
mov eax, dword [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x64]
call fcn.004013a0
cmp dword [ebp - 0x1a8], 0x432f33
jne 0x41a33c
push str.REG_Key_app_path_is_empty...
call fcn.0042a0d0
add esp, 4
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0040984a
add esp, 4
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x314]
jmp 0x41a883
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.004099f8
add esp, 4
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a4]
push ecx
push 0
push 0
push 0x433910
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0xea
jne 0x41a3a5
mov eax, dword [ebp - 0x1a0]
add eax, 1
push eax
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0040a6a9
add esp, 8
mov dword [ebp - 0x1a4], eax
jmp 0x41a351
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x41a3c0
push str.Close_regkey_failed
call fcn.0042a070
add esp, 4
cmp dword [ebp - 0x194], 0
je 0x41a42c
push str.Get_client_app_path_failed_
call fcn.0042a070
add esp, 4
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.0040984a
add esp, 4
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0040984a
add esp, 4
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x318]
jmp 0x41a883
push str._sysconfig.dat
lea ecx, [ebp - 0x64]
call fcn.004013e0
lea ecx, [ebp - 0x84]
call fcn.004012b0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x84]
push edx
push 0x433958
push 0x433968
lea ecx, [ebp - 0x64]
call fcn.004014a0
push eax
mov ecx, dword [ebp - 0x37c]
call fcn.00419ff0
test eax, eax
jne 0x41a489
lea ecx, [ebp - 0x64]
call fcn.004014a0
push eax
push str.Read_Run_APP_from__s_failed
call fcn.0042a0d0
add esp, 8
jmp 0x41a4c3
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc0c
call fcn.00401380
lea ecx, [ebp - 0x64]
call fcn.004014a0
push eax
lea ecx, [ebp - 0x84]
call fcn.004014a0
push eax
push str.Get_Run_APP_value_is__s__from_PC_file__s
call fcn.0042a0d0
add esp, 0xc
push 0x4339c8
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc0c
call fcn.004014a0
push eax
call fcn.00415d01
add esp, 8
test eax, eax
je 0x41a538
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc28
call fcn.004014a0
push eax
push str.Mustt_run_client_app__CFG:__s...
call fcn.0042a0d0
add esp, 8
mov dword [ebp - 0x31c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x31c]
jmp 0x41a883
mov ecx, dword [ebp - 0x1a8]
push ecx
lea edx, [ebp - 0x18c]
push edx
call fcn.00409b50
add esp, 8
push 0x4339f0
lea eax, [ebp - 0x18c]
push eax
call fcn.00409b60
add esp, 8
cmp dword [ebp - 0x190], 0
je 0x41a58e
mov ecx, dword [ebp - 0x37c]
add ecx, 0xc44
call fcn.004014a0
push eax
lea ecx, [ebp - 0x18c]
push ecx
call fcn.00409b60
add esp, 8
jmp 0x41a5a4
mov edx, dword [ebp - 0x1a4]
push edx
lea eax, [ebp - 0x18c]
push eax
call fcn.00409b60
add esp, 8
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0040984a
add esp, 4
mov edx, dword [ebp - 0x1a8]
push edx
call fcn.0040984a
add esp, 4
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a8], 0
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004012e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.004012b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x37c]
call fcn.00416d80
lea ecx, [ebp - 0x2c]
call fcn.004014a0
push eax
push str.Run_client_app__Path:__s...
call fcn.0042a0d0
add esp, 8
mov dword [ebp - 0x198], 0
call fcn.00424b80
test eax, eax
je 0x41a820
lea ecx, [ebp - 0x2d4]
call fcn.004012b0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x2d4]
push edx
mov ecx, dword [ebp - 0x37c]
call fcn.00416d80
movzx eax, al
test eax, eax
jne 0x41a6c0
push 0x433a10
call fcn.0042a070
add esp, 4
mov dword [ebp - 0x320], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2d4]
call fcn.00401360
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.00401360
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00401360
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x320]
jmp 0x41a883
push 0x433a38
lea ecx, [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x33c]
push edx
call fcn.00403570
add esp, 0xc
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 5
push 0x433a28
mov ecx, dword [ebp - 0x384]
push ecx
lea edx, [ebp - 0x2f0]
push edx
call fcn.00403570
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x33c]
call fcn.00401360
push str.__R
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x30c]
push ecx
call fcn.00403570
add esp, 0xc
mov byte [ebp - 4], 8
lea edx, [ebp - 0x2c]
push edx
push 0x433a48
lea eax, [ebp - 0x358]
push eax
call fcn.00404640
add esp, 0xc
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], ecx
mov byte [ebp - 4], 9
push 0x433a44
mov edx, dword [ebp - 0x38c]
push edx
lea eax, [ebp - 0x374]
push eax
call fcn.00403570
add esp, 0xc
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x394], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x394]
push edx
lea ecx, [ebp - 0x30c]
call fcn.004013c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x374]
call fcn.00401360
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x358]
call fcn.00401360
push 0
lea ecx, [ebp - 0x30c]
call fcn.004014a0
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004014a0
push eax
call fcn.004267f0
add esp, 0xc
mov dword [ebp - 0x198], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x30c]
call fcn.00401360
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f0]
call fcn.00401360
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2d4]
call fcn.00401360
jmp 0x41a83b
push 0
push 0
lea ecx, [ebp - 0x2c]
call fcn.004014a0
push eax
call fcn.004267f0
add esp, 0xc
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x378], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.00401360
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00401360
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00401360
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00407a6c
mov esp, ebp
pop ebp
ret