Function at 0xc16550
Capabilities:
Copy file
Create directory
Download url
Get common file path
Get graphical window text
Receive data
Set current directory
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xc489d4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x25ec
call fcn.00c347f0
mov eax, dword [0xc57104]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
mov dword [ebp - 0x25a8], ecx
mov dword [ebp - 0x550], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x25a8]
cmp dword [eax + 0x170], 0
je 0xc166aa
cmp dword [0xc59240], 0
jne 0xc166aa
mov dword [ebp - 0x2414], 0
lea ecx, [ebp - 0x2414]
push ecx
push 0xf003f
push 0
push str.SoftwareMicrosoftInternet_ExplorerMain
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2418], eax
cmp dword [ebp - 0x2418], 0
jne 0xc16633
mov dword [ebp - 0x241c], 0
cmp dword [ebp - 0x550], 0
je 0xc1661b
mov edx, dword [ebp - 0x550]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x241c], eax
mov dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x241c]
mov dword [ebp - 0x2418], eax
mov ecx, dword [ebp - 0x2414]
mov dword [ebp - 0x550], ecx
cmp dword [ebp - 0x2418], 0
je 0xc1665d
push 0
push str.Pmang_WebGame_Downloader_ver_2.0
push 0xc4bf50
mov edx, dword [ebp - 0x25a8]
mov eax, dword [edx + 0x180]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0xc166aa
push str.http:__www.pmang.com_
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
push str.http:__www.pmang.com_
push 1
push 0
push str.Start_Page
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0xc166aa
push 0
push str.Pmang_WebGame_Downloader_ver_2.0
push 0xc4bee0
mov edx, dword [ebp - 0x25a8]
mov eax, dword [edx + 0x180]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0x25a8]
cmp dword [ecx + 0x2c], 0
je 0xc16f15
mov dx, word [0xc4bb70]
mov word [ebp - 0xb74], dx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xb72]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [0xc4bb70]
mov word [ebp - 0x1084], ax
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1082]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0xc4bb70]
mov word [ebp - 0x21a4], cx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x21a2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dx, word [0xc4bb70]
mov word [ebp - 0x1484], dx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1482]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [0xc4bb70]
mov word [ebp - 0x770], ax
xor ecx, ecx
mov dword [ebp - 0x76e], ecx
mov dword [ebp - 0x76a], ecx
mov dword [ebp - 0xb78], 0x400
lea edx, [ebp - 0x1884]
push edx
push 0x400
push 0xd
mov eax, dword [ebp - 0x25a8]
mov ecx, dword [eax + 0x30]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xc4b588
lea edx, [ebp - 0x1884]
push edx
call fcn.00c33c10
add esp, 8
push 0x104
lea eax, [ebp - 0x198c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x1d9c]
push ecx
lea edx, [ebp - 0xc7c]
push edx
lea eax, [ebp - 0x1b94]
push eax
lea ecx, [ebp - 0xc80]
push ecx
lea edx, [ebp - 0x198c]
push edx
call fcn.00c339cc
add esp, 0x14
lea eax, [ebp - 0xc80]
push eax
lea ecx, [ebp - 0xb7c]
call fcn.00c0feb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1884]
push ecx
lea ecx, [ebp - 0x1da0]
call fcn.00c0feb0
mov byte [ebp - 4], 2
push 0xc4bb40
lea ecx, [ebp - 0x1da0]
call fcn.00c12890
mov dword [ebp - 0x1a90], eax
mov edx, dword [ebp - 0x1a90]
add edx, 1
push edx
push 0
lea eax, [ebp - 0x23d0]
push eax
lea ecx, [ebp - 0x1da0]
call fcn.00c12710
mov dword [ebp - 0x25ac], eax
mov ecx, dword [ebp - 0x25ac]
mov dword [ebp - 0x25b0], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x25b0]
push edx
lea ecx, [ebp - 0x1da0]
call fcn.00c12640
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x23d0]
call fcn.00c0fe60
mov eax, dword [ebp - 0x1da0]
mov dword [ebp - 0x2454], eax
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0x2450], ecx
mov edx, dword [ebp - 0x2454]
push edx
mov eax, dword [ebp - 0x2450]
push eax
call fcn.00c344dd
add esp, 8
neg eax
sbb eax, eax
inc eax
movzx ecx, al
test ecx, ecx
je 0xc16a0e
mov dword [ebp - 0x2458], 0
lea edx, [ebp - 0x2458]
push edx
push 0xf003f
push 0
push str.SoftwareNeoWizPMangInstall
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x245c], eax
cmp dword [ebp - 0x245c], 0
jne 0xc1691d
mov dword [ebp - 0x2460], 0
cmp dword [ebp - 0x550], 0
je 0xc16905
mov eax, dword [ebp - 0x550]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2460], eax
mov dword [ebp - 0x550], 0
mov ecx, dword [ebp - 0x2460]
mov dword [ebp - 0x245c], ecx
mov edx, dword [ebp - 0x2458]
mov dword [ebp - 0x550], edx
cmp dword [ebp - 0x245c], 0
jne 0xc16960
mov eax, dword [ebp - 0x1da0]
mov dword [ebp - 0x2464], eax
mov ecx, dword [ebp - 0x2464]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
mov edx, dword [ebp - 0x2464]
push edx
push 1
push 0
push str.DriveLetter
mov eax, dword [ebp - 0x550]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x2468], 0
lea ecx, [ebp - 0x2468]
push ecx
push 0xf003f
push 0
push str.softwareNeowizPmangInstall
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x246c], eax
cmp dword [ebp - 0x246c], 0
jne 0xc169df
mov dword [ebp - 0x2470], 0
cmp dword [ebp - 0x550], 0
je 0xc169c7
mov edx, dword [ebp - 0x550]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2470], eax
mov dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x2470]
mov dword [ebp - 0x246c], eax
mov ecx, dword [ebp - 0x2468]
mov dword [ebp - 0x550], ecx
push str.INSTALL_DONE
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
push str.INSTALL_DONE
push 1
push 0
push str.INSTALL_STATUS
mov edx, dword [ebp - 0x550]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0xc16d2d
push 9
lea eax, [ebp - 0x1884]
push eax
lea ecx, [ebp - 0x770]
push ecx
call fcn.00c346c0
add esp, 0xc
push 0
lea edx, [ebp - 0x770]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x770]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0
lea ecx, [ebp - 0x1884]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0xc584c0
call fcn.00c332d0
add esp, 4
sub eax, 1
push eax
push 0xc584c0
lea edx, [ebp - 0xb74]
push edx
call fcn.00c346c0
add esp, 0xc
lea eax, [ebp - 0x1884]
push eax
call fcn.00c332d0
add esp, 4
sub eax, 1
push eax
lea ecx, [ebp - 0x1884]
push ecx
lea edx, [ebp - 0x1084]
push edx
call fcn.00c346c0
add esp, 0xc
lea eax, [ebp - 0x1084]
push eax
lea ecx, [ebp - 0xb74]
push ecx
mov ecx, dword [ebp - 0x25a8]
call fcn.00c163b0
mov dx, word [0xc4bb70]
mov word [ebp - 0x22c0], dx
xor eax, eax
mov dword [ebp - 0x22be], eax
mov dword [ebp - 0x22ba], eax
mov dword [ebp - 0x2474], 0
lea ecx, [ebp - 0x2474]
push ecx
push 0xf003f
push 0
push str.SoftwareNeoWizPMangInstall
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2478], eax
cmp dword [ebp - 0x2478], 0
jne 0xc16b53
mov dword [ebp - 0x247c], 0
cmp dword [ebp - 0x550], 0
je 0xc16b3b
mov edx, dword [ebp - 0x550]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x247c], eax
mov dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x247c]
mov dword [ebp - 0x2478], eax
mov ecx, dword [ebp - 0x2474]
mov dword [ebp - 0x550], ecx
cmp dword [ebp - 0x2478], 0
jne 0xc16c08
push 1
lea edx, [ebp - 0x1884]
push edx
lea eax, [ebp - 0x22c0]
push eax
call fcn.00c346c0
add esp, 0xc
lea ecx, [ebp - 0x22c0]
push ecx
lea ecx, [ebp - 0x22c4]
call fcn.00c0feb0
mov byte [ebp - 4], 4
mov edx, 0xc4bb40
test edx, edx
jne 0xc16ba3
mov dword [ebp - 0x25b4], 0
jmp 0xc16bb4
push 0xc4bb40
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x25b4], eax
push 0xc4bb40
mov eax, dword [ebp - 0x25b4]
push eax
lea ecx, [ebp - 0x22c4]
call fcn.00c0ff70
lea ecx, [ebp - 0x22c0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
lea edx, [ebp - 0x22c0]
push edx
push 1
push 0
push str.DriveLetter
mov eax, dword [ebp - 0x550]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x22c4]
call fcn.00c0fe60
lea ecx, [ebp - 0xc80]
push ecx
push str._sNEOWIZ
lea edx, [ebp - 0x22b4]
push edx
call fcn.00c33974
add esp, 0xc
push str.CleanPMang.exe
lea eax, [ebp - 0x22b4]
push eax
push str._s_s
lea ecx, [ebp - 0x21a4]
push ecx
call fcn.00c33974
add esp, 0x10
push str.CleanPMang.exe
push str.Neowiz
lea edx, [ebp - 0x22c0]
push edx
push str._s:_s_s
lea eax, [ebp - 0x1484]
push eax
call fcn.00c33974
add esp, 0x14
push 0
lea ecx, [ebp - 0x1484]
push ecx
lea edx, [ebp - 0x21a4]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [ebp - 0x21a8], eax
mov dword [ebp - 0x2490], 0
lea eax, [ebp - 0x2490]
push eax
push 0xf003f
push 0
push str.softwareNeowizPmangInstall
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x2494], eax
cmp dword [ebp - 0x2494], 0
jne 0xc16d03
mov dword [ebp - 0x2498], 0
cmp dword [ebp - 0x550], 0
je 0xc16ceb
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2498], eax
mov dword [ebp - 0x550], 0
mov edx, dword [ebp - 0x2498]
mov dword [ebp - 0x2494], edx
mov eax, dword [ebp - 0x2490]
mov dword [ebp - 0x550], eax
push str.FIRST_EXECUTE
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
push str.FIRST_EXECUTE
push 1
push 0
push str.INSTALL_STATUS
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea edx, [ebp - 0x1884]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
lea eax, [ebp - 0x1884]
push eax
push 1
push 0
push str.Root
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp dword [0xc58264], 0x10
jb 0xc16d72
mov edx, dword [0xc58250]
mov dword [ebp - 0x25b8], edx
jmp 0xc16d7c
mov dword [ebp - 0x25b8], 0xc58250
mov eax, dword [ebp - 0x25b8]
push eax
lea ecx, [ebp - 0x1884]
push ecx
call fcn.00c33c10
add esp, 8
lea edx, [ebp - 0x1884]
push edx
lea ecx, [ebp - 0x23ec]
call fcn.00c01920
mov byte [ebp - 4], 5
mov dword [ebp - 0x23f0], 0
push 1
lea eax, [ebp - 0x23ec]
push eax
lea ecx, [ebp - 0x23f0]
push ecx
mov ecx, 0xc590c0
call fcn.00c1ed20
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x23ec]
call fcn.00c01f20
push str.2729A0B7_23AD_48a9_9FBE_56452FE63D1C
push str.SoftwareNeowizShared_s
lea edx, [ebp - 0x1a8c]
push edx
call fcn.00c33974
add esp, 0xc
mov dword [ebp - 0x24ac], 0
lea eax, [ebp - 0x24ac]
push eax
push 0xf003f
push 0
lea ecx, [ebp - 0x1a8c]
push ecx
push bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x24b0], eax
cmp dword [ebp - 0x24b0], 0
jne 0xc16e79
mov dword [ebp - 0x24b4], 0
cmp dword [ebp - 0x550], 0
je 0xc16e61
mov edx, dword [ebp - 0x550]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x24b4], eax
mov dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x24b4]
mov dword [ebp - 0x24b0], eax
mov ecx, dword [ebp - 0x24ac]
mov dword [ebp - 0x550], ecx
cmp dword [ebp - 0x24b0], 0
jne 0xc16ed8
push str.PMAgent.exe
push str.PMAgent
lea edx, [ebp - 0x1084]
push edx
push 0xc4bd64
lea eax, [ebp - 0x1c9c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea ecx, [ebp - 0x1c9c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
lea edx, [ebp - 0x1c9c]
push edx
push 1
push 0
push str.location
mov eax, dword [ebp - 0x550]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0xc16ef7
push 0
push str.Pmang_WebGame_Downloader_ver_2.0
push 0xc4bd2c
mov ecx, dword [ebp - 0x25a8]
mov edx, dword [ecx + 0x180]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1da0]
call fcn.00c0fe60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb7c]
call fcn.00c0fe60
mov ecx, 0xc581b0
call fcn.00c24c40
push 0xc58214
mov ecx, 0xc590c0
call fcn.00c1e800
mov ax, word [0xc4bb70]
mov word [ebp - 0x22c], ax
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x22a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0xc4bb70]
mov word [ebp - 0x764], cx
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x762]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dx, word [0xc4bb70]
mov word [ebp - 0x54c], dx
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x54a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [0xc4bb70]
mov word [ebp - 0x444], ax
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x442]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp dword [0xc58248], 0x10
jb 0xc16fbf
mov ecx, dword [0xc58234]
mov dword [ebp - 0x25bc], ecx
jmp 0xc16fc9
mov dword [ebp - 0x25bc], 0xc58234
mov edx, dword [ebp - 0x25bc]
push edx
lea eax, [ebp - 0x33c]
push eax
call fcn.00c33c00
add esp, 8
push str._icon.ico
lea ecx, [ebp - 0x33c]
push ecx
call fcn.00c33c10
add esp, 8
lea edx, [ebp - 0x33c]
push edx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
push 0
push 0
push 0x104
lea eax, [ebp - 0x65c]
push eax
lea ecx, [ebp - 0x33c]
push ecx
push 0
call sub.urlmon.dll_URLDownloadToCacheFileA
push 0xc584c0
lea edx, [ebp - 0x11c]
push edx
call fcn.00c33c00
add esp, 8
push str.Common_
lea eax, [ebp - 0x11c]
push eax
call fcn.00c33c10
add esp, 8
cmp dword [0xc58264], 0x10
jb 0xc1705d
mov ecx, dword [0xc58250]
mov dword [ebp - 0x25c0], ecx
jmp 0xc17067
mov dword [ebp - 0x25c0], 0xc58250
mov edx, dword [ebp - 0x25c0]
push edx
lea eax, [ebp - 0x11c]
push eax
call fcn.00c33c10
add esp, 8
push str..ico
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00c33c10
add esp, 8
push 0
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x65c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [0xc58374], 0x10
jb 0xc170be
mov ecx, dword [0xc58360]
mov dword [ebp - 0x25c4], ecx
jmp 0xc170c8
mov dword [ebp - 0x25c4], 0xc58360
mov edx, dword [ebp - 0x25c4]
push edx
lea eax, [ebp - 0x764]
push eax
call fcn.00c33c00
add esp, 8
push 0xc4bd08
lea ecx, [ebp - 0x54c]
push ecx
call fcn.00c33c10
add esp, 8
lea edx, [ebp - 0x764]
push edx
lea eax, [ebp - 0x54c]
push eax
call fcn.00c33c10
add esp, 8
cmp dword [0xc5822c], 0x10
jb 0xc1711f
mov ecx, dword [0xc58218]
mov dword [ebp - 0x25c8], ecx
jmp 0xc17129
mov dword [ebp - 0x25c8], 0xc58218
mov edx, dword [ebp - 0x25c8]
push edx
lea ecx, [ebp - 0x120]
call fcn.00c0feb0
mov byte [ebp - 4], 6
push 0xc4b588
lea ecx, [ebp - 0x120]
call fcn.00c12890
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
add eax, 1
push eax
lea ecx, [ebp - 0x23f4]
push ecx
lea ecx, [ebp - 0x120]
call fcn.00c126c0
mov dword [ebp - 0x25cc], eax
mov edx, dword [ebp - 0x25cc]
mov dword [ebp - 0x25d0], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x25d0]
push eax
lea ecx, [ebp - 0x120]
call fcn.00c12640
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x23f4]
call fcn.00c0fe60
push str.http:__pmang.sayclub.com_game_top.nwz_ssn
lea ecx, [ebp - 0x444]
push ecx
call fcn.00c33c10
add esp, 8
mov edx, dword [ebp - 0x120]
mov eax, dword [edx - 8]
mov dword [ebp - 0x24f0], eax
mov ecx, dword [ebp - 0x24f0]
add ecx, 1
push ecx
lea ecx, [ebp - 0x120]
call fcn.00c107a0
push eax
lea edx, [ebp - 0x444]
push edx
call fcn.00c33c10
add esp, 8
mov ecx, 0xc581b0
call fcn.00c25a80
lea eax, [ebp - 0x54c]
push eax
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, 0xc581b0
call fcn.00c25600
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x23f8], esp
lea edx, [ebp - 0x11c]
push edx
call fcn.00c01920
mov dword [ebp - 0x25d4], eax
mov eax, dword [ebp - 0x25d4]
mov dword [ebp - 0x25d8], eax
mov byte [ebp - 4], 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x23fc], esp
lea edx, [ebp - 0x444]
push edx
call fcn.00c01920
mov dword [ebp - 0x25dc], eax
mov eax, dword [ebp - 0x25dc]
mov dword [ebp - 0x25e0], eax
mov byte [ebp - 4], 9
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2400], esp
lea edx, [ebp - 0x22c]
push edx
call fcn.00c01920
mov dword [ebp - 0x25e4], eax
mov byte [ebp - 4], 6
mov ecx, 0xc581b0
call fcn.00c28360
push 0x104
push 0
lea eax, [ebp - 0x22c]
push eax
call fcn.00c33270
add esp, 0xc
mov ecx, dword [ebp - 0x25a8]
cmp dword [ecx + 0x174], 0
je 0xc1735d
lea edx, [ebp - 0x54c]
push edx
lea eax, [ebp - 0x22c]
push eax
mov ecx, 0xc581b0
call fcn.00c25570
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2404], esp
lea edx, [ebp - 0x11c]
push edx
call fcn.00c01920
mov dword [ebp - 0x25e8], eax
mov eax, dword [ebp - 0x25e8]
mov dword [ebp - 0x25ec], eax
mov byte [ebp - 4], 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2408], esp
lea edx, [ebp - 0x444]
push edx
call fcn.00c01920
mov dword [ebp - 0x25f0], eax
mov eax, dword [ebp - 0x25f0]
mov dword [ebp - 0x25f4], eax
mov byte [ebp - 4], 0xb
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x240c], esp
lea edx, [ebp - 0x22c]
push edx
call fcn.00c01920
mov dword [ebp - 0x25f8], eax
mov byte [ebp - 4], 6
mov ecx, 0xc581b0
call fcn.00c28360
mov eax, dword [ebp - 0x25a8]
cmp dword [eax + 0x178], 0
je 0xc173a6
push 0x104
push 0
lea ecx, [ebp - 0x23cc]
push ecx
call fcn.00c33270
add esp, 0xc
push 0
push 0x10
lea edx, [ebp - 0x23cc]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x23cc]
push eax
mov ecx, 0xc581b0
call fcn.00c27860
mov dword [ebp - 0x2598], 0
cmp dword [ebp - 0x550], 0
je 0xc173d6
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2598], eax
mov dword [ebp - 0x550], 0
push 1
mov edx, dword [ebp - 0x25a8]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_EndDialog]
push 0
push 0
push 0x2000
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov dword [ebp - 0x2410], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x120]
call fcn.00c0fe60
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x25a4], 0
cmp dword [ebp - 0x550], 0
je 0xc1744c
mov ecx, dword [ebp - 0x550]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x550], 0
mov eax, dword [ebp - 0x2410]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00c32666
mov esp, ebp
pop ebp
ret 0x10