Function at 0x42af50
Capabilities:
Accept command line arguments
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f561a
mov eax, dword fs:[0]
push eax
sub esp, 0x43c
mov eax, dword [0x67f4f4]
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 [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x440], esi
mov dword [ebp - 0x444], eax
mov dword [0x689748], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x434]
mov dword [ebp - 0x434], 8
push eax
mov dword [ebp - 0x430], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call fcn.0043d5a0
push 0x610e00
push 0
call fcn.005745b0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x610e04
call fcn.004302a0
add esp, 8
mov ecx, 0x68977c
push 0
push dword [0x689748]
push 0
call fcn.004231a0
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x43c], 0
call fcn.0040aca0
mov dword [ebp - 4], 0
call fcn.0042a3e0
mov ecx, eax
call fcn.00473a20
mov eax, dword [0x689830]
test al, 1
jne 0x42b064
or eax, 1
mov dword [0x689830], eax
mov ecx, 0x68982c
mov byte [ebp - 4], 1
call fcn.00438200
push 0x60b7d0
call fcn.00478e94
add esp, 4
mov byte [ebp - 4], 0
mov ecx, 0x68982c
call fcn.00438250
push esi
call fcn.004214e0
mov ecx, eax
call fcn.0041bf60
push esi
push str.lpstrCmdLine_s
call fcn.004302a0
add esp, 8
call fcn.0043d5a0
lea ecx, [ebp - 0x420]
mov edi, eax
push ecx
push str.DLL_NETUL
push 0xcc
push dword [0x689748]
mov eax, dword [edi]
push edi
call dword [eax + 8]
test eax, eax
jne 0x42b0c3
push str.InitCloudConfig_failed.
call fcn.004302a0
add esp, 4
jmp 0x42b158
push str.InitCloudConfig_success.
call fcn.004302a0
mov esi, esp
mov dword [ebp - 0x430], esp
mov dword [ebp - 0x42c], esi
call fcn.00409110
mov ecx, eax
test ecx, ecx
je 0x42ba6c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.004084e0
test al, al
jne 0x42b131
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42b113
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004098e0
mov byte [ebp - 4], 3
call fcn.004214e0
mov ecx, eax
mov byte [ebp - 4], 0
call fcn.0041be80
mov esi, dword [edi]
call fcn.004214e0
mov ecx, eax
call fcn.0041e990
push eax
push edi
call dword [esi + 0x50]
call fcn.004214e0
mov ecx, eax
call fcn.0041ffb0
call fcn.004214e0
mov ecx, eax
call fcn.0041e990
push eax
call fcn.00437c20
push ebx
call fcn.0048eca0
push 0x361
call fcn.0048efa0
push 4
call fcn.0048f000
mov ecx, dword [0x686b60]
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor bl, bl
test ecx, ecx
jne 0x42b1fd
push 0x67dd28
call esi
cmp dword [0x686b60], 0
jne 0x42b1ec
push 0x90
call fcn.00439080
add esp, 4
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x42b1d6
mov ecx, eax
call fcn.00417270
jmp 0x42b1d8
xor eax, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x430]
xor edx, edx
lock or dword [ecx], edx
mov dword [0x686b60], eax
push 0x67dd28
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x686b60]
call fcn.0041d800
mov edi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test al, al
je 0x42b2c3
lea eax, [ebp - 0x428]
mov dword [ebp - 0x42c], 4
push eax
lea eax, [ebp - 0x430]
mov dword [ebp - 0x428], 0x104
push eax
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x421]
call fcn.00427ea0
push eax
lea ecx, [ebp - 0x421]
call fcn.00427f80
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
cmp dword [ebp - 0x430], 1
je 0x42b2c3
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x42c], 1
push 0
push eax
mov dword [ebp - 0x430], 0x104
call fcn.0053dd00
add esp, 0xc
lea eax, [ebp - 0x430]
lea ecx, [ebp - 0x421]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x42c]
push eax
push 0x60f3b4
call fcn.00427dc0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
test eax, eax
jne 0x42b2c3
mov bl, 1
jmp 0x42b3ea
mov ecx, dword [0x686b60]
test ecx, ecx
jne 0x42b328
push 0x67dd28
call esi
cmp dword [0x686b60], 0
jne 0x42b317
push 0x90
call fcn.00439080
add esp, 4
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x42b301
mov ecx, eax
call fcn.00417270
jmp 0x42b303
xor eax, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x430]
xor edx, edx
lock or dword [ecx], edx
mov dword [0x686b60], eax
push 0x67dd28
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x686b60]
call fcn.0041d800
test al, al
jne 0x42b3ea
lea eax, [ebp - 0x430]
mov dword [ebp - 0x42c], 4
push eax
lea eax, [ebp - 0x428]
mov dword [ebp - 0x430], 0x104
push eax
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x421]
call fcn.00427ea0
push eax
lea ecx, [ebp - 0x421]
call fcn.00427f80
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
cmp dword [ebp - 0x428], 1
jne 0x42b3ea
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x42c], 1
push 0
push eax
mov dword [ebp - 0x430], 0x104
call fcn.0053dd00
add esp, 0xc
lea eax, [ebp - 0x430]
lea ecx, [ebp - 0x421]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x42c]
push eax
push 0x60f3b4
call fcn.00427dc0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
test eax, eax
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
call fcn.00409110
mov ecx, eax
test ecx, ecx
je 0x42ba76
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x438], eax
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 6
push eax
call fcn.00429170
add esp, 4
test eax, eax
jle 0x42b743
test bl, bl
jne 0x42b741
call fcn.004214e0
mov ecx, eax
call fcn.0041bc70
push eax
call fcn.0042a470
mov ecx, eax
call fcn.0040f0e0
push str.installpkg
call fcn.0042a470
mov ecx, eax
call fcn.0040f0f0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0053dd00
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push dword [0x689748]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call fcn.0042a470
mov ecx, eax
call fcn.0040f050
call fcn.004214e0
mov ecx, eax
call fcn.0041d800
or esi, 0xffffffff
test al, al
je 0x42b4f7
lea ecx, [ebp - 0x421]
call fcn.00428300
push eax
lea ecx, [ebp - 0x428]
call fcn.00407f10
lea eax, [ebp - 0x428]
mov byte [ebp - 4], 8
push eax
call fcn.0042a470
mov ecx, eax
call fcn.0040f040
mov edx, dword [ebp - 0x428]
mov eax, esi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42b4f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x42c], 1
push 0
push eax
mov dword [ebp - 0x430], 0x104
call fcn.0053dd00
add esp, 0xc
lea eax, [ebp - 0x430]
lea ecx, [ebp - 0x421]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x42c]
push eax
push 0x60f3b4
call fcn.00428220
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test eax, eax
jne 0x42b5f2
mov ecx, dword [0x686b60]
test ecx, ecx
jne 0x42b5c1
push 0x67dd28
call ebx
cmp dword [0x686b60], 0
jne 0x42b5b0
push 0x90
call fcn.00439080
add esp, 4
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x42b59a
mov ecx, eax
call fcn.00417270
jmp 0x42b59c
xor eax, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x430]
xor edx, edx
lock or dword [ecx], edx
mov dword [0x686b60], eax
push 0x67dd28
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x686b60]
call fcn.0041d9b0
test al, al
je 0x42b5f2
mov edx, dword [ebp - 0x438]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42b8ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42b8ba
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x430], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x6897e0]
mov byte [ebp - 4], 0xa
test ecx, ecx
jne 0x42b66a
push 0x67e164
call ebx
cmp dword [0x6897e0], 0
jne 0x42b659
push 0x20
call fcn.00439080
add esp, 4
mov dword [ebp - 0x42c], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x42b643
mov ecx, eax
call fcn.0040c670
jmp 0x42b645
xor eax, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x430]
xor edx, edx
lock or dword [ecx], edx
mov dword [0x6897e0], eax
push 0x67e164
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x6897e0]
push 0
push 0
push 0x610ec8
mov byte [ebp - 4], 6
call fcn.0040ed20
call fcn.0042a920
mov edi, eax
mov dword [ebp - 0x43c], edi
test edi, edi
je 0x42b6c2
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xbb8
call edi
mov edx, dword [ebp - 0x438]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42b8c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42b8c0
call fcn.0042ab90
test eax, eax
jne 0x42b6fc
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x43c], 0xe
add edx, 0xfffffff0
mov byte [ebp - 4], al
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42b8ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42b8ba
push dword [ebp + 0x14]
push dword [ebp - 0x444]
push dword [ebp - 0x440]
call fcn.0042d110
mov edx, dword [ebp - 0x438]
add esp, 0xc
mov dword [ebp - 0x43c], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42b8ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42b8ba
test eax, eax
jns 0x42b753
push 0
push 0x610e4c
push 0
call fcn.00437c30
call fcn.004214e0
mov ecx, eax
call fcn.0041e530
mov esi, eax
lea eax, [ebp - 0x428]
push eax
call fcn.004214e0
mov ecx, eax
call fcn.0041bc90
mov byte [ebp - 4], 7
test esi, esi
jne 0x42b867
call fcn.0043d5a0
lea ecx, [ebp - 0x438]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x58]
call fcn.0043d5a0
push ecx
mov ecx, esp
mov esi, eax
push str.UltraUninstaller_setup.log
lea eax, [ebp - 0x438]
push eax
push ecx
call fcn.00417970
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 0x5c]
mov eax, dword [ebp - 0x428]
cmp dword [eax - 4], 1
jle 0x42b7d9
push dword [eax - 0xc]
lea ecx, [ebp - 0x428]
call fcn.00409060
mov eax, dword [ebp - 0x428]
push eax
push str.RunApp_cmdLine:__s
call fcn.004302a0
add esp, 8
call fcn.0043d5a0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
je 0x42b82d
call fcn.0043d5a0
mov ecx, dword [ebp - 0x428]
mov edi, eax
cmp dword [ecx - 4], 1
jle 0x42b81d
push dword [ecx - 0xc]
lea ecx, [ebp - 0x428]
call fcn.00409060
mov ecx, dword [ebp - 0x428]
mov esi, dword [edi]
push ecx
lea ecx, [ebp - 0x421]
call fcn.00427ce0
jmp 0x42b862
call fcn.0043d5a0
mov ecx, dword [ebp - 0x428]
mov edi, eax
cmp dword [ecx - 4], 1
jle 0x42b854
push dword [ecx - 0xc]
lea ecx, [ebp - 0x428]
call fcn.00409060
mov ecx, dword [ebp - 0x428]
mov esi, dword [edi]
push ecx
lea ecx, [ebp - 0x421]
call fcn.004285a0
push eax
push edi
call dword [esi + 0x3c]
mov edx, dword [ebp - 0x428]
or esi, 0xffffffff
mov dword [ebp - 0x43c], 0x10
add edx, 0xfffffff0
mov byte [ebp - 4], 6
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42b895
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x438]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42b8b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x689830]
test al, 1
jne 0x42b8f0
or eax, 1
mov dword [0x689830], eax
mov ecx, 0x68982c
mov byte [ebp - 4], 0xc
call fcn.00438200
push 0x60b7d0
call fcn.00478e94
add esp, 4
mov byte [ebp - 4], 0
mov ecx, 0x68982c
call fcn.00438690
call fcn.0042a3e0
mov ecx, eax
call fcn.00473b90
call fcn.0043de70
mov ecx, 0x6897b8
call fcn.0040bda0
push 0x5dc
call edi
mov edi, dword [0x689744]
add edi, 0x10
push edi
call ebx
mov esi, dword [0x6897b4]
test esi, esi
je 0x42b97a
cmp dword [esi + 4], 0
jle 0x42b948
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x6897b4]
test esi, esi
je 0x42b97a
mov eax, dword [esi]
test eax, eax
je 0x42b961
push eax
call fcn.005703bc
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00478a99
add esp, 8
push edi
mov dword [0x6897b4], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x6897b0]
test esi, esi
je 0x42b9d3
mov eax, dword [esi]
test eax, eax
je 0x42b9aa
push eax
call fcn.005703bc
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42b9c1
push eax
call fcn.005703bc
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.00478a99
add esp, 8
mov esi, dword [0x6897a8]
test esi, esi
je 0x42ba05
cmp dword [esi], 0
je 0x42ba05
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x42b9ef
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x42b9e2
mov esi, dword [0x67dfc8]
mov ecx, dword [0x67dfcc]
cmp esi, ecx
jae 0x42ba2f
mov eax, dword [esi]
test eax, eax
je 0x42ba28
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x67dfcc]
add esi, 4
cmp esi, ecx
jb 0x42ba15
mov ecx, 0x68977c
call fcn.0042d6c0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x448]
call fcn.0040ace0
mov eax, dword [ebp - 0x43c]
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.00478a88
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004084c0
push 0x80004005
call fcn.004084c0
int3