Function at 0x4250f0
Capabilities:
Check if file exists
Create directory
Extract resource via kernel32 functions
Get common file path
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45e96b
mov eax, dword fs:[0]
push eax
mov eax, 0x35e8
call fcn.00449780
mov eax, dword [0x471644]
xor eax, ebp
mov dword [ebp - 0x28], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3568], ecx
mov dword [ebp - 0x3564], 0
push str.InitInstance___location:0____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 0x840], 8
mov dword [ebp - 0x83c], 0xff
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, dword [ebp - 0x3568]
call fcn.0042aef4
push str.InitInstance___location:1____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
call fcn.0042c3ae
add esp, 4
push str.Local_AppWizard_Generated_Applications
mov ecx, dword [ebp - 0x3568]
call fcn.0042c881
call fcn.00424a40
push str.InitInstance___location:2____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x465b2c
lea ecx, [ebp - 0x838]
call fcn.00429710
mov dword [ebp - 4], 0
xor ecx, ecx
mov word [ebp - 0x2c84], cx
push 0x206
push 0
lea edx, [ebp - 0x2c82]
push edx
call fcn.004493d0
add esp, 0xc
push 0
push 0x23
lea eax, [ebp - 0x2c84]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x2c84]
push ecx
lea ecx, [ebp - 0x838]
call fcn.004296f0
push 1
lea edx, [ebp - 0x34c8]
push edx
lea ecx, [ebp - 0x838]
call fcn.00428d00
mov dword [ebp - 0x356c], eax
push 0x5c
mov eax, dword [ebp - 0x356c]
push eax
call fcn.00428e50
add esp, 8
mov byte [ebp - 0x34c1], al
lea ecx, [ebp - 0x34c8]
call fcn.0042a380
movzx ecx, byte [ebp - 0x34c1]
test ecx, ecx
je 0x42524f
push 0x465b30
lea ecx, [ebp - 0x838]
call fcn.004294b0
jmp 0x42525f
push str.DGHOF
lea ecx, [ebp - 0x838]
call fcn.004294b0
push 0
lea ecx, [ebp - 0x838]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 1
lea edx, [ebp - 0x34d0]
push edx
lea ecx, [ebp - 0x838]
call fcn.00428d00
mov dword [ebp - 0x3570], eax
push 0x465b4c
mov eax, dword [ebp - 0x3570]
push eax
call fcn.00428e10
add esp, 8
mov byte [ebp - 0x34c9], al
lea ecx, [ebp - 0x34d0]
call fcn.0042a380
movzx ecx, byte [ebp - 0x34c9]
test ecx, ecx
je 0x4252cd
push 0x465b50
lea ecx, [ebp - 0x838]
call fcn.004294b0
push 0x465b58
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edx, edx
mov word [ebp - 0xa64], dx
push 0x206
push 0
lea eax, [ebp - 0xa62]
push eax
call fcn.004493d0
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea edx, [ebp - 0xa64]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea ecx, [ebp - 0xa64]
push ecx
lea ecx, [ebp - 0x854]
call fcn.00429710
mov byte [ebp - 4], 1
push 1
lea edx, [ebp - 0x34d8]
push edx
lea ecx, [ebp - 0x854]
call fcn.00428d00
mov dword [ebp - 0x3574], eax
push 0x465b54
mov eax, dword [ebp - 0x3574]
push eax
call fcn.00428e10
add esp, 8
mov byte [ebp - 0x34d1], al
lea ecx, [ebp - 0x34d8]
call fcn.0042a380
movzx ecx, byte [ebp - 0x34d1]
test ecx, ecx
je 0x425386
push 0x465bb4
lea ecx, [ebp - 0x854]
call fcn.004294b0
push 0x465bb8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x24]
call fcn.00420050
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x834]
call fcn.00420050
mov byte [ebp - 4], 3
mov dword [ebp - 0x2a7c], 1
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x10], 4
push 0x465c14
lea ecx, [ebp - 0x85c]
call fcn.00429710
mov byte [ebp - 4], 4
push 0x465c18
lea ecx, [ebp - 0x848]
call fcn.00429710
mov byte [ebp - 4], 5
push 0x465c1c
push 0x9f
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 0
je 0x425449
mov edx, dword [ebp - 0x844]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x2c94], eax
mov eax, dword [ebp - 0x2c94]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
lea ecx, [ebp - 0x85c]
call fcn.004296f0
mov ecx, dword [ebp - 0x2c94]
push ecx
call fcn.00429790
jmp 0x425454
push str.159_FindResource_Error
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x85c]
push edx
push str.SoftwareDGHOFCore_s
lea eax, [ebp - 0x848]
push eax
call fcn.0042a320
add esp, 0xc
lea ecx, [ebp - 0x848]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ecx, ecx
je 0x42593d
push 0x20219
push str.SoftwareDocGuarderClient
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x834]
call fcn.0041f080
test eax, eax
jne 0x4254bf
lea ecx, [ebp - 0x24]
call fcn.0041f0f0
lea ecx, [ebp - 0x834]
call fcn.0041f0f0
jmp 0x425938
lea edx, [ebp - 0x2c84]
push edx
lea ecx, [ebp - 0x2c98]
call fcn.00429710
mov byte [ebp - 4], 6
push 1
lea eax, [ebp - 0x34e0]
push eax
lea ecx, [ebp - 0x2c98]
call fcn.00428d00
mov dword [ebp - 0x3578], eax
push 0x5c
mov ecx, dword [ebp - 0x3578]
push ecx
call fcn.00428e50
add esp, 8
mov byte [ebp - 0x34d9], al
lea ecx, [ebp - 0x34e0]
call fcn.0042a380
movzx edx, byte [ebp - 0x34d9]
test edx, edx
je 0x42552e
push 0x465cb8
lea ecx, [ebp - 0x2c98]
call fcn.004294b0
jmp 0x42553e
push 0x465ce4
lea ecx, [ebp - 0x2c98]
call fcn.004294b0
push str.DvDesktopSwitcher.exe
lea eax, [ebp - 0x2c98]
push eax
lea ecx, [ebp - 0x34e8]
push ecx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x357c], eax
mov edx, dword [ebp - 0x357c]
mov dword [ebp - 0x3580], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x3564]
or eax, 1
mov dword [ebp - 0x3564], eax
mov ecx, dword [ebp - 0x3580]
call fcn.0042a350
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425643
push str._systemapi32.dll
lea ecx, [ebp - 0x2c98]
push ecx
lea edx, [ebp - 0x34ec]
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x3584], eax
mov eax, dword [ebp - 0x3584]
mov dword [ebp - 0x3588], eax
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x3564]
or ecx, 2
mov dword [ebp - 0x3564], ecx
mov ecx, dword [ebp - 0x3588]
call fcn.0042a350
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425643
push str.kernelrep.dll
lea edx, [ebp - 0x2c98]
push edx
lea eax, [ebp - 0x34f0]
push eax
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x358c], eax
mov ecx, dword [ebp - 0x3564]
or ecx, 4
mov dword [ebp - 0x3564], ecx
mov ecx, dword [ebp - 0x358c]
call fcn.0042a350
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425643
mov dword [ebp - 0x3590], 0
jmp 0x42564d
mov dword [ebp - 0x3590], 1
mov dl, byte [ebp - 0x3590]
mov byte [ebp - 0x34e1], dl
mov eax, dword [ebp - 0x3564]
and eax, 4
je 0x425676
and dword [ebp - 0x3564], 0xfffffffb
lea ecx, [ebp - 0x34f0]
call fcn.0042a380
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x3564]
and ecx, 2
je 0x42569a
and dword [ebp - 0x3564], 0xfffffffd
lea ecx, [ebp - 0x34ec]
call fcn.0042a380
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x3564]
and edx, 1
je 0x4256be
and dword [ebp - 0x3564], 0xfffffffe
lea ecx, [ebp - 0x34e8]
call fcn.0042a380
movzx eax, byte [ebp - 0x34e1]
test eax, eax
je 0x425916
push 0x465d88
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c98]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x465da0
lea ecx, [ebp - 0x838]
push ecx
lea edx, [ebp - 0x34f8]
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x3594], eax
mov ecx, dword [ebp - 0x3594]
call fcn.0042a350
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x34f4], eax
lea ecx, [ebp - 0x34f8]
call fcn.0042a380
cmp dword [ebp - 0x34f4], 0
je 0x4257ca
push 0x465dbc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x838]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c98]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ecx
mov ecx, esp
mov dword [ebp - 0x34fc], esp
lea eax, [ebp - 0x2c98]
push eax
call fcn.00429e20
mov dword [ebp - 0x3598], eax
mov ecx, dword [ebp - 0x3598]
mov dword [ebp - 0x359c], ecx
mov byte [ebp - 4], 9
push ecx
mov edx, esp
mov dword [ebp - 0x3500], esp
push 0x465dc8
lea eax, [ebp - 0x838]
push eax
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35a0], eax
mov byte [ebp - 4], 6
call fcn.00424bf0
add esp, 8
jmp 0x425916
xor ecx, ecx
mov word [ebp - 0x34ac], cx
push 0x7fe
push 0
lea edx, [ebp - 0x34aa]
push edx
call fcn.004493d0
add esp, 0xc
lea ecx, [ebp - 0x2ca4]
call fcn.00420050
mov byte [ebp - 4], 0xa
push 0x20219
push str.softwareF4C09C2D_E206_75B7_2DBF_15DBC6957210Client
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2ca4]
call fcn.0041f080
test eax, eax
je 0x425830
push 0x20219
push 0x465e60
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2ca4]
call fcn.0041f080
mov dword [ebp - 0x2c9c], 0x400
lea eax, [ebp - 0x2c9c]
push eax
push str.DGPath
lea ecx, [ebp - 0x34ac]
push ecx
lea ecx, [ebp - 0x2ca4]
call fcn.00429220
lea edx, [ebp - 0x34ac]
push edx
lea ecx, [ebp - 0x2ca8]
call fcn.00429710
mov byte [ebp - 4], 0xb
push 0x465de4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2ca8]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c98]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ecx
mov ecx, esp
mov dword [ebp - 0x3504], esp
lea eax, [ebp - 0x2c98]
push eax
call fcn.00429e20
mov dword [ebp - 0x35a4], eax
mov ecx, dword [ebp - 0x35a4]
mov dword [ebp - 0x35a8], ecx
mov byte [ebp - 4], 0xc
push ecx
mov edx, esp
mov dword [ebp - 0x3508], esp
push 0x465ea8
lea eax, [ebp - 0x2ca8]
push eax
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35ac], eax
mov byte [ebp - 4], 0xb
call fcn.00424bf0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2ca8]
call fcn.0042a380
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2ca4]
call fcn.0041f140
lea ecx, [ebp - 0x24]
call fcn.0041f0f0
lea ecx, [ebp - 0x834]
call fcn.0041f0f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c98]
call fcn.0042a380
jmp 0x425bcd
push 0x97
push ecx
mov ecx, esp
mov dword [ebp - 0x350c], esp
push str.CoreSetup.exe
lea edx, [ebp - 0x838]
push edx
push ecx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35b0], eax
mov ecx, dword [ebp - 0x3568]
call fcn.00426420
push str.InitInstance___location:6____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x838]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x2c84]
push eax
lea ecx, [ebp - 0x34b8]
call fcn.00429710
mov byte [ebp - 4], 0xd
push 1
lea ecx, [ebp - 0x3514]
push ecx
lea ecx, [ebp - 0x34b8]
call fcn.00428d00
mov dword [ebp - 0x35b4], eax
push 0x5c
mov edx, dword [ebp - 0x35b4]
push edx
call fcn.00428e50
add esp, 8
mov byte [ebp - 0x350d], al
lea ecx, [ebp - 0x3514]
call fcn.0042a380
movzx eax, byte [ebp - 0x350d]
test eax, eax
je 0x4259fd
push 0x465ee4
lea ecx, [ebp - 0x34b8]
call fcn.004294b0
jmp 0x425a0d
push 0x465f6c
lea ecx, [ebp - 0x34b8]
call fcn.004294b0
mov dword [ebp - 0x34b4], 0
push 0x465f9c
lea ecx, [ebp - 0x34b8]
push ecx
lea edx, [ebp - 0x34b0]
push edx
call fcn.00429e40
add esp, 0xc
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x34b4], 0xffffffff
je 0x425b10
mov eax, dword [ebp - 0x34b4]
add eax, 1
push eax
push 0x5c
lea ecx, [ebp - 0x34b0]
call fcn.00428c40
mov dword [ebp - 0x34b4], eax
cmp dword [ebp - 0x34b4], 2
je 0x425a72
cmp dword [ebp - 0x34b4], 0xffffffff
jne 0x425a79
jmp 0x425a36
mov ecx, dword [ebp - 0x34b4]
push ecx
lea edx, [ebp - 0x351c]
push edx
lea ecx, [ebp - 0x34b0]
call fcn.00428d90
mov dword [ebp - 0x35b8], eax
mov ecx, dword [ebp - 0x35b8]
call fcn.0042a350
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x3515], al
lea ecx, [ebp - 0x351c]
call fcn.0042a380
movzx eax, byte [ebp - 0x3515]
test eax, eax
je 0x425b0b
mov ecx, dword [ebp - 0x34b4]
push ecx
lea edx, [ebp - 0x3520]
push edx
lea ecx, [ebp - 0x34b0]
call fcn.00428d90
mov dword [ebp - 0x35bc], eax
push 0
mov ecx, dword [ebp - 0x35bc]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp - 0x3520]
call fcn.0042a380
jmp 0x425a36
push ecx
mov ecx, esp
mov dword [ebp - 0x3524], esp
lea eax, [ebp - 0x34b8]
push eax
call fcn.00429e20
mov dword [ebp - 0x35c0], eax
mov ecx, dword [ebp - 0x35c0]
mov dword [ebp - 0x35c4], ecx
mov byte [ebp - 4], 0xf
push ecx
mov edx, esp
mov dword [ebp - 0x3528], esp
push 0x465fa0
lea eax, [ebp - 0x838]
push eax
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35c8], eax
mov byte [ebp - 4], 0xe
call fcn.00424bf0
add esp, 8
push str.InitInstance___location:7____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
push 0
push 0x20006
push 0
push 0
lea ecx, [ebp - 0x848]
call fcn.0042a350
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x24]
call section..text
lea ecx, [ebp - 0x24]
call fcn.0041f0f0
lea ecx, [ebp - 0x834]
call fcn.0041f0f0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x34b0]
call fcn.0042a380
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x34b8]
call fcn.0042a380
push str.InitInstance___location:8____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c84]
push ecx
lea ecx, [ebp - 0x2c90]
call fcn.00429710
mov byte [ebp - 4], 0x10
push 1
lea edx, [ebp - 0x3530]
push edx
lea ecx, [ebp - 0x2c90]
call fcn.00428d00
mov dword [ebp - 0x35cc], eax
push 0x5c
mov eax, dword [ebp - 0x35cc]
push eax
call fcn.00428e50
add esp, 8
mov byte [ebp - 0x3529], al
lea ecx, [ebp - 0x3530]
call fcn.0042a380
movzx ecx, byte [ebp - 0x3529]
test ecx, ecx
je 0x425c47
push 0x465fbc
lea ecx, [ebp - 0x2c90]
call fcn.004294b0
jmp 0x425c57
push str.huatusoftcommoncore
lea ecx, [ebp - 0x2c90]
call fcn.004294b0
mov dword [ebp - 0x2a78], 0
push 0x4660d4
lea edx, [ebp - 0x2c90]
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.00429e40
add esp, 0xc
mov byte [ebp - 4], 0x11
push 0x4660d8
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x3534]
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35d0], eax
mov eax, dword [ebp - 0x35d0]
mov dword [ebp - 0x35d4], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x35d4]
call fcn.0042a350
push eax
call fcn.00425030
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3534]
call fcn.0042a380
push 0x466104
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x3538]
push edx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35d8], eax
mov eax, dword [ebp - 0x35d8]
mov dword [ebp - 0x35dc], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x35dc]
call fcn.0042a350
push eax
call fcn.00425030
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3538]
call fcn.0042a380
push 0x9b
push ecx
mov ecx, esp
mov dword [ebp - 0x353c], esp
push str.FloatingWaterMark.bmp
lea edx, [ebp - 0x1c]
push edx
push ecx
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35e0], eax
call fcn.00424dd0
add esp, 8
push 0x9d
push ecx
mov eax, esp
mov dword [ebp - 0x3540], esp
push str.PrintWaterMark.bmp
lea ecx, [ebp - 0x1c]
push ecx
push eax
call fcn.00429e40
add esp, 0xc
mov dword [ebp - 0x35e4], eax
call fcn.00424dd0
add esp, 8
push str.InitInstance___location:9____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.InitInstance___location:10____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edx, edx
mov word [ebp - 0x82c], dx
push 0x7fe
push 0
lea eax, [ebp - 0x82a]
push eax
call fcn.004493d0
add esp, 0xc
lea ecx, [ebp - 0x850]
push ecx
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea edx, [ebp - 0x82c]
push edx
mov eax, dword [ebp - 0x850]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea ecx, [ebp - 0x82c]
push ecx
mov ecx, dword [ebp - 0x3568]
add ecx, 0x603c
call fcn.004296f0
push 1
lea edx, [ebp - 0x3548]
push edx
mov ecx, dword [ebp - 0x3568]
add ecx, 0x603c
call fcn.00428d00
mov dword [ebp - 0x35e8], eax
push 0x46623c
mov eax, dword [ebp - 0x35e8]
push eax
call fcn.00428e10
add esp, 8
mov byte [ebp - 0x3541], al
lea ecx, [ebp - 0x3548]
call fcn.0042a380
movzx ecx, byte [ebp - 0x3541]
test ecx, ecx
je 0x425e53
push 0x466240
mov ecx, dword [ebp - 0x3568]
add ecx, 0x603c
call fcn.004294b0
xor edx, edx
mov word [ebp - 0x2a74], dx
push 0x2000
push 0
lea eax, [ebp - 0x2a72]
push eax
call fcn.004493d0
add esp, 0xc
push 0x1000
lea ecx, [ebp - 0x2a74]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x2a74]
push edx
lea ecx, [ebp - 0x84c]
call fcn.00429710
mov byte [ebp - 4], 0x14
push 0x5c
lea ecx, [ebp - 0x84c]
call fcn.00428cb0
mov dword [ebp - 0x2c8c], eax
mov eax, dword [ebp - 0x2c8c]
push eax
lea ecx, [ebp - 0x354c]
push ecx
lea ecx, [ebp - 0x84c]
call fcn.00428d90
mov dword [ebp - 0x35ec], eax
mov edx, dword [ebp - 0x35ec]
mov dword [ebp - 0x35f0], edx
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x35f0]
push eax
lea ecx, [ebp - 0x84c]
call fcn.00429200
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x354c]
call fcn.0042a380
push 0x466244
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0xa68], eax
push str.InitInstance___location:11____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x3568]
call fcn.00426680
test eax, eax
jne 0x425fe4
push str.InitInstance___location:11.1____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0xffffffffffffffff
push 0
push 0x66
call fcn.0042cd5c
mov dword [ebp - 0x3550], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x84c]
call fcn.0042a380
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c]
call fcn.0042a380
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c90]
call fcn.0042a380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x848]
call fcn.0042a380
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x85c]
call fcn.0042a380
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x834]
call fcn.0041f140
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041f140
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x854]
call fcn.0042a380
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.0042a380
mov eax, dword [ebp - 0x3550]
jmp 0x4263f8
push str.InitInstance___location:11.1.1____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x3568]
call fcn.004272f0
test eax, eax
jne 0x4260a6
push str.InitInstance___location:11.2____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 0x3554], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x84c]
call fcn.0042a380
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c]
call fcn.0042a380
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c90]
call fcn.0042a380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x848]
call fcn.0042a380
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x85c]
call fcn.0042a380
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x834]
call fcn.0041f140
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041f140
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x854]
call fcn.0042a380
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.0042a380
mov eax, dword [ebp - 0x3554]
jmp 0x4263f8
push str.InitInstance___location:11.2.1____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x3568]
add ecx, 0x6044
push ecx
lea ecx, [ebp - 0x2c88]
call fcn.00429e20
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c88]
call fcn.0042a350
push eax
push 0
push 0x4662cc
push str.PackMode
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x858], eax
push str.InitInstance___location:11.3____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x858], 0
jne 0x426148
push str.InitInstance___location:11.4____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c88]
call fcn.0042a350
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042a350
push eax
push 0x466550
push str.CurrentPath
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.InitInstance___location:11.5____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x42623f
lea ecx, [ebp - 0x34bc]
call fcn.0042a4e0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x34c0]
call fcn.0042a4e0
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x34bc]
push edx
mov ecx, dword [ebp - 0x3568]
call fcn.00427f20
push str.InitInstance___location:11.6____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c88]
call fcn.0042a350
push eax
push 0x466640
push 0x466668
push str.XmlPath
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x34c0]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x3558], esp
lea edx, [ebp - 0x34bc]
push edx
call fcn.00429e20
mov dword [ebp - 0x35f4], eax
mov ecx, dword [ebp - 0x3568]
call fcn.00428940
push str.InitInstance___location:11.7____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x2c88]
call fcn.0042a350
push eax
lea ecx, [ebp - 0x34c0]
call fcn.0042a350
push eax
push 0x46647c
push str.FreePath
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.InitInstance___location:11.8____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x34c0]
call fcn.0042a350
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x34c0]
call fcn.0042a380
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x34bc]
call fcn.0042a380
lea ecx, [ebp - 0x2c88]
call fcn.0042a350
push eax
mov ecx, dword [ebp - 0x3568]
call fcn.00427230
push str.InitInstance___location:12____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x3568]
call fcn.00427a50
test eax, eax
jne 0x426327
push 0xffffffffffffffff
push 0
push 0x67
call fcn.0042cd5c
mov dword [ebp - 0x355c], 0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2c88]
call fcn.0042a380
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x84c]
call fcn.0042a380
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c]
call fcn.0042a380
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c90]
call fcn.0042a380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x848]
call fcn.0042a380
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x85c]
call fcn.0042a380
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x834]
call fcn.0041f140
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041f140
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x854]
call fcn.0042a380
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.0042a380
mov eax, dword [ebp - 0x355c]
jmp 0x4263f8
mov ecx, dword [ebp - 0x3568]
call fcn.004269a0
mov ecx, dword [ebp - 0x3568]
call fcn.00426e10
mov eax, dword [ebp - 0xa68]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push str.InitInstance___location:13____ShellOutside___
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 0x3560], 0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2c88]
call fcn.0042a380
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x84c]
call fcn.0042a380
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c]
call fcn.0042a380
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c90]
call fcn.0042a380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x848]
call fcn.0042a380
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x85c]
call fcn.0042a380
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x834]
call fcn.0041f140
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041f140
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x854]
call fcn.0042a380
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.0042a380
mov eax, dword [ebp - 0x3560]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.00446d08
mov esp, ebp
pop ebp
ret