Function at 0x4038f0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get startup folder

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x484910
push eax
mov eax, dword [esp + 0x18]
mov dword fs:[0], esp
sub esp, 0x428
test eax, eax
push ebx
push ebp
push esi
push edi
mov esi, ecx
je 0x4045be
mov eax, dword [esp + 0x454]
test eax, eax
je 0x4045be
mov eax, dword [esp + 0x458]
test eax, eax
je 0x4045be
mov eax, dword [esp + 0x45c]
test eax, eax
je 0x4045be
mov eax, dword [esp + 0x460]
test eax, eax
je 0x4045be
mov ebp, dword [esp + 0x464]
test ebp, ebp
je 0x4045be
mov ebx, dword [esp + 0x44c]
push 0
push 0
push 0
push 0
mov eax, ebx
sub esp, 0x10
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x468]
push ecx
mov ecx, esi
call fcn.0043bc40
test eax, eax
je 0x4045be
lea edi, [esi + 0xf4]
push ebx
push edi
call dword [0x48a5a0]
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x100]
mov edx, dword [edi]
mov ebx, dword [esi + 0xfc]
sub ecx, eax
sub ebx, edx
mov dword [esi + 0x100], ecx
mov ecx, esi
mov dword [esi + 0xfc], ebx
mov dword [edi], 0
mov dword [esi + 0xf8], 0
call fcn.004053b0
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x50]
push ecx
push edx
lea ebx, [esi + 0xe4]
push 0x1e
push 0
push ebx
call dword [0x48a5a4]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x2a]
mov word [esp + 0x28], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
lea eax, [esp + 0x2c]
push 0x23
push eax
push 0
call dword [0x48a434]
lea ecx, [esp + 0x28]
push str.ASUSLifeFrame
push ecx
call fcn.00462d8d
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x23a]
mov word [esp + 0x238], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x30]
lea eax, [esp + 0x238]
push edx
push eax
call fcn.00462db7
lea ecx, [esp + 0x240]
push 0x4a079c
push ecx
call fcn.00462d8d
mov edi, dword [0x48a37c]
add esp, 0x18
lea edx, [esp + 0x230]
push 0
push edx
call edi
mov eax, dword [esp + 0x450]
push eax
push 0x13
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov ecx, dword [esp + 0x450]
push 0
push ecx
call edi
mov edx, dword [esp + 0x454]
push edx
push 0x14
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov eax, dword [esp + 0x454]
push 0
push eax
call edi
mov ecx, dword [esp + 0x458]
push ecx
push 0x15
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov edx, dword [esp + 0x458]
push 0
push edx
call edi
mov eax, dword [esp + 0x45c]
push eax
push 0x17
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov ecx, dword [esp + 0x45c]
push 0
push ecx
call edi
mov edx, dword [esp + 0x460]
push edx
push 0x16
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov eax, dword [esp + 0x460]
push 0
push eax
call edi
push ebp
push 0x18
call fcn.00445920
mov ecx, eax
call fcn.00445c10
push 0
push ebp
call edi
sub esp, 0x10
mov ecx, ebx
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x460]
push edx
push 0
mov ecx, esi
call fcn.00404700
sub esp, 0x10
mov eax, ebx
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x464]
push ecx
push 1
mov ecx, esi
call fcn.00404700
sub esp, 0x10
mov edx, ebx
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x468]
push eax
push 2
mov ecx, esi
call fcn.00404700
sub esp, 0x10
mov ecx, ebx
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x46c]
push edx
push 3
mov ecx, esi
call fcn.00404700
sub esp, 0x10
mov eax, ebx
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x470]
push ecx
push 4
mov ecx, esi
call fcn.00404700
sub esp, 0x10
mov edx, ebx
mov eax, esp
mov ecx, dword [edx]
push ebp
mov dword [eax], ecx
push 5
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, esi
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
call fcn.00404700
mov eax, dword [esi + 0x124]
xor edi, edi
test eax, eax
jle 0x403cc1
xor eax, eax
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0x120]
sub esp, 0x10
mov edx, ebx
add eax, ecx
mov ecx, esp
push eax
mov ebp, dword [edx]
mov eax, dword [eax + 0x820]
mov dword [ecx], ebp
push eax
mov ebp, dword [edx + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [edx + 8]
mov dword [ecx + 8], ebp
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, esi
call fcn.00404700
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x124]
inc edi
add eax, 0x828
cmp edi, ecx
mov dword [esp + 0x10], eax
jl 0x403c75
push 0xd6d0c9
mov ecx, esi
call fcn.0043d0f0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.IDS_STG_CUSTOMFRAME
push ecx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
xor edi, edi
mov ecx, esp
mov dword [esp + 0x28], esp
push str.BROWSE
mov dword [esp + 0x44c], edi
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 1
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 2
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 3
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.thumb1s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.thumb1s.jpg
call fcn.0047b196
or ebx, 0xffffffff
push 0x14
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push str.IDS_STG_CUSTOMFRAME
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 5
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 6
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 7
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 8
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb1_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 9
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb1.jpg
call fcn.0047b196
push 0x13
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_AUDIO
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0xa
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0xb
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0xc
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0xd
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb2s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0xe
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb2s.jpg
call fcn.0047b196
push 0x16
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_AUDIO
push ecx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0xf
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x11
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x12
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb2_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x13
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb2.jpg
call fcn.0047b196
push 0x15
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_IMAGE
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x14
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x15
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x16
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x17
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb3s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x18
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb3s.jpg
call fcn.0047b196
push 0x18
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_IMAGE
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x19
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x1a
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x1b
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb3_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x1d
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb3.jpg
call fcn.0047b196
push 0x17
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_VIDEO
push ecx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x1e
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x1f
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x20
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x21
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb4s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x22
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb4s.jpg
call fcn.0047b196
push 0x1a
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_VIDEO
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x23
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x24
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x25
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x26
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb4_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x27
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb4.jpg
call fcn.0047b196
push 0x19
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_GAME
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x28
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x29
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
mov byte [esp + 0x44c], 0x2a
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x2b
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb5s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x2c
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb5s.jpg
call fcn.0047b196
push 0x1c
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_GAME
push ecx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x2d
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x2e
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x2f
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x30
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb5_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x31
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb5.jpg
call fcn.0047b196
push 0x1b
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_MONITOR
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov dword [esp + 0x444], 0x32
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x33
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x34
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x35
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb6s_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x36
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb6s.jpg
call fcn.0047b196
push 0x1e
mov ecx, esi
mov dword [esp + 0x45c], ebx
call fcn.0043c690
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push str.IDS_TIP_MONITOR
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
push ecx
mov dword [esp + 0x448], 0x37
mov ecx, esp
mov dword [esp + 0x20], esp
push str.BROWSE
call fcn.0047b196
push ecx
mov byte [esp + 0x44c], 0x38
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x450], 0x39
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x4aa22c
call fcn.0047b196
push ecx
mov byte [esp + 0x454], 0x3a
mov ecx, esp
mov dword [esp + 0x34], esp
push str.thumb6_hover.jpg
call fcn.0047b196
push ecx
mov byte [esp + 0x458], 0x3b
mov ecx, esp
mov dword [esp + 0x28], esp
push str.thumb6.jpg
call fcn.0047b196
mov dword [esp + 0x458], ebx
push 0x1d
mov ecx, esi
call fcn.0043c690
mov eax, dword [esi + 0x124]
test eax, eax
jle 0x4045a7
lea ebp, [esi + 0x11c]
push edi
mov ecx, ebp
call fcn.00405d10
push ecx
add eax, 0x410
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0047b196
push 0
push 0
push 2
push 1
push edi
mov ecx, ebp
mov dword [esp + 0x458], 0x3c
call fcn.00405d10
push ecx
add eax, 0x208
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0047b196
push edi
mov ecx, ebp
mov dword [esp + 0x45c], ebx
call fcn.00405d10
mov cx, word [eax + 0x824]
push ecx
mov ecx, esi
call fcn.0043c9a0
push edi
mov ecx, ebp
call fcn.00405d10
push ecx
add eax, 0x410
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0047b196
push 0
push 0
push 4
push 3
push edi
mov ecx, ebp
mov dword [esp + 0x458], 0x3e
call fcn.00405d10
push ecx
add eax, 0x208
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0047b196
push edi
mov ecx, ebp
mov dword [esp + 0x45c], ebx
call fcn.00405d10
mov dx, word [eax + 0x826]
mov ecx, esi
push edx
call fcn.0043c9a0
mov eax, dword [esi + 0x124]
inc edi
cmp edi, eax
jl 0x4044ce
mov ecx, esi
call fcn.004045e0
push 5
mov ecx, esi
call fcn.0047ace4
mov eax, 1
jmp 0x4045c0
xor eax, eax
mov ecx, dword [esp + 0x438]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x434
ret 0x20