Function at 0x4392e0
Capabilities:
Check if file exists
Delete registry key
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43fb4b
mov eax, dword fs:[0]
push eax
sub esp, 0x524
mov eax, dword [0x44f1a4]
xor eax, ebp
mov dword [ebp - 0x48], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0xfc]
call fcn.00404a10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x239]
call fcn.00412ba0
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x13c]
call fcn.004025a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x23a]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x68]
call fcn.004030c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x23b]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0xd8]
call fcn.004030c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x23c]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004030c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x23d]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x198]
call fcn.004030c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c30
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x23e]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0xb8]
call fcn.004030c0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.0043d190
mov byte [ebp - 4], 8
push 0
lea edx, [ebp - 0xb8]
push edx
push str._run
lea ecx, [ebp - 0xfc]
call fcn.0043d840
lea ecx, [ebp - 0xb4]
call fcn.00401e80
movzx eax, al
test eax, eax
je 0x43941d
mov dword [ebp - 0x10], 1
push 0
call fcn.00419de0
add esp, 4
jmp 0x43942d
push 0xa
lea ecx, [ebp - 0xb8]
call fcn.0041a2f0
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov edx, dword [ebp + 0x10]
push edx
movzx eax, word [ebp - 0x8a]
push eax
movzx ecx, word [ebp - 0x8c]
push ecx
movzx edx, word [ebp - 0x8e]
push edx
movzx eax, word [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x4442a4
push str.uninstaller__s_started___d____02d:_02d:_02d__03dms_:__s
call fcn.00419de0
add esp, 0x20
push 0
lea edx, [ebp - 0x68]
push edx
push str._key
lea ecx, [ebp - 0xfc]
call fcn.0043d840
lea ecx, [ebp - 0x64]
call fcn.00401e80
movzx eax, al
test eax, eax
je 0x43980a
cmp dword [ebp - 0x10], 1
je 0x43955a
push str.2nd_no_key
call fcn.00419de0
add esp, 4
push 1
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x244], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x244]
jmp 0x43a81b
push 0
lea ecx, [ebp - 0x68]
push ecx
push str._name
lea ecx, [ebp - 0xfc]
call fcn.0043d840
lea ecx, [ebp - 0x64]
call fcn.00401e80
movzx edx, al
test edx, edx
jne 0x4395cb
lea ecx, [ebp - 0x64]
call fcn.00403120
push eax
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x44]
call fcn.0043d120
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x4b0]
push edx
lea ecx, [ebp - 0x68]
call fcn.00402660
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x264]
call fcn.00402df0
lea ecx, [ebp - 0x64]
call fcn.00401e80
movzx eax, al
test eax, eax
je 0x439693
lea ecx, [ebp - 0x284]
push ecx
call fcn.00438760
add esp, 4
mov dword [ebp - 0x4b4], eax
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4b8], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00402660
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x284]
call fcn.00402df0
push 0
lea ecx, [ebp - 0xb4]
call fcn.00403120
push eax
push 0x444354
lea ecx, [ebp - 0x2a4]
push ecx
lea ecx, [ebp - 0x44]
call fcn.0043cb70
mov dword [ebp - 0x4bc], eax
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x4c0]
push eax
lea ecx, [ebp - 0x68]
call fcn.00402660
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2a4]
call fcn.00402df0
lea ecx, [ebp - 0xb4]
call fcn.00403120
push eax
push str.parent:__s
call fcn.00419de0
add esp, 8
lea ecx, [ebp - 0x64]
call fcn.00401e80
movzx ecx, al
test ecx, ecx
je 0x439759
push str.no_key_info
call fcn.00419de0
add esp, 4
push 2
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x2a8]
jmp 0x43a81b
lea edx, [ebp - 0x68]
test edx, edx
je 0x43976e
lea eax, [ebp - 0x68]
add eax, 4
mov dword [ebp - 0x4c4], eax
jmp 0x439778
mov dword [ebp - 0x4c4], 0
mov ecx, dword [ebp - 0x4c4]
push ecx
push 0x4443a8
lea edx, [ebp - 0x2c4]
push edx
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x4cc], eax
mov byte [ebp - 4], 0xc
push 0x4443a4
mov ecx, dword [ebp - 0x4cc]
push ecx
lea edx, [ebp - 0x2e0]
push edx
call fcn.00401990
add esp, 0xc
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x4d4], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x4d4]
push ecx
lea ecx, [ebp - 0x138]
call fcn.004010a0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2e0]
call fcn.00403070
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c4]
call fcn.00403070
cmp dword [ebp - 0x10], 1
jne 0x439d2b
lea ecx, [ebp - 0x305]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x64]
call fcn.00403120
push eax
lea ecx, [ebp - 0x304]
call fcn.004025a0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x304]
push ecx
lea ecx, [ebp - 0x44]
call fcn.0043c6f0
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
mov byte [ebp - 0x2e1], dl
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x304]
call fcn.00402df0
movzx eax, byte [ebp - 0x2e1]
test eax, eax
je 0x43993f
lea ecx, [ebp - 0x64]
call fcn.00403120
push eax
push str.no_ts_for__s
call fcn.00419de0
add esp, 8
push 3
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x30c], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x30c]
jmp 0x43a81b
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x32c]
push edx
call fcn.00438500
add esp, 8
mov ecx, dword [eax]
mov dword [ebp - 0x31c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x318], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x314], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x200], eax
movzx ecx, word [ebp - 0x8a]
push ecx
movzx edx, word [ebp - 0x8c]
push edx
movzx eax, word [ebp - 0x8e]
push eax
movzx ecx, word [ebp - 0x90]
push ecx
movzx edx, word [ebp - 0x92]
push edx
movzx eax, word [ebp - 0x96]
push eax
movzx ecx, word [ebp - 0x98]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00403120
push eax
push str.ts__s_04d__02d__02d__02d:_02d:_02d__03dms_
call fcn.00419de0
add esp, 0x24
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0xfc]
push eax
call fcn.00439110
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x439acd
push str.rusd:no
call fcn.00419de0
add esp, 4
push 6
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x330], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x330]
jmp 0x43a81b
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0xfc]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.00438fa0
add esp, 0x10
lea eax, [ebp - 0xd8]
test eax, eax
je 0x439b09
lea ecx, [ebp - 0xd8]
add ecx, 4
mov dword [ebp - 0x4d8], ecx
jmp 0x439b13
mov dword [ebp - 0x4d8], 0
mov edx, dword [ebp - 0x4d8]
push edx
push str.__ts
lea eax, [ebp - 0x34c]
push eax
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x4e0]
push edx
lea ecx, [ebp - 0x138]
call fcn.004010a0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x34c]
call fcn.00403070
lea eax, [ebp - 0x1fc]
test eax, eax
je 0x439b80
lea ecx, [ebp - 0x1fc]
add ecx, 4
mov dword [ebp - 0x4e4], ecx
jmp 0x439b8a
mov dword [ebp - 0x4e4], 0
mov edx, dword [ebp - 0x4e4]
push edx
push 0x444454
lea eax, [ebp - 0x368]
push eax
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
mov dword [ebp - 0x4ec], ecx
mov byte [ebp - 4], 0x10
push 0x444450
mov edx, dword [ebp - 0x4ec]
push edx
lea eax, [ebp - 0x384]
push eax
call fcn.00401990
add esp, 0xc
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x4f4]
push edx
lea ecx, [ebp - 0x138]
call fcn.004010a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x384]
call fcn.00403070
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x368]
call fcn.00403070
push str.__run_2
lea ecx, [ebp - 0x138]
call fcn.00401e50
lea eax, [ebp - 0x198]
test eax, eax
je 0x439c47
lea ecx, [ebp - 0x198]
add ecx, 4
mov dword [ebp - 0x4f8], ecx
jmp 0x439c51
mov dword [ebp - 0x4f8], 0
mov edx, dword [ebp - 0x4f8]
push edx
lea ecx, [ebp - 0x138]
call fcn.004010a0
lea ecx, [ebp - 0x138]
call fcn.00403120
push eax
push str.run_2nd:__s
call fcn.00419de0
add esp, 8
push 1
lea ecx, [ebp - 0x138]
call fcn.00403120
push eax
call fcn.004383e0
add esp, 8
mov dword [ebp - 0x388], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x388]
jmp 0x43a81b
cmp dword [ebp - 0x10], 2
jne 0x439e24
push str._run_3
push str._run_2
lea ecx, [ebp - 0x13c]
call fcn.00413ec0
xor eax, eax
mov byte [ebp - 0x389], al
lea ecx, [ebp - 0x138]
call fcn.00403120
push eax
lea ecx, [ebp - 0x389]
call fcn.0043e170
test eax, eax
jne 0x439e17
push str.latest_found
call fcn.00419de0
add esp, 4
mov dword [ebp - 0x390], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x390]
jmp 0x43a81b
push str.no_latest
call fcn.00419de0
add esp, 4
push 0
lea ecx, [ebp - 0x1fc]
push ecx
push str._dname
lea ecx, [ebp - 0xfc]
call fcn.0043d840
push 0
lea edx, [ebp - 0xd8]
push edx
push 0x4444f0
lea ecx, [ebp - 0xfc]
call fcn.0043d840
push 0
lea eax, [ebp - 0x198]
push eax
push str._bret
lea ecx, [ebp - 0xfc]
call fcn.0043d840
cmp eax, 0xffffffff
je 0x439ec0
push 0xa
lea ecx, [ebp - 0x198]
call fcn.0041a2f0
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
push edx
push str.bret_d
lea eax, [ebp - 0xb8]
push eax
call fcn.00402260
add esp, 0xc
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.0043d960
push 0
push str._uprtc
lea ecx, [ebp - 0xfc]
call fcn.0043d670
cmp eax, 0xffffffff
je 0x439f23
call fcn.00436190
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
push edx
push str.prtc_removed:__d
call fcn.00419de0
add esp, 8
mov eax, dword [ebp - 0x214]
push eax
push str.uprtc_d
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00402260
add esp, 0xc
lea edx, [ebp - 0xb8]
push edx
lea ecx, [ebp - 0x11c]
call fcn.0043d960
lea ecx, [ebp - 0x391]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x1b8]
call fcn.004030c0
mov byte [ebp - 4], 0x12
push 0
lea eax, [ebp - 0x1b8]
push eax
push str._rmbus
lea ecx, [ebp - 0xfc]
call fcn.0043d840
cmp eax, 0xffffffff
je 0x439fbc
lea ecx, [ebp - 0x1b4]
call fcn.00401e80
movzx ecx, al
test ecx, ecx
jne 0x439fbc
lea edx, [ebp - 0x1b8]
push edx
call fcn.00438840
add esp, 4
mov dword [ebp - 0x218], eax
lea ecx, [ebp - 0x1b4]
call fcn.00403120
push eax
mov eax, dword [ebp - 0x218]
push eax
push str.rmbus_dbusnm_s
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00402260
add esp, 0x10
lea edx, [ebp - 0xb8]
push edx
lea ecx, [ebp - 0x11c]
call fcn.0043d960
lea ecx, [ebp - 0x392]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x178]
call fcn.004030c0
mov byte [ebp - 4], 0x13
push 0
lea eax, [ebp - 0x178]
push eax
push str._rmcrx
lea ecx, [ebp - 0xfc]
call fcn.0043d840
cmp eax, 0xffffffff
je 0x43a0c3
lea ecx, [ebp - 0x174]
call fcn.00401e80
movzx ecx, al
test ecx, ecx
jne 0x43a0c3
lea edx, [ebp - 0x178]
test edx, edx
je 0x43a02a
lea eax, [ebp - 0x178]
add eax, 4
mov dword [ebp - 0x4fc], eax
jmp 0x43a034
mov dword [ebp - 0x4fc], 0
mov ecx, dword [ebp - 0x4fc]
push ecx
push 0x4445a8
lea edx, [ebp - 0x3b0]
push edx
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x504], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x504]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00401a90
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3b0]
call fcn.00403070
lea ecx, [ebp - 0xb4]
call fcn.00403120
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x174]
call fcn.00403120
push eax
push str.rmcrx:__s___d
call fcn.00419de0
add esp, 0xc
lea ecx, [ebp - 0x1f8]
call fcn.00403120
push eax
push str.curr_app:__s
call fcn.00419de0
add esp, 8
lea eax, [ebp - 0x1fc]
test eax, eax
je 0x43a0f7
lea ecx, [ebp - 0x1fc]
add ecx, 4
mov dword [ebp - 0x508], ecx
jmp 0x43a101
mov dword [ebp - 0x508], 0
mov edx, dword [ebp - 0x508]
push edx
push str.dname
lea eax, [ebp - 0x3ec]
push eax
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x510]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.00401a20
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0043d960
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3d0]
call fcn.00402df0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3ec]
call fcn.00403070
lea ecx, [ebp - 0x40c]
push ecx
call fcn.00438760
add esp, 4
mov dword [ebp - 0x514], eax
mov edx, dword [ebp - 0x514]
mov dword [ebp - 0x518], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x518]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00402660
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x40c]
call fcn.00402df0
lea ecx, [ebp - 0xb4]
call fcn.00403120
push eax
push str.run_by:__s
call fcn.00419de0
add esp, 8
lea ecx, [ebp - 0xb8]
test ecx, ecx
je 0x43a1f2
lea edx, [ebp - 0xb8]
add edx, 4
mov dword [ebp - 0x51c], edx
jmp 0x43a1fc
mov dword [ebp - 0x51c], 0
mov eax, dword [ebp - 0x51c]
push eax
push str.sufn
lea ecx, [ebp - 0x448]
push ecx
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x520], eax
mov edx, dword [ebp - 0x520]
mov dword [ebp - 0x524], edx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x524]
push eax
lea ecx, [ebp - 0x42c]
call fcn.00401a20
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.0043d960
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x42c]
call fcn.00402df0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x448]
call fcn.00403070
lea ecx, [ebp - 0x449]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.004030c0
mov byte [ebp - 4], 0x1a
lea edx, [ebp - 0x1dc]
push edx
lea eax, [ebp - 0x68]
push eax
call fcn.00438c20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x43a3b6
lea edx, [ebp - 0x1dc]
push edx
lea eax, [ebp - 0x68]
push eax
call fcn.00438560
add esp, 8
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x43a31b
lea ecx, [ebp - 0x1d8]
call fcn.00403120
push eax
mov ecx, dword [ebp - 0x220]
push ecx
push str.OrigString_error__d___s
call fcn.00419de0
add esp, 0xc
mov edx, dword [ebp - 0x220]
push edx
push str.origerr_d
lea eax, [ebp - 0xb8]
push eax
call fcn.00402260
add esp, 0xc
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.0043d960
cmp dword [ebp - 0x220], 0
je 0x43a331
cmp dword [ebp - 0x220], 1
jne 0x43a3b6
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1d8]
call fcn.00403120
push eax
call fcn.00435370
add esp, 0x18
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x224]
push edx
lea ecx, [ebp - 0x1d8]
call fcn.00403120
push eax
push str.exec:__s___d_
call fcn.00419de0
add esp, 0xc
lea ecx, [ebp - 0x46d]
call fcn.00412ba0
push eax
push str.other1
lea ecx, [ebp - 0x46c]
call fcn.004025a0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x46c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0043d960
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x46c]
call fcn.00402df0
lea ecx, [ebp - 0x158]
call fcn.0041a1e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x158]
push ecx
push str._rmpath
lea ecx, [ebp - 0xfc]
call fcn.0043d8a0
test eax, eax
je 0x43a4f8
lea edx, [ebp - 0x478]
push edx
lea ecx, [ebp - 0x158]
call fcn.0041a2c0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], edx
jmp 0x43a414
lea ecx, [ebp - 0x230]
call fcn.0041a440
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x158]
call fcn.00403d80
push eax
lea ecx, [ebp - 0x230]
call fcn.0041a4b0
movzx ecx, al
test ecx, ecx
je 0x43a4f8
mov dword [ebp - 0x228], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.0041a420
add eax, 4
mov ecx, eax
call fcn.00403120
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xffffffff
je 0x43a4c9
mov edx, dword [ebp - 0x234]
and edx, 0x10
je 0x43a4a4
push 0
lea ecx, [ebp - 0x230]
call fcn.0041a3c0
push eax
call fcn.00438200
add esp, 8
movzx eax, al
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x228], eax
jmp 0x43a4c9
push 1
lea ecx, [ebp - 0x230]
call fcn.0041a3c0
push eax
call fcn.00436b40
add esp, 8
movzx ecx, al
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
push edx
lea ecx, [ebp - 0x230]
call fcn.0041a420
add eax, 4
mov ecx, eax
call fcn.00403120
push eax
push str.rmpath:__s___d
call fcn.00419de0
add esp, 0xc
jmp 0x43a409
push 0
push str._rmkey
lea ecx, [ebp - 0xfc]
call fcn.0043d670
cmp eax, 0xffffffff
je 0x43a5b5
lea eax, [ebp - 0x68]
test eax, eax
je 0x43a528
lea ecx, [ebp - 0x68]
add ecx, 4
mov dword [ebp - 0x528], ecx
jmp 0x43a532
mov dword [ebp - 0x528], 0
mov edx, dword [ebp - 0x528]
push edx
push 0x444718
lea eax, [ebp - 0x49c]
push eax
call fcn.00401b70
add esp, 0xc
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], ecx
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x530]
push edx
lea ecx, [ebp - 0xb8]
call fcn.00401a90
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x49c]
call fcn.00403070
lea ecx, [ebp - 0xb4]
call fcn.00403120
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
push eax
push str.rmkey:__d
call fcn.00419de0
add esp, 8
lea ecx, [ebp - 0x49d]
call fcn.00412ba0
push eax
lea ecx, [ebp - 0x88]
call fcn.004030c0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x88]
push ecx
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x44]
call fcn.0043d2a0
movzx ecx, al
test ecx, ecx
jne 0x43a6f6
push str.no_other_apps_found
call fcn.00419de0
add esp, 4
push 8
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x4a4], 0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x88]
call fcn.00402df0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x158]
call fcn.0041a260
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1dc]
call fcn.00402df0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x178]
call fcn.00402df0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1b8]
call fcn.00402df0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x4a4]
jmp 0x43a81b
push 1
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00438de0
add esp, 0x10
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1bc]
and edx, 0xffff
movzx eax, dx
neg eax
sbb eax, eax
neg eax
add eax, 9
push eax
lea ecx, [ebp - 0x11c]
call fcn.0043da60
mov dword [ebp - 0x4a8], 0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x88]
call fcn.00402df0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x158]
call fcn.0041a260
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1dc]
call fcn.00402df0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x178]
call fcn.00402df0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1b8]
call fcn.00402df0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00413ae0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb8]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call fcn.00419c90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x198]
call fcn.00402df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1fc]
call fcn.00402df0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00402df0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.00419c90
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x48]
xor ecx, ebp
call fcn.0041bbb4
mov esp, ebp
pop ebp
ret 0x10