Function at 0x40bdc0
Capabilities:
Check if file exists
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e82d0
mov eax, dword fs:[0]
push eax
sub esp, 0x350
mov eax, dword [0x6780cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x344], ebx
xor eax, eax
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x21c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40be74
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x40be74
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40be52
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.00404650
mov edi, dword [ebp - 0x224]
mov esi, 2
test edi, edi
je 0x40bf44
xor ecx, ecx
lea ebx, [edi + 1]
mov eax, ebx
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005c3679
mov esi, eax
add esp, 4
test esi, esi
je 0x40bf39
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x234]
cmovae ecx, dword [ebp - 0x234]
push ecx
push ebx
push esi
call fcn.005c3615
lea eax, [edi - 1]
add esp, 0xc
cmp word [esi + eax*2], 0x5c
lea eax, [esi + eax*2]
jne 0x40befc
xor ecx, ecx
mov word [eax], cx
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bee0
sub ecx, edx
lea eax, [esi - 2]
sar ecx, 1
cmp word [eax + ecx*2], 0x5c
lea eax, [eax + ecx*2]
je 0x40bed6
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x40bf0f
push esi
call fcn.0046768e
jmp 0x40bf36
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf14
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x234]
call fcn.00404650
push esi
call fcn.005bccf3
add esp, 4
mov ebx, dword [ebp - 0x344]
mov esi, 2
push 0xe
push str.CoreCore.dll
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x224]
test ecx, ecx
je 0x40c01a
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x40c01a
lea edi, [ecx + 0xb]
xor ecx, ecx
add edi, eax
mov eax, edi
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005c3679
mov esi, eax
add esp, 4
test esi, esi
je 0x40c01a
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x234]
cmovae ecx, dword [ebp - 0x234]
push ecx
push edi
push esi
call fcn.005c3615
add esp, 0xc
lea eax, [ebp - 0x33c]
cmp dword [ebp - 0x328], 8
cmovae eax, dword [ebp - 0x33c]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bff5
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x234]
call fcn.00404650
push esi
call fcn.005bccf3
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c05e
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c054
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e30c
push ecx
push edx
call fcn.005a5f31
add esp, 8
cmp dword [ebp - 0x220], 8
lea eax, [ebp - 0x234]
cmovae eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40c229
lea edx, [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.0043a370
cmp dword [ebp - 0x358], 2
jne 0x40c0b3
lea ecx, [ebp - 0x234]
call fcn.0042a9e0
test al, al
je 0x40c107
push 0x15
push str.Adobe_Desktop_Common
jmp 0x40c0fc
push 0
push 0x2b
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40c107
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c0d3
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.00404650
push 0x1b
push str.AdobeAdobe_Desktop_Common
lea ecx, [ebp - 0x234]
call fcn.00406270
push 0xe
push str.CoreCore.dll
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x224]
test ecx, ecx
je 0x40c1e5
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x40c1e5
lea edi, [ecx + 0xb]
mov edx, 2
add edi, eax
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005c3679
mov esi, eax
add esp, 4
test esi, esi
je 0x40c1e5
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x234]
cmovae ecx, dword [ebp - 0x234]
push ecx
push edi
push esi
call fcn.005c3615
add esp, 0xc
lea eax, [ebp - 0x33c]
cmp dword [ebp - 0x328], 8
cmovae eax, dword [ebp - 0x33c]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c1c0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x234]
call fcn.00404650
push esi
call fcn.005bccf3
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c229
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c21f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e311
push ecx
push edx
call fcn.005a5f31
add esp, 8
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.00434dc0
test al, al
jne 0x40c271
lea ecx, [ebp - 0x234]
call fcn.004044d0
push eax
push str.Unable_to_load_core_library_at_path__s
push 0x6424c4
push 0x6424c4
push str.CoreManager
push str.C3App
push 0x32
call fcn.004090b0
add esp, 0x1c
xor edi, edi
jmp 0x40e2b0
mov eax, dword [ebx]
mov dword [ebp - 0x358], 0
test eax, eax
je 0x40c293
push str.initialize
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x358], eax
xorps xmm0, xmm0
mov dword [ebp - 0x308], 0x40b870
movlpd qword [ebp - 0x244], xmm0
push 0xc8
mov dword [ebp - 0x304], fcn.004090b0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x240], 0
call fcn.00459629
mov esi, eax
add esp, 4
mov dword [ebp - 0x354], esi
test esi, esi
je 0x40c304
push 0xc8
push 0
push esi
call fcn.005b9e00
add esp, 0xc
mov ecx, esi
call fcn.0043e450
mov edi, eax
jmp 0x40c306
xor edi, edi
mov dword [ebp - 0x244], edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x33c]
push 0xe
push str._Application__
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 4
lea ebx, [ebp - 0x33c]
cmp dword [ebp - 0x328], 8
cmovae ebx, dword [ebp - 0x33c]
mov esi, ebx
lea ecx, [esi + 2]
nop dword [eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x40c360
sub esi, ecx
mov ecx, edi
sar esi, 1
call fcn.0043e4e0
mov edx, dword [edi]
lea eax, [edi + 4]
push eax
sub esp, 0x10
lea eax, [esi + esi]
lea ecx, [ebp - 0x298]
push eax
push ebx
push edx
call fcn.0043de70
mov byte [ebp - 4], 3
add esp, 0x20
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c3d7
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c3cd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e316
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov eax, dword [edi]
test eax, eax
je 0x40c3fa
mov edx, dword [eax + 0x10]
test edx, edx
je 0x40c3fc
mov ecx, dword [edx]
mov eax, edx
shr ecx, 8
sub eax, ecx
mov ecx, dword [eax]
lea eax, [ecx - 0x20]
neg ecx
sbb ecx, ecx
and ecx, eax
jmp 0x40c3fe
xor edx, edx
xor ecx, ecx
xor eax, eax
test ecx, ecx
push 4
cmove edx, eax
mov dword [ebp - 0x33c], eax
push 0x6457cc
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], eax
call fcn.00403460
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x324]
push 0xd
push str.ApplicationID
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.0042d330
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40c4c3
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c507
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 1
push 0x6471e4
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x324]
push 0x16
push 0x6471e8
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.0042d330
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40c5c5
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c609
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 1
push 0x647218
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x324]
push 0x11
push 0x64721c
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.0042d330
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40c6c7
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c6bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40c70b
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c701
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 8
push str.CorePath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40c79c
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c792
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov esi, dword [0x6830c4]
test esi, esi
jne 0x40c7e0
push 0x54
call fcn.00459629
mov esi, eax
add esp, 4
mov dword [ebp - 0x348], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x40c7d8
push 0x54
push 0
push esi
call fcn.005b9e00
add esp, 0xc
mov ecx, esi
call fcn.00409160
mov esi, eax
jmp 0x40c7da
xor esi, esi
mov dword [0x6830c4], esi
xor eax, eax
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 7
mov word [ebp - 0x2f8], ax
xorps xmm0, xmm0
mov byte [ebp - 4], 9
movlpd qword [ebp - 0x23c], xmm0
push 0xc8
mov dword [ebp - 0x238], eax
call fcn.00459629
mov edi, eax
add esp, 4
mov dword [ebp - 0x348], edi
test edi, edi
je 0x40c850
push 0xc8
push 0
push edi
call fcn.005b9e00
add esp, 0xc
mov ecx, edi
call fcn.0043e450
mov ebx, eax
jmp 0x40c852
xor ebx, ebx
mov dword [ebp - 0x350], ebx
mov dword [ebp - 0x23c], ebx
mov byte [ebp - 4], 0xa
cmp dword [esi + 0x28], 0
je 0x40c901
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x23c]
call fcn.0042cc30
test al, al
je 0x40c901
push str.__CommandLineArguments_ccdPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x350], 0
call fcn.004031d0
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x23c]
call fcn.0042cef0
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0xa
call fcn.00403170
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x23c]
call fcn.0042cbd0
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.0042d2e0
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x350], eax
push 0
push 0x6424c4
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x324]
push 8
push str.PimPaths
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40c9c6
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40ca0a
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e31b
push ecx
push edx
call fcn.005a5f31
add esp, 8
xor eax, eax
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 7
mov word [ebp - 0x25c], ax
push 0x104
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0xd
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40ca89
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x40ca89
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ca67
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x25c]
call fcn.00404650
mov edi, dword [ebp - 0x24c]
test edi, edi
je 0x40cb59
xor ecx, ecx
lea ebx, [edi + 1]
mov eax, ebx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005c3679
mov esi, eax
add esp, 4
test esi, esi
je 0x40cb59
cmp dword [ebp - 0x248], 8
lea ecx, [ebp - 0x25c]
cmovae ecx, dword [ebp - 0x25c]
push ecx
push ebx
push esi
call fcn.005c3615
lea eax, [edi - 1]
add esp, 0xc
cmp word [esi + eax*2], 0x5c
lea eax, [esi + eax*2]
jne 0x40cb1c
nop dword [eax + eax]
xor ecx, ecx
mov word [eax], cx
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cb00
sub ecx, edx
lea eax, [esi - 2]
sar ecx, 1
cmp word [eax + ecx*2], 0x5c
lea eax, [eax + ecx*2]
je 0x40caf0
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x40cb2f
push esi
call fcn.0046768e
jmp 0x40cb56
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cb34
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x25c]
call fcn.00404650
push esi
call fcn.005bccf3
add esp, 4
push 0xe
push str.PrimaryPimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40cbea
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cbe0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e320
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 7
push str.PimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40cc7b
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cc71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e320
push ecx
push edx
call fcn.005a5f31
add esp, 8
xor eax, eax
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 7
mov word [ebp - 0x28c], ax
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0xe
call fcn.0042abc0
test al, al
je 0x40ccc7
push 0xb
push str.OOBEPDApp
lea ecx, [ebp - 0x28c]
call fcn.00406270
push 7
push str.PimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40cd58
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cd4e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
xor eax, eax
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 7
mov word [ebp - 0x274], ax
lea edx, [ebp - 0x348]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x34c]
call fcn.0043a370
cmp dword [ebp - 0x348], 2
jne 0x40cdb5
lea ecx, [ebp - 0x274]
call fcn.0042a9e0
test al, al
je 0x40ce09
push 0x15
push str.Adobe_Desktop_Common
jmp 0x40cdfe
push 0
push 0x2b
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40ce09
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cdd5
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x274]
call fcn.00404650
push 0x1b
push str.AdobeAdobe_Desktop_Common
lea ecx, [ebp - 0x274]
call fcn.00406270
push 7
push str.PimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40ce9a
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
xor eax, eax
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 7
mov word [ebp - 0x2c8], ax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x10
call fcn.0042a9e0
test al, al
je 0x40cee6
push 0x15
push str.Adobe_Desktop_Common
lea ecx, [ebp - 0x2c8]
call fcn.00406270
push 7
push str.PimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40cf77
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
xor eax, eax
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 7
mov word [ebp - 0x2b0], ax
lea edx, [ebp - 0x348]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x34c]
call fcn.0043a370
cmp dword [ebp - 0x348], 2
jne 0x40cfc9
lea ecx, [ebp - 0x2b0]
call fcn.0042ac80
jmp 0x40d024
push 0
push 0x26
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40d024
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cff0
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00404650
push 0x1b
push str.AdobeAdobe_Creative_Cloud
lea ecx, [ebp - 0x2b0]
call fcn.00406270
push 7
push str.PimPath
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d0b5
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d0ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x294], xmm0
push 0xc8
mov dword [ebp - 0x290], 0
call fcn.00459629
mov esi, eax
add esp, 4
mov dword [ebp - 0x34c], esi
test esi, esi
je 0x40d0fe
push 0xc8
push 0
push esi
call fcn.005b9e00
add esp, 0xc
mov ecx, esi
call fcn.0043e450
mov edi, eax
jmp 0x40d100
xor edi, edi
mov dword [ebp - 0x294], edi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x324]
push 0x11
push str._coreExtensions__
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
mov byte [ebp - 4], 0x13
lea ebx, [ebp - 0x324]
cmp dword [ebp - 0x310], 8
cmovae ebx, dword [ebp - 0x324]
mov esi, ebx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x40d157
sub esi, ecx
mov ecx, edi
sar esi, 1
call fcn.0043e4e0
mov edx, dword [edi]
lea eax, [edi + 4]
push eax
sub esp, 0x10
lea eax, [esi + esi]
lea ecx, [ebp - 0x330]
push eax
push ebx
push edx
call fcn.0043de70
mov byte [ebp - 4], 0x12
add esp, 0x20
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d1ce
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d1c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e325
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov esi, dword [edi]
test esi, esi
je 0x40d1f1
mov esi, dword [esi + 0x10]
test esi, esi
je 0x40d1f3
mov ecx, dword [esi]
mov eax, esi
shr ecx, 8
sub eax, ecx
mov ecx, dword [eax]
lea eax, [ecx - 0x20]
neg ecx
sbb ecx, ecx
and ecx, eax
jmp 0x40d1f5
xor esi, esi
xor ecx, ecx
xor eax, eax
test ecx, ecx
push 3
cmove esi, eax
mov dword [ebp - 0x33c], eax
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], eax
call fcn.00403460
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x324]
push 9
push str.Analytics
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d2bd
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d301
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x324]
push 0xa
push str.LocManager
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d3c8
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d3be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d40c
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d402
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x324]
push 7
push str.C3Prefs
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d4d3
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d4c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d517
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d50d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x324]
push 0x10
push str.ElevationManager
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d5de
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d5d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d622
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d618
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x324]
push 7
push str.CmdCntr
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d6e9
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d6df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d72d
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d723
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x324]
push 9
push str.ANSClient
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d7f4
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d7ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d838
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d82e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x324]
push 0x13
push str.NotificationManager
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40d8ff
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d8f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40d943
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d939
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x324]
push 0x17
push str.TrayNotificationManager
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40da0a
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40da00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40da4e
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40da44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x324]
push 0xa
push str.NGLWrapper
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
push ecx
call fcn.0040bb20
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40db15
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40db0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40db59
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40db4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov eax, dword [ebp - 0x354]
test eax, eax
je 0x40db8c
test esi, esi
je 0x40db8c
mov dword [ebp - 0x348], eax
lea ecx, [ebp - 0x348]
lea eax, [ebp - 0x354]
mov dword [ebp - 0x354], esi
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.0043e250
push 0
push 0x6424c4
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x324]
push 0xb
push str.AppletRoles
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x354]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40dc51
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dc47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40dc95
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dc8b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 0
push 0x6424c4
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x324]
push 0xa
push str.AppletRole
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x354]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40dd5a
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dd50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40dd9e
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dd94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 0xe
push str.C3Container_BL
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x324]
push 8
push str.AppletID
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40de63
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40de59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40dea7
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40de9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 3
push 0x645800
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.00403460
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x324]
push 0xd
push str.AppletVersion
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0042d1a0
mov ecx, dword [ebp - 0x310]
cmp ecx, 8
jb 0x40df6c
mov edx, dword [ebp - 0x324]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40df62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x328]
cmp ecx, 8
jb 0x40dfb0
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dfa6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
push 9
push str.Container
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
call fcn.00403460
push str.Role
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x2a
call fcn.004031d0
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.0042d2c0
lea ecx, [ebp - 0x33c]
call fcn.00403170
lea ecx, [ebp - 0x324]
call fcn.00403170
xor eax, eax
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 7
mov word [ebp - 0x2e0], ax
lea eax, [ebp - 0x2e0]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x244]
call fcn.0042d080
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004044d0
mov esi, dword [ebp - 0x358]
mov ecx, esi
push eax
call dword [0x5feac0]
call esi
mov edi, eax
add esp, 8
cmp edi, 1
je 0x40e0b1
push str.Unable_to_intialize_core_library
push 0x6461c8
push 0x6424c4
push str.CoreManager
push str.C3App
push 0x28
call fcn.004090b0
add esp, 0x18
lea ecx, [ebp - 0x2e0]
call fcn.00403170
lea ecx, [ebp - 0x294]
call fcn.0042cb80
lea ecx, [ebp - 0x2b0]
call fcn.00403170
lea ecx, [ebp - 0x2c8]
call fcn.00403170
mov ecx, dword [ebp - 0x260]
cmp ecx, 8
jb 0x40e11d
mov edx, dword [ebp - 0x274]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e113
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov ecx, dword [ebp - 0x278]
xor eax, eax
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 7
mov word [ebp - 0x274], ax
cmp ecx, 8
jb 0x40e17a
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e170
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov ecx, dword [ebp - 0x248]
xor eax, eax
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 7
mov word [ebp - 0x28c], ax
cmp ecx, 8
jb 0x40e1d7
mov edx, dword [ebp - 0x25c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e1cd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov esi, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 7
mov word [ebp - 0x25c], ax
test esi, esi
je 0x40e213
mov ecx, esi
call fcn.0043e570
push 0xc8
push esi
call fcn.005a5f31
add esp, 8
mov ebx, dword [ebp - 0x350]
test ebx, ebx
je 0x40e232
mov ecx, ebx
call fcn.0043e570
push 0xc8
push ebx
call fcn.005a5f31
add esp, 8
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 8
jb 0x40e272
mov edx, dword [ebp - 0x2f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e268
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov esi, dword [ebp - 0x240]
test esi, esi
je 0x40e291
mov ecx, esi
call fcn.0043e570
push 0xc8
push esi
call fcn.005a5f31
add esp, 8
mov esi, dword [ebp - 0x244]
test esi, esi
je 0x40e2b0
mov ecx, esi
call fcn.0043e570
push 0xc8
push esi
call fcn.005a5f31
add esp, 8
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x40e2ec
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e2e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e32a
push ecx
push edx
call fcn.005a5f31
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005a5aba
mov esp, ebp
pop ebp
ret 4
call fcn.005bd02a
call fcn.005bd02a
call fcn.005bd02a
call fcn.005bd02a
call fcn.005bd02a
call fcn.005bd02a
call fcn.005bd02a
int3