Function at 0x458d8b
Capabilities:
Inspect section memory permissions
Query environment variable
Set registry value

Disassembly:
push 0x1e8
mov eax, 0x4f04ba
call fcn.004cb117
mov esi, dword [ebp + 8]
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 0x1d4], edi
mov dword [ebp - 0x1c4], ebx
cmp esi, ebx
je 0x45ac1e
mov ecx, esi
call fcn.0045fc15
test al, al
je 0x45ac1e
lea eax, [ebp - 0x1f4]
push eax
mov ecx, esi
call fcn.0046055c
mov esi, 0x4f6070
push esi
lea ecx, [ebp - 0x168]
mov dword [ebp - 4], ebx
call fcn.00453b13
mov edi, dword [ebp - 0x1f0]
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c4], 1
call fcn.00452160
cmp dword [eax], edi
je 0x458e58
push esi
lea ecx, [ebp - 0x130]
call fcn.00453b13
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 4], 2
mov dword [ebp - 0x1c4], 3
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc15
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x458e5e
mov byte [ebp - 0x1bd], bl
test byte [ebp - 0x1c4], 2
je 0x458e7c
and dword [ebp - 0x1c4], 0xfffffffd
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
test byte [ebp - 0x1c4], 1
mov dword [ebp - 4], ebx
je 0x458e9d
and dword [ebp - 0x1c4], 0xfffffffe
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45ac09
push esi
lea ecx, [ebp - 0x1bc]
call fcn.00453b13
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 3
call fcn.00456cc4
lea ecx, [ebp - 0x1e4]
push ecx
mov ecx, dword [eax]
call fcn.0046055c
push ebx
push 1
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, 0x4f6068
push edi
lea ecx, [ebp - 0x168]
call fcn.00453b13
or dword [ebp - 0x1c4], 4
mov esi, dword [ebp - 0x1e0]
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 6
call fcn.00452160
cmp dword [eax], esi
je 0x458f68
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
or dword [ebp - 0x1c4], 8
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 7
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x458f6e
mov byte [ebp - 0x1bd], bl
test byte [ebp - 0x1c4], 8
je 0x458f8c
and dword [ebp - 0x1c4], 0xfffffff7
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
test byte [ebp - 0x1c4], 4
mov dword [ebp - 4], 5
je 0x458fb1
and dword [ebp - 0x1c4], 0xfffffffb
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45908b
push edi
lea ecx, [ebp - 0x168]
call fcn.00453b13
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 8
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 9
jb 0x458ffb
mov edi, dword [eax]
jmp 0x458ffd
mov edi, eax
cmp edi, ebx
je 0x459010
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x459014
xor eax, eax
jmp 0x45902a
lea esi, [eax + eax]
mov eax, esi
call fcn.004cbbc0
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xc
call fcn.00450051
cmp dword [ebp - 0x120], ebx
je 0x459079
mov ecx, dword [ebp - 0x1d4]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x130]
push eax
add ecx, 0x12c
call fcn.0044d89b
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov edi, str.defaultPath
push edi
lea ecx, [ebp - 0x168]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x10
mov esi, dword [ebp - 0x1e0]
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0xd
call fcn.00452160
cmp dword [eax], esi
je 0x459108
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x20
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0xe
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45910e
mov byte [ebp - 0x1bd], bl
test byte [ebp - 0x1c4], 0x20
je 0x45912c
and dword [ebp - 0x1c4], 0xffffffdf
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
test byte [ebp - 0x1c4], 0x10
mov dword [ebp - 4], 5
je 0x459151
and dword [ebp - 0x1c4], 0xffffffef
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45922b
push edi
lea ecx, [ebp - 0x168]
call fcn.00453b13
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0xf
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x10
jb 0x45919b
mov esi, dword [eax]
jmp 0x45919d
mov esi, eax
cmp esi, ebx
je 0x4591b0
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4591b4
xor eax, eax
jmp 0x4591ca
lea edi, [eax + eax]
mov eax, edi
call fcn.004cbbc0
mov eax, esp
push 3
push edi
push esi
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x13
call fcn.00450051
cmp dword [ebp - 0x120], ebx
je 0x459219
mov ecx, dword [ebp - 0x1d4]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x130]
push eax
add ecx, 0x164
call fcn.0044d89b
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov esi, str.cachePath
push esi
lea ecx, [ebp - 0x168]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x40
mov edi, dword [ebp - 0x1e0]
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x14
call fcn.00452160
cmp dword [eax], edi
je 0x4592ab
push esi
lea ecx, [ebp - 0x130]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x80
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x15
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x4592b1
mov byte [ebp - 0x1bd], bl
test byte [ebp - 0x1c4], 0x80
je 0x4592d2
and dword [ebp - 0x1c4], 0xffffff7f
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
test byte [ebp - 0x1c4], 0x40
mov dword [ebp - 4], 5
je 0x4592f7
and dword [ebp - 0x1c4], 0xffffffbf
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.00450051
mov esi, 0x50bfdc
mov edi, str.JLSoft
cmp byte [ebp - 0x1bd], bl
je 0x4594e7
push str.cachePath
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x16
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x17
jb 0x45934d
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
cmp eax, ebx
je 0x459366
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x45936a
xor eax, eax
jmp 0x45938d
add eax, eax
mov dword [ebp - 0x1c8], eax
call fcn.004cbbc0
mov eax, esp
push 3
push dword [ebp - 0x1c8]
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x168]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x1a
call fcn.00450051
cmp dword [ebp - 0x158], ebx
je 0x4594d5
mov ecx, dword [ebp - 0x1d4]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x168]
push eax
add ecx, 0x180
call fcn.0044d89b
push str.SOFTWARE
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push esi
mov byte [ebp - 4], 0x1b
call fcn.004ca000
pop ecx
push eax
push esi
lea ecx, [ebp - 0x130]
call fcn.0044da04
push edi
mov dword [ebp - 0x1cc], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1cc]
push eax
push edi
call fcn.0044da04
push esi
mov edi, eax
call fcn.004ca000
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0044da04
mov edi, 0x4f5ae0
push edi
mov dword [ebp - 0x1cc], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1cc]
push eax
push edi
call fcn.0044da04
cmp dword [ebp - 0x11c], 0x10
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1c8], ebx
jae 0x45946e
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x1c8]
push ecx
push 0x2001f
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4594c7
cmp dword [ebp - 0x154], 0x10
mov eax, dword [ebp - 0x168]
jae 0x4594a0
lea eax, [ebp - 0x168]
push dword [ebp - 0x158]
push eax
push 1
push ebx
push str.CachePath
push dword [ebp - 0x1c8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x1c8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.0044d2a1
push ebx
push 1
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov edi, str.autoCreateAppDir
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x100
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x1c
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x459576
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x200
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x1d
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45957c
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x200
je 0x4595a0
and dword [ebp - 0x1c4], 0xfffffdff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x100
mov dword [ebp - 4], 5
je 0x4595cb
and dword [ebp - 0x1c4], 0xfffffeff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45961a
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x1e
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x1f0], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, str.autoCreateCacheDir
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x400
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x1f
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x4596a9
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x800
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x20
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x4596af
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x800
je 0x4596d3
and dword [ebp - 0x1c4], 0xfffff7ff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x400
mov dword [ebp - 4], 5
je 0x4596fe
and dword [ebp - 0x1c4], 0xfffffbff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45974d
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x21
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x1f1], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, str.appPath
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x1000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x22
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x4597dc
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x2000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x23
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x4597e2
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x2000
je 0x459806
and dword [ebp - 0x1c4], 0xffffdfff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x1000
mov dword [ebp - 4], 5
je 0x459831
and dword [ebp - 0x1c4], 0xffffefff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459914
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x24
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x25
jb 0x459879
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
cmp eax, ebx
je 0x459892
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x459896
xor eax, eax
jmp 0x4598b1
lea edi, [eax + eax]
mov eax, edi
call fcn.004cbbc0
mov eax, esp
push 3
push edi
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x28
call fcn.00450051
mov edi, dword [ebp - 0x1d4]
cmp dword [ebp - 0x120], ebx
je 0x459900
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x130]
push eax
lea ecx, [edi + 0x19c]
call fcn.0044d89b
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
jmp 0x45991a
mov edi, dword [ebp - 0x1d4]
cmp dword [edi + 0x1ac], ebx
jne 0x45995c
push 0xffffffffffffffff
push ebx
lea eax, [edi + 0x164]
lea ecx, [edi + 0x19c]
push eax
call fcn.0044d89b
push esi
call fcn.004ca000
pop ecx
push eax
push esi
lea ecx, [edi + 0x19c]
call fcn.0044da04
push 0xffffffffffffffff
push ebx
add edi, 0x12c
push edi
mov ecx, eax
call fcn.0044d801
mov edi, 0x4f5fc0
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x4000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x29
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x4599eb
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x8000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x2a
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x4599f1
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x8000
je 0x459a15
and dword [ebp - 0x1c4], 0xffff7fff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x4000
mov dword [ebp - 4], 5
je 0x459a40
and dword [ebp - 0x1c4], 0xffffbfff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459b21
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x2b
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x2c
jb 0x459a88
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
cmp eax, ebx
je 0x459aa1
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x459aa5
xor eax, eax
jmp 0x459ac0
lea edi, [eax + eax]
mov eax, edi
call fcn.004cbbc0
mov eax, esp
push 3
push edi
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x2f
call fcn.00450051
cmp dword [ebp - 0x120], ebx
je 0x459b0f
mov ecx, dword [ebp - 0x1d4]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x130]
push eax
add ecx, 0x1b8
call fcn.0044d89b
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov edi, 0x4f5fa8
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x10000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x30
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x459bb0
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x20000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x31
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x459bb6
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x20000
je 0x459bda
and dword [ebp - 0x1c4], 0xfffdffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x10000
mov dword [ebp - 4], 5
je 0x459c05
and dword [ebp - 0x1c4], 0xfffeffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459c54
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x32
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x1d4], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, 0x4f5f94
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x40000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x33
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x459ce3
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x80000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x34
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x459ce9
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x80000
je 0x459d0d
and dword [ebp - 0x1c4], 0xfff7ffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x40000
mov dword [ebp - 4], 5
je 0x459d38
and dword [ebp - 0x1c4], 0xfffbffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459d87
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x35
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x1d5], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, 0x4f5f7c
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x100000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x36
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x459e16
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x200000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x37
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x459e1c
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x200000
je 0x459e40
and dword [ebp - 0x1c4], 0xffdfffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x100000
mov dword [ebp - 4], 5
je 0x459e6b
and dword [ebp - 0x1c4], 0xffefffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459eba
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x38
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x1e8], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, 0x4f5f74
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x400000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x39
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x459f49
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x800000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x3a
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc03
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x459f4f
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x800000
je 0x459f73
and dword [ebp - 0x1c4], 0xff7fffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x400000
mov dword [ebp - 4], 5
je 0x459f9e
and dword [ebp - 0x1c4], 0xffbfffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x459ff2
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x3b
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc22
call fcn.004cb910
mov ecx, dword [ebp - 0x1d4]
push ebx
mov dword [ecx + 0x1ec], eax
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, str.interval
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x1000000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x3c
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x45a081
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x2000000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x3d
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc03
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45a087
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x2000000
je 0x45a0ab
and dword [ebp - 0x1c4], 0xfdffffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x1000000
mov dword [ebp - 4], 5
je 0x45a0d6
and dword [ebp - 0x1c4], 0xfeffffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45a12a
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x3e
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc22
call fcn.004cb946
mov ecx, dword [ebp - 0x1d4]
push ebx
mov dword [ecx + 0x220], eax
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
mov edi, str.showAlways
push edi
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x4000000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x3f
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x45a1b9
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x8000000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x40
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbfa
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45a1bf
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x8000000
je 0x45a1e3
and dword [ebp - 0x1c4], 0xf7ffffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x4000000
mov dword [ebp - 4], 5
je 0x45a20e
and dword [ebp - 0x1c4], 0xfbffffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45a357
push edi
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x41
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc1e
mov ecx, dword [ebp - 0x1d4]
push ebx
mov byte [ecx + 0x224], al
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.00450051
push str.SOFTWARE
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push esi
mov byte [ebp - 4], 0x42
call fcn.004ca000
pop ecx
push eax
push esi
lea ecx, [ebp - 0x130]
call fcn.0044da04
mov edi, str.JLSoft
push edi
mov dword [ebp - 0x1cc], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1cc]
push eax
push edi
call fcn.0044da04
push esi
mov edi, eax
call fcn.004ca000
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0044da04
mov edi, 0x4f5ae0
push edi
mov dword [ebp - 0x1cc], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1cc]
push eax
push edi
call fcn.0044da04
cmp dword [ebp - 0x11c], 0x10
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1c8], ebx
jae 0x45a2f4
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x1c8]
push ecx
push 0x2001f
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov edi, dword [ebp - 0x1d4]
test eax, eax
jne 0x45a343
cmp byte [edi + 0x224], bl
push 4
setne al
push eax
push 4
push ebx
push 0x4f5f3c
push dword [ebp - 0x1c8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x1c8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
jmp 0x45a35d
mov edi, dword [ebp - 0x1d4]
push str.runProgID
lea ecx, [ebp - 0x130]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x10000000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x43
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x45a3ef
push str.runProgID
lea ecx, [ebp - 0x14c]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x20000000
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x44
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fbf1
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45a3f5
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x20000000
je 0x45a419
and dword [ebp - 0x1c4], 0xdfffffff
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00450051
test dword [ebp - 0x1c4], 0x10000000
mov dword [ebp - 4], 5
je 0x45a444
and dword [ebp - 0x1c4], 0xefffffff
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45a61a
push str.runProgID
lea ecx, [ebp - 0x14c]
call fcn.00453b13
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x45
call fcn.00456cc4
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [eax]
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x46
jb 0x45a490
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
cmp eax, ebx
je 0x45a4a9
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x45a4ad
xor eax, eax
jmp 0x45a4d0
add eax, eax
mov dword [ebp - 0x1c8], eax
call fcn.004cbbc0
mov eax, esp
push 3
push dword [ebp - 0x1c8]
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x168]
call fcn.0044dacf
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.00450051
push ebx
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x49
call fcn.00450051
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x168]
push eax
lea ecx, [edi + 0x228]
call fcn.0044d89b
push str.SOFTWARE
lea ecx, [ebp - 0x130]
call fcn.0044dacf
push esi
mov byte [ebp - 4], 0x4a
call fcn.004ca000
pop ecx
push eax
push esi
lea ecx, [ebp - 0x130]
call fcn.0044da04
push str.JLSoft
mov dword [ebp - 0x1c8], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1c8]
push eax
push str.JLSoft
call fcn.0044da04
push esi
mov dword [ebp - 0x1c8], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1c8]
push eax
push esi
call fcn.0044da04
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x12c]
push ecx
mov ecx, eax
call fcn.0044d801
cmp dword [ebp - 0x11c], 0x10
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1cc], ebx
jae 0x45a5a1
lea eax, [ebp - 0x130]
lea ecx, [ebp - 0x1cc]
push ecx
push 0x2001f
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x45a5fa
cmp dword [ebp - 0x154], 0x10
mov eax, dword [ebp - 0x168]
jae 0x45a5d3
lea eax, [ebp - 0x168]
push dword [ebp - 0x158]
push eax
push 1
push ebx
push 0x4f5f1c
push dword [ebp - 0x1cc]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x1cc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.0044d2a1
push ebx
push 1
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov esi, 0x4f5f18
cmp byte [edi + 0xf1], bl
jne 0x45a62c
mov esi, 0x4f5f14
push str.windowFrame
lea ecx, [ebp - 0x14c]
call fcn.0044dacf
lea eax, [ebp - 0x14c]
lea ecx, [edi + 0x1d8]
push eax
mov byte [ebp - 4], 0x4b
mov dword [ebp - 0x1cc], ecx
call fcn.0044e49f
push esi
mov dword [ebp - 0x1c8], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1c8]
push eax
push esi
call fcn.0044d934
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.0044d2a1
push 0x4f5efc
lea ecx, [ebp - 0x130]
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 4], 0x4c
call fcn.0044e49f
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x164]
push ecx
mov ecx, eax
call fcn.0044d89b
push ebx
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.0044d2a1
push 0x4f5ef0
lea ecx, [ebp - 0x168]
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x168]
push eax
mov byte [ebp - 4], 0x4d
call fcn.0044e49f
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x180]
push ecx
mov ecx, eax
call fcn.0044d89b
push ebx
push esi
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 5
call fcn.0044d2a1
push 0x4f5ee8
lea ecx, [ebp - 0x1a0]
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x1a0]
push eax
mov byte [ebp - 4], 0x4e
call fcn.0044e49f
push 0xffffffffffffffff
push ebx
add edi, 0x19c
push edi
mov ecx, eax
call fcn.0044d89b
mov byte [ebp - 4], 5
push ebx
push esi
lea ecx, [ebp - 0x1a0]
call fcn.0044d2a1
push str.dotnetPath
lea ecx, [ebp - 0x184]
call fcn.0044dacf
lea eax, [ebp - 0x1a0]
push esi
push eax
mov byte [ebp - 4], 0x4f
call fcn.00464847
pop ecx
pop ecx
mov edi, eax
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x184]
push eax
mov byte [ebp - 4], 0x50
call fcn.0044e49f
push edi
mov ecx, eax
call fcn.0044db2c
push ebx
push esi
lea ecx, [ebp - 0x1a0]
call fcn.0044d2a1
push ebx
push esi
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov edi, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x104
lea eax, [ebp - 0x114]
push eax
push str._SystemRoot_
call edi
cmp eax, ebx
je 0x45a8df
push str.SystemRoot
lea ecx, [ebp - 0x1a0]
call fcn.0044dacf
mov esi, str.System32
push esi
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x51
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x1a0]
push eax
mov byte [ebp - 4], 0x52
call fcn.0044e49f
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x114]
push eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0044d934
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x184]
push eax
call fcn.0044e49f
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x1c8]
mov ecx, eax
call fcn.0044d89b
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.0044d2a1
push ebx
push 1
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 5
call fcn.0044d2a1
push esi
lea ecx, [ebp - 0x14c]
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x53
call fcn.0044e49f
mov esi, str._system32
push esi
mov dword [ebp - 0x1c8], eax
call fcn.004ca000
pop ecx
mov ecx, dword [ebp - 0x1c8]
push eax
push esi
call fcn.0044da04
push ebx
push 1
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 5
call fcn.0044d2a1
xor esi, esi
inc esi
push 0x104
lea eax, [ebp - 0x114]
push eax
push str._ProgramFiles_
call edi
cmp eax, ebx
je 0x45a94b
push str.ProgramFiles
lea ecx, [ebp - 0x184]
call fcn.0044dacf
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x184]
push eax
mov byte [ebp - 4], 0x54
call fcn.0044e49f
mov edi, eax
lea eax, [ebp - 0x114]
push eax
call fcn.004ca000
pop ecx
push eax
lea eax, [ebp - 0x114]
push eax
mov ecx, edi
call fcn.0044d934
push ebx
push esi
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 5
call fcn.0044d2a1
mov edi, 0x4f5e84
push edi
lea ecx, [ebp - 0x1a0]
call fcn.00453b13
mov eax, dword [ebp - 0x1e0]
or dword [ebp - 0x1c4], 0x40000000
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x55
call fcn.00452160
mov ecx, dword [ebp - 0x1c8]
cmp dword [eax], ecx
je 0x45a9da
push edi
lea ecx, [ebp - 0x184]
call fcn.00453b13
or dword [ebp - 0x1c4], 0x80000000
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x56
call fcn.00456cc4
mov ecx, dword [eax]
call fcn.0045fc15
mov byte [ebp - 0x1bd], 1
test al, al
jne 0x45a9e0
mov byte [ebp - 0x1bd], bl
test dword [ebp - 0x1c4], 0x80000000
je 0x45aa03
and dword [ebp - 0x1c4], 0x7fffffff
push ebx
push esi
lea ecx, [ebp - 0x184]
call fcn.00450051
test dword [ebp - 0x1c4], 0x40000000
mov dword [ebp - 4], 5
je 0x45aa23
push ebx
push esi
lea ecx, [ebp - 0x1a0]
call fcn.00450051
cmp byte [ebp - 0x1bd], bl
je 0x45abfb
push edi
lea ecx, [ebp - 0x184]
call fcn.00453b13
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x57
call fcn.00456cc4
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, dword [eax]
call fcn.0046055c
push ebx
push esi
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x59
call fcn.00450051
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx]
mov dword [ebp - 0x1c4], eax
cmp eax, ecx
je 0x45abec
lea edi, [eax + 0xc]
cmp dword [edi + 0x14], 8
jb 0x45aa99
mov eax, dword [edi]
mov dword [ebp - 0x1d0], eax
jmp 0x45aa9f
mov dword [ebp - 0x1d0], edi
cmp dword [ebp - 0x1d0], ebx
je 0x45aabb
push dword [ebp - 0x1d0]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x45aabf
xor eax, eax
jmp 0x45aae2
add eax, eax
mov dword [ebp - 0x1c8], eax
call fcn.004cbbc0
mov eax, esp
push 3
push dword [ebp - 0x1c8]
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0044dacf
mov dword [ebp - 0x11c], 0xf
mov dword [ebp - 0x120], ebx
mov byte [ebp - 0x130], bl
mov ecx, dword [edi + 0x1c]
mov byte [ebp - 4], 0x5b
call fcn.0045fbf1
test al, al
je 0x45ab8e
mov ecx, dword [edi + 0x1c]
lea eax, [ebp - 0x14c]
push eax
call fcn.0045ffa1
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x5c
jb 0x45ab2f
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
cmp eax, ebx
je 0x45ab48
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x45ab4c
xor edi, edi
jmp 0x45ab69
lea edi, [eax + eax]
mov eax, edi
call fcn.004cbbc0
mov eax, esp
push 3
push edi
push dword [ebp - 0x1d0]
push eax
call fcn.00434440
mov edi, eax
push edi
call fcn.004ca000
pop ecx
push eax
push edi
lea ecx, [ebp - 0x130]
call fcn.0044d934
push ebx
push esi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x5b
call fcn.00450051
mov ecx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x1a0]
push eax
call fcn.0044e49f
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x130]
push ecx
mov ecx, eax
call fcn.0044d89b
push ebx
push esi
lea ecx, [ebp - 0x130]
call fcn.0044d2a1
push ebx
push esi
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x59
call fcn.0044d2a1
lea ecx, [ebp - 0x1c4]
call fcn.0044f821
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x158]
jne 0x45aa86
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 5
call fcn.0045778f
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], bl
call fcn.0045778f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f4]
call fcn.0045778f
mov edi, dword [ebp - 0x1d4]
cmp byte [edi + 0x1f0], bl
je 0x45ac33
lea eax, [edi + 0x19c]
push eax
call fcn.00462869
pop ecx
cmp byte [edi + 0x1f1], bl
je 0x45ac48
add edi, 0x180
push edi
call fcn.00462869
pop ecx
lea esp, [ebp - 0x204]
call fcn.004cb19a
ret 4