Function at 0x42c9c0
Capabilities:
Accept command line arguments
Create directory
Create process on windows
Get common file path
Hide graphical window
Log keystrokes
Read .ini file
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4311d7
mov eax, dword fs:[0]
push eax
sub esp, 0x59c
mov eax, dword [0x441cc0]
xor eax, ebp
mov dword [ebp - 0x84], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
push 0
call fcn.0042a3b0
add esp, 4
test eax, eax
je 0x42cae3
call fcn.0042a680
test eax, eax
jne 0x42cae3
mov ecx, dword [ebp - 0x59c]
call fcn.0042c4d0
test eax, eax
jne 0x42cae3
call fcn.0042a5f0
test eax, eax
jne 0x42cad0
mov dword [ebp - 0x7c], 0
push 0x38
push 0
lea eax, [ebp - 0x78]
push eax
call fcn.00413bd0
add esp, 0xc
mov dword [ebp - 0x7c], 0x3c
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0x100
mov dword [ebp - 0x70], str.runas
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], 1
lea ecx, [ebp - 0x80]
push ecx
call fcn.0042af10
add esp, 4
lea ecx, [ebp - 0x80]
call fcn.004055d0
mov dword [ebp - 0x6c], eax
lea edx, [ebp - 0x7c]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x42cac6
mov dword [ebp - 0x574], 0
lea ecx, [ebp - 0x80]
call fcn.00402ac0
mov eax, dword [ebp - 0x574]
jmp 0x42dc12
lea ecx, [ebp - 0x80]
call fcn.00402ac0
jmp 0x42cae3
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x42cae3
mov dword [ebp - 0x40], 1
lea ecx, [ebp - 0x38]
call fcn.0042dd50
mov dword [ebp - 4], 0
push 1
push 0x80000001
lea ecx, [ebp - 0x38]
call fcn.0042dc80
test eax, eax
je 0x42cbf6
push 1
push 1
push 0x438044
lea ecx, [ebp - 0x38]
call fcn.0042f0e0
test eax, eax
je 0x42cbf6
lea eax, [ebp - 0x294]
push eax
call fcn.0042af10
add esp, 4
mov byte [ebp - 4], 1
push 1
lea ecx, [ebp - 0x294]
call fcn.004055d0
push eax
push str.ImagePath
lea ecx, [ebp - 0x38]
call fcn.0042dec0
xor ecx, ecx
mov word [ebp - 0x28c], cx
push 0x206
push 0
lea edx, [ebp - 0x28a]
push edx
call fcn.00413bd0
add esp, 0xc
lea eax, [ebp - 0x28c]
push eax
push 1
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
jl 0x42cbe7
lea ecx, [ebp - 0x298]
call fcn.00402aa0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28c]
push ecx
push str._sSOS.exe
lea edx, [ebp - 0x298]
push edx
call fcn.00402140
add esp, 0xc
push 1
lea ecx, [ebp - 0x298]
call fcn.004055d0
push eax
push str.DesktopPath
lea ecx, [ebp - 0x38]
call fcn.0042dec0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x298]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x294]
call fcn.00402ac0
cmp dword [0x445170], 1
jle 0x42cf55
lea ecx, [ebp - 0x29c]
call fcn.00402aa0
mov byte [ebp - 4], 3
mov dword [ebp - 0x2a0], 0
jmp 0x42cc2d
mov eax, dword [ebp - 0x2a0]
add eax, 1
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
cmp ecx, dword [0x445170]
jge 0x42cf46
mov edx, dword [ebp - 0x2a0]
mov eax, dword [0x445178]
mov ecx, dword [eax + edx*4]
push ecx
lea ecx, [ebp - 0x29c]
call fcn.00402960
push 0x2f
lea ecx, [ebp - 0x29c]
call fcn.00403510
push 0x2d
lea ecx, [ebp - 0x29c]
call fcn.00403510
push 0x4380b8
lea ecx, [ebp - 0x29c]
call fcn.00401090
test eax, eax
jne 0x42cf41
cmp dword [ebp - 0x40], 0
je 0x42cc9d
mov dword [ebp - 0x3c], 1
jmp 0x42cf41
call fcn.0042a680
test eax, eax
je 0x42ccab
jmp 0x42cf41
lea ecx, [ebp - 0x2b8]
call fcn.00402aa0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2ac]
call fcn.00402aa0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.00402aa0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2a4]
call fcn.00402aa0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b4]
call fcn.00402aa0
mov byte [ebp - 4], 8
push 0x8c
lea ecx, [ebp - 0x2b4]
call fcn.00402450
push 0x89
lea ecx, [ebp - 0x2ac]
call fcn.00402450
push 0x8a
lea ecx, [ebp - 0x2b0]
call fcn.00402450
push 0x8b
lea ecx, [ebp - 0x2a4]
call fcn.00402450
mov edx, dword [ebp - 0x2a4]
push edx
mov eax, dword [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x2ac]
push ecx
push 0x4380bc
lea edx, [ebp - 0x2b8]
push edx
call fcn.00402140
add esp, 0x14
push 0x51031
lea ecx, [ebp - 0x2b4]
call fcn.004055d0
push eax
lea ecx, [ebp - 0x2b8]
call fcn.004055d0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 1
je 0x42cda4
jmp 0x42cea9
mov dword [ebp - 0x2c8], 0
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x2bc], ecx
lea edx, [ebp - 0x2d0]
push edx
call fcn.0042af10
add esp, 4
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00402d10
mov byte [ebp - 4], 0xa
push 1
lea ecx, [ebp - 0x2d4]
push ecx
call fcn.0042a740
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
mov edx, dword [ebp - 0x2d0]
push edx
push str._s__s
lea eax, [ebp - 0x2d0]
push eax
call fcn.00402140
add esp, 0x10
push 1
push 1
push 0
lea ecx, [ebp - 0x2d4]
call fcn.004055d0
push eax
push 0
lea ecx, [ebp - 0x2c8]
push ecx
lea ecx, [ebp - 0x2d0]
call fcn.004055d0
push eax
call fcn.0042b550
add esp, 0x1c
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
jne 0x42ce77
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4380dc
push str.__s__SOS_ElevationLimited_reopen_failed__d
call fcn.0042b040
add esp, 0xc
jmp 0x42ce89
push 0x438170
push str.__s__SOS_ElevationLimited_reopen
call fcn.0042b040
add esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2d4]
call fcn.00402ac0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2d0]
call fcn.00402ac0
jmp 0x42cebb
push 0x4381f4
push str.__s__SOS_ElevationLimited_cancel
call fcn.0042b040
add esp, 8
mov dword [ebp - 0x578], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b4]
call fcn.00402ac0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2a4]
call fcn.00402ac0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.00402ac0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2ac]
call fcn.00402ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2b8]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x29c]
call fcn.00402ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x578]
jmp 0x42dc12
jmp 0x42cc1e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x29c]
call fcn.00402ac0
mov eax, dword [ebp - 0x59c]
add eax, 0x20
push eax
call fcn.0042a2b0
add esp, 4
mov ecx, 0x445e5c
call fcn.004033c0
test eax, eax
je 0x42d35d
push 0
push 0x438274
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42d07c
cmp dword [ebp - 0x3c], 0
jne 0x42d07c
push 1
mov edx, dword [ebp - 0x2d8]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
mov eax, dword [ebp - 0x2d8]
push eax
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 0x2ec], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x2dc], eax
push 0
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp - 0x2e0], eax
push 1
mov edx, dword [ebp - 0x2e0]
push edx
mov eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2d8]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x2f0], eax
push 0
mov edx, dword [ebp - 0x2e0]
push edx
mov eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov dword [ebp - 0x2e8], eax
push 0x4382b4
push str.__s__SOS_skip_by_foreground_instance
call fcn.0042b040
add esp, 8
mov dword [ebp - 0x57c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x57c]
jmp 0x42dc12
mov dword [ebp - 0x2f4], 0
push 0x1f4
call fcn.00429d70
add esp, 4
mov ecx, dword [ebp - 0x2f4]
add ecx, 1
mov dword [ebp - 0x2f4], ecx
mov ecx, 0x445e5c
call fcn.00403400
mov ecx, 0x445e5c
call fcn.004033c0
test eax, eax
je 0x42d0c3
cmp dword [ebp - 0x2f4], 0x1e
jl 0x42d086
mov ecx, 0x445e5c
call fcn.004033c0
test eax, eax
je 0x42d358
mov dword [ebp - 0x2f8], 0xffffffff
lea edx, [ebp - 0x2f8]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
lea ecx, [ebp - 0x310]
call fcn.00403c60
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x310]
push ecx
push str.SRServerSOS.exe
call fcn.0042adc0
add esp, 0xc
lea ecx, [ebp - 0x310]
call fcn.00403cf0
test eax, eax
jbe 0x42d17c
mov ecx, 0x445e5c
call fcn.004055d0
push eax
push 0x43835c
push 0x438398
call fcn.0042b040
add esp, 0xc
mov dword [ebp - 0x580], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x310]
call fcn.00403cd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x580]
jmp 0x42dc12
lea ecx, [ebp - 0x310]
call fcn.00403d40
mov edx, dword [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x310]
push eax
push 0x4383e8
call fcn.0042adc0
add esp, 0xc
lea ecx, [ebp - 0x310]
call fcn.00403cf0
test eax, eax
jne 0x42d201
mov ecx, 0x445e5c
call fcn.004055d0
push eax
push 0x43840c
push str.__s__SOS_skip_by_lock_without_instance___d_
call fcn.0042b040
add esp, 0xc
mov dword [ebp - 0x584], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x310]
call fcn.00403cd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x584]
jmp 0x42dc12
mov dword [ebp - 0x314], 0
jmp 0x42d21c
mov ecx, dword [ebp - 0x314]
add ecx, 1
mov dword [ebp - 0x314], ecx
lea ecx, [ebp - 0x310]
call fcn.00403cf0
cmp dword [ebp - 0x314], eax
jae 0x42d2a5
mov edx, dword [ebp - 0x314]
push edx
lea ecx, [ebp - 0x310]
call fcn.00403d10
mov eax, dword [eax]
push eax
push 0x4384a0
push str.__s__Close_SRM__d
call fcn.0042b040
add esp, 0xc
mov ecx, dword [ebp - 0x314]
push ecx
lea ecx, [ebp - 0x310]
call fcn.00403d10
mov edx, dword [eax]
push edx
push 1
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x42d2a0
push 2
mov eax, dword [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42d20d
push 0x438500
push str.__s__Wait_3sec_for_another_instance_cleanup
call fcn.0042b040
add esp, 8
push 0xbb8
call fcn.00429d70
add esp, 4
lea ecx, [ebp - 0x310]
call fcn.00403d40
mov edx, dword [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x310]
push eax
push 0x438598
call fcn.0042adc0
add esp, 0xc
lea ecx, [ebp - 0x310]
call fcn.00403cf0
test eax, eax
jbe 0x42d349
mov ecx, 0x445e5c
call fcn.004055d0
push eax
push 0x4385bc
push str.__s__SOS_skip_by_another_instance___d_
call fcn.0042b040
add esp, 0xc
mov dword [ebp - 0x588], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x310]
call fcn.00403cd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x588]
jmp 0x42dc12
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x310]
call fcn.00403cd0
jmp 0x42d451
push 0
push 0x438648
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42d451
push 1
mov edx, dword [ebp - 0x31c]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
mov eax, dword [ebp - 0x31c]
push eax
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 0x330], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x320], eax
push 0
mov ecx, dword [ebp - 0x330]
push ecx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp - 0x324], eax
push 1
mov edx, dword [ebp - 0x324]
push edx
mov eax, dword [ebp - 0x320]
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x31c]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x334], eax
push 0
mov edx, dword [ebp - 0x324]
push edx
mov eax, dword [ebp - 0x320]
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov dword [ebp - 0x32c], eax
push 0x438688
push str.__s__SOS_skip_by_foreground_window_without_instance
call fcn.0042b040
add esp, 8
mov dword [ebp - 0x58c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x58c]
jmp 0x42dc12
call fcn.0042b190
lea ecx, [ebp - 0x20]
call fcn.0042f530
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.00430180
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0042f670
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x14]
push edx
call fcn.0042a720
add esp, 4
test eax, eax
je 0x42dbaf
push str.setup.ini
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x338]
push ecx
call fcn.00403b80
add esp, 0xc
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x338]
push edx
call fcn.0042a720
add esp, 4
test eax, eax
je 0x42d6ee
xor eax, eax
mov word [ebp - 0x544], ax
push 0x206
push 0
lea ecx, [ebp - 0x542]
push ecx
call fcn.00413bd0
add esp, 0xc
lea ecx, [ebp - 0x338]
call fcn.004055d0
push eax
push 0x100
lea edx, [ebp - 0x544]
push edx
push 0
push str.sos_token
push 0x438758
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00402960
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00401380
movzx ecx, al
test ecx, ecx
jne 0x42d6ee
lea ecx, [ebp - 0x338]
call fcn.004055d0
push eax
push 0x100
lea edx, [ebp - 0x544]
push edx
push 0
push str.token_category
push 0x43878c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x550]
call fcn.004024e0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x550]
call fcn.00401380
movzx ecx, al
test ecx, ecx
jne 0x42d5c1
push 0x4387a0
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00403c30
lea edx, [ebp - 0x550]
push edx
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00401490
lea ecx, [ebp - 0x338]
call fcn.004055d0
push eax
push 0x100
lea eax, [ebp - 0x544]
push eax
push 0
push str.token_mode
push 0x4387c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x544]
push ecx
lea ecx, [ebp - 0x54c]
call fcn.004024e0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x54c]
call fcn.00401380
movzx edx, al
test edx, edx
jne 0x42d641
push 0x4387d4
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00403c30
lea eax, [ebp - 0x54c]
push eax
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00401490
lea ecx, [ebp - 0x338]
call fcn.004055d0
push eax
push 0x100
lea ecx, [ebp - 0x544]
push ecx
push 0
push str.token_kind
push str.Settings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0x544]
push edx
lea ecx, [ebp - 0x548]
call fcn.004024e0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x548]
call fcn.00401380
movzx eax, al
test eax, eax
jne 0x42d6c1
push 0x438808
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00403c30
lea ecx, [ebp - 0x548]
push ecx
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00401490
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x548]
call fcn.00402ac0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x54c]
call fcn.00402ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x550]
call fcn.00402ac0
cmp dword [0x445170], 1
jle 0x42db15
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x558]
call fcn.004024e0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x554]
call fcn.00402aa0
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x55c], 0
jmp 0x42d73b
mov edx, dword [ebp - 0x55c]
add edx, 1
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0x55c]
cmp eax, dword [0x445170]
jge 0x42daf7
mov ecx, dword [ebp - 0x55c]
mov edx, dword [0x445178]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x554]
call fcn.00402960
push 0x438810
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
je 0x42d794
push 0x438818
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
jne 0x42d821
push 0x438820
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x564]
push edx
call fcn.00403b80
add esp, 0xc
mov byte [ebp - 4], 0x14
push 0
lea ecx, [ebp - 0x564]
call fcn.004055d0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
push str.debug.dvm
lea ecx, [ebp - 0x564]
call fcn.004034f0
push 0x438840
lea ecx, [ebp - 0x564]
call fcn.004055d0
push eax
call fcn.00414b98
add esp, 8
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
je 0x42d80d
mov eax, dword [ebp - 0x560]
push eax
call fcn.00414c79
add esp, 4
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x564]
call fcn.00402ac0
jmp 0x42daf2
push 0x438844
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
je 0x42d84d
push 0x43884c
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
jne 0x42d8da
push 0x438854
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x56c]
push edx
call fcn.00403b80
add esp, 0xc
mov byte [ebp - 4], 0x15
push 0
lea ecx, [ebp - 0x56c]
call fcn.004055d0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
push 0x43885c
lea ecx, [ebp - 0x56c]
call fcn.004034f0
push 0x438878
lea ecx, [ebp - 0x56c]
call fcn.004055d0
push eax
call fcn.00414b98
add esp, 8
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x568], 0
je 0x42d8c6
mov eax, dword [ebp - 0x568]
push eax
call fcn.00414c79
add esp, 4
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x56c]
call fcn.00402ac0
jmp 0x42daf2
push 0x43887c
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
je 0x42d902
push 0x438884
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
jne 0x42d948
mov ecx, dword [ebp - 0x55c]
add ecx, 1
cmp ecx, dword [0x445170]
jge 0x42d943
mov edx, dword [ebp - 0x55c]
mov eax, dword [0x445178]
mov ecx, dword [eax + edx*4 + 4]
push ecx
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00402960
mov edx, dword [ebp - 0x55c]
add edx, 1
mov dword [ebp - 0x55c], edx
jmp 0x42daf2
push 0x43888c
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
je 0x42d974
push 0x438894
lea ecx, [ebp - 0x554]
call fcn.00401090
test eax, eax
jne 0x42daf2
mov eax, dword [ebp - 0x55c]
add eax, 1
cmp eax, dword [0x445170]
jge 0x42d9b6
mov ecx, dword [ebp - 0x55c]
mov edx, dword [0x445178]
mov eax, dword [edx + ecx*4 + 4]
push eax
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa8
call fcn.00402960
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x55c]
add edx, 1
cmp edx, dword [0x445170]
jge 0x42daaf
mov eax, dword [ebp - 0x55c]
mov ecx, dword [0x445178]
mov edx, dword [ecx + eax*4 + 4]
push edx
lea ecx, [ebp - 0x570]
call fcn.004024e0
mov byte [ebp - 4], 0x16
push 0x43889c
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
je 0x42da63
push 0x4388a4
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
je 0x42da63
push 0x4388ac
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
je 0x42da63
push 0x4388b4
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
je 0x42da63
push 0x4388bc
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
je 0x42da63
push 0x4388c4
lea ecx, [ebp - 0x570]
call fcn.00401090
test eax, eax
jne 0x42da74
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x570]
call fcn.00402ac0
jmp 0x42daaf
lea eax, [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa8
call fcn.00401070
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x570]
call fcn.00402ac0
jmp 0x42d9b6
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa8
call fcn.00401380
movzx edx, al
test edx, edx
jne 0x42daf2
mov eax, dword [ebp - 0x59c]
add eax, 0xa8
push ecx
mov ecx, esp
mov dword [ebp - 0x590], esp
push eax
call fcn.00402d10
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x59c]
call fcn.0042c240
jmp 0x42d72c
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x554]
call fcn.00402ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x558]
call fcn.00402ac0
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa4
call fcn.00401380
movzx ecx, al
test ecx, ecx
je 0x42db69
mov ecx, dword [ebp - 0x59c]
add ecx, 0xa8
call fcn.00401380
movzx edx, al
test edx, edx
je 0x42db69
push ecx
mov ecx, esp
mov dword [ebp - 0x594], esp
push 0x4388cc
call fcn.004024e0
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x59c]
call fcn.0042c240
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x59c]
call fcn.0042c1d0
cmp dword [ebp - 0x40], 0
je 0x42db8f
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x59c]
call fcn.0042c600
jmp 0x42db9e
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x59c]
call fcn.0042bf80
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x338]
call fcn.00402ac0
jmp 0x42dbc1
push str.CUnPackFileApp::InitInstance
push str.__s__SOS_skip_without_unpacking_files
call fcn.0042b040
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.0042f560
mov eax, dword [ebp - 0x59c]
add eax, 0x20
push eax
call fcn.00429980
add esp, 4
mov dword [ebp - 0x598], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0042f510
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0042dd20
mov eax, dword [ebp - 0x598]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x84]
xor ecx, ebp
call fcn.00413af2
mov esp, ebp
pop ebp
ret