Function at 0x47b6e2
Capabilities:
Check if file exists
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56eaf9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x41498
call fcn.005374e0
push 0
mov eax, dword [0x5c3074]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x47b71b
jmp 0x47cc8e
call fcn.0055f60b
mov ecx, dword [eax + 4]
mov dword [ebp - 0x410c4], ecx
lea edx, [ebp - 0x38]
mov dword [ebp - 0x41364], edx
mov eax, dword [ebp - 0x41364]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x34]
mov dword [ebp - 0x41368], edx
mov eax, dword [ebp - 0x41368]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x4136c], edx
mov eax, dword [ebp - 0x4136c]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x41370], edx
mov eax, dword [ebp - 0x41370]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x41374], edx
mov eax, dword [ebp - 0x41374]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
mov dword [ebp - 4], 0
push 0x5b1b1c
push 0x9a
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b6118
test eax, eax
je 0x47b7d3
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b5e28
push 0x5b1b24
mov ecx, dword [0x5c3070]
add ecx, 0x17bc
call fcn.00551562
lea ecx, [ebp - 0x410b0]
call fcn.004e70a0
mov byte [ebp - 4], 1
mov edx, dword [0x5be480]
mov dword [ebp - 0x410c0], edx
mov byte [ebp - 4], 2
mov eax, dword [0x5be480]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 3
mov ecx, dword [0x5be480]
mov dword [ebp - 0x410bc], ecx
mov byte [ebp - 4], 4
mov edx, dword [0x5be480]
mov dword [ebp - 0x1c], edx
mov byte [ebp - 4], 5
mov eax, dword [0x5be480]
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 6
mov ecx, dword [0x5be480]
mov dword [ebp - 0x14], ecx
mov byte [ebp - 4], 7
push 0x5b1b28
lea ecx, [ebp - 0x14]
call fcn.0054d4bf
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x412d8], esp
lea edx, [ebp - 0x14]
push edx
call fcn.0054d095
mov dword [ebp - 0x413c8], eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
mov dword [ebp - 0x413cc], eax
cmp dword [ebp - 0x413cc], 0
jne 0x47b93a
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push ecx
mov ecx, esp
mov dword [ebp - 0x412dc], esp
push 0x5b1bac
call fcn.0054d39c
mov dword [ebp - 0x413d0], eax
mov eax, dword [ebp - 0x413d0]
mov dword [ebp - 0x413d4], eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x412e0], esp
push str.Common_Programs
call fcn.0054d39c
mov dword [ebp - 0x413d8], eax
lea ecx, [ebp - 0x412e4]
push ecx
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x413dc], eax
mov edx, dword [ebp - 0x413dc]
mov dword [ebp - 0x413e0], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x413e0]
push eax
lea ecx, [ebp - 0x410c0]
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x412e4]
call fcn.0054d328
mov ecx, dword [ebp - 0x410c0]
mov edx, dword [ecx - 8]
mov dword [ebp - 0x41378], edx
cmp dword [ebp - 0x41378], 0
je 0x47ba15
push 0x5b1bd4
mov eax, dword [ebp - 0x410c0]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x4137c], eax
xor ecx, ecx
cmp dword [ebp - 0x4137c], 0
sete cl
and ecx, 0xff
test ecx, ecx
je 0x47bab9
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
lea ecx, [ebp - 0x410c0]
call fcn.0054a7e6
cmp eax, 1
je 0x47badb
push 0x5b1bdc
lea ecx, [ebp - 0x410c0]
call fcn.0054d719
push ecx
mov ecx, esp
mov dword [ebp - 0x412e8], esp
push 0x5b1be0
call fcn.0054d39c
mov dword [ebp - 0x413e4], eax
mov edx, dword [ebp - 0x413e4]
mov dword [ebp - 0x413e8], edx
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x412ec], esp
push 0x5b1be8
call fcn.0054d39c
mov dword [ebp - 0x413ec], eax
lea eax, [ebp - 0x412f0]
push eax
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x413f0], eax
mov ecx, dword [ebp - 0x413f0]
mov dword [ebp - 0x413f4], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x413f4]
push edx
lea ecx, [ebp - 0x10]
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x412f0]
call fcn.0054d328
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 8]
mov dword [ebp - 0x41380], ecx
cmp dword [ebp - 0x41380], 0
je 0x47bbac
push 0x5b1c08
mov edx, dword [ebp - 0x10]
push edx
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x41384], eax
xor eax, eax
cmp dword [ebp - 0x41384], 0
sete al
and eax, 0xff
test eax, eax
je 0x47bc50
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
lea ecx, [ebp - 0x10]
call fcn.0054a7e6
cmp eax, 1
je 0x47bc6c
push 0x5b1c10
lea ecx, [ebp - 0x10]
call fcn.0054d719
push ecx
mov ecx, esp
mov dword [ebp - 0x412f4], esp
push 0x5b1c14
call fcn.0054d39c
mov dword [ebp - 0x413f8], eax
mov ecx, dword [ebp - 0x413f8]
mov dword [ebp - 0x413fc], ecx
mov byte [ebp - 4], 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x412f8], esp
push 0x5b1c1c
call fcn.0054d39c
mov dword [ebp - 0x41400], eax
lea edx, [ebp - 0x412fc]
push edx
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x41404], eax
mov eax, dword [ebp - 0x41404]
mov dword [ebp - 0x41408], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x41408]
push ecx
mov ecx, 0x5c2f8c
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x412fc]
call fcn.0054d328
mov edx, dword [0x5c2f8c]
mov eax, dword [edx - 8]
mov dword [ebp - 0x41388], eax
cmp dword [ebp - 0x41388], 0
je 0x47bd46
push 0x5b1c3c
mov ecx, dword [0x5c2f8c]
push ecx
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x4138c], eax
xor edx, edx
cmp dword [ebp - 0x4138c], 0
sete dl
and edx, 0xff
test edx, edx
je 0x47bdea
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
mov ecx, 0x5c2f8c
call fcn.0054a7e6
cmp eax, 1
je 0x47be0a
push 0x5b1c44
mov ecx, 0x5c2f8c
call fcn.0054d719
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x41300], esp
lea eax, [ebp - 0x14]
push eax
call fcn.0054d095
mov dword [ebp - 0x4140c], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
mov dword [ebp - 0x41410], eax
cmp dword [ebp - 0x41410], 0
jne 0x47beed
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push ecx
mov ecx, esp
mov dword [ebp - 0x41304], esp
push 0x5b1c48
call fcn.0054d39c
mov dword [ebp - 0x41414], eax
mov ecx, dword [ebp - 0x41414]
mov dword [ebp - 0x41418], ecx
mov byte [ebp - 4], 0x22
push ecx
mov ecx, esp
mov dword [ebp - 0x41308], esp
push 0x5b1c50
call fcn.0054d39c
mov dword [ebp - 0x4141c], eax
lea edx, [ebp - 0x4130c]
push edx
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x41420], eax
mov eax, dword [ebp - 0x41420]
mov dword [ebp - 0x41424], eax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x41424]
push ecx
lea ecx, [ebp - 0x410bc]
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4130c]
call fcn.0054d328
mov edx, dword [ebp - 0x410bc]
mov eax, dword [edx - 8]
mov dword [ebp - 0x41390], eax
cmp dword [ebp - 0x41390], 0
je 0x47bfc8
push 0x5b1c64
mov ecx, dword [ebp - 0x410bc]
push ecx
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x41394], eax
xor edx, edx
cmp dword [ebp - 0x41394], 0
sete dl
and edx, 0xff
test edx, edx
je 0x47c06c
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
lea ecx, [ebp - 0x410bc]
call fcn.0054a7e6
cmp eax, 1
je 0x47c08e
push 0x5b1c6c
lea ecx, [ebp - 0x410bc]
call fcn.0054d719
push ecx
mov ecx, esp
mov dword [ebp - 0x41310], esp
push 0x5b1c70
call fcn.0054d39c
mov dword [ebp - 0x41428], eax
mov eax, dword [ebp - 0x41428]
mov dword [ebp - 0x4142c], eax
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0x41314], esp
push 0x5b1c78
call fcn.0054d39c
mov dword [ebp - 0x41430], eax
lea ecx, [ebp - 0x41318]
push ecx
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x41434], eax
mov edx, dword [ebp - 0x41434]
mov dword [ebp - 0x41438], edx
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x41438]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x41318]
call fcn.0054d328
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx - 8]
mov dword [ebp - 0x41398], edx
cmp dword [ebp - 0x41398], 0
je 0x47c160
push 0x5b1c88
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x4139c], eax
xor ecx, ecx
cmp dword [ebp - 0x4139c], 0
sete cl
and ecx, 0xff
test ecx, ecx
je 0x47c204
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x2d
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
lea ecx, [ebp - 0x1c]
call fcn.0054a7e6
cmp eax, 1
je 0x47c220
push 0x5b1c90
lea ecx, [ebp - 0x1c]
call fcn.0054d719
push ecx
mov ecx, esp
mov dword [ebp - 0x4131c], esp
push 0x5b1c94
call fcn.0054d39c
mov dword [ebp - 0x4143c], eax
mov edx, dword [ebp - 0x4143c]
mov dword [ebp - 0x41440], edx
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, esp
mov dword [ebp - 0x41320], esp
push 0x5b1c9c
call fcn.0054d39c
mov dword [ebp - 0x41444], eax
lea eax, [ebp - 0x41324]
push eax
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x41448], eax
mov ecx, dword [ebp - 0x41448]
mov dword [ebp - 0x4144c], ecx
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x4144c]
push edx
lea ecx, [ebp - 0x40]
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x41324]
call fcn.0054d328
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax - 8]
mov dword [ebp - 0x413a0], ecx
cmp dword [ebp - 0x413a0], 0
je 0x47c2f1
push 0x5b1cac
mov edx, dword [ebp - 0x40]
push edx
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x413a4], eax
xor eax, eax
cmp dword [ebp - 0x413a4], 0
sete al
and eax, 0xff
test eax, eax
je 0x47c395
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
lea ecx, [ebp - 0x40]
call fcn.0054a7e6
cmp eax, 1
je 0x47c3b1
push 0x5b1cb4
lea ecx, [ebp - 0x40]
call fcn.0054d719
push ecx
mov ecx, esp
mov dword [ebp - 0x41328], esp
push 0x5b1cb8
call fcn.0054d39c
mov dword [ebp - 0x41450], eax
mov ecx, dword [ebp - 0x41450]
mov dword [ebp - 0x41454], ecx
mov byte [ebp - 4], 0x34
push ecx
mov ecx, esp
mov dword [ebp - 0x4132c], esp
push 0x5b1cc0
call fcn.0054d39c
mov dword [ebp - 0x41458], eax
lea edx, [ebp - 0x41330]
push edx
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 7
call fcn.00425c70
mov dword [ebp - 0x4145c], eax
mov eax, dword [ebp - 0x4145c]
mov dword [ebp - 0x41460], eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x41460]
push ecx
mov ecx, 0x5c2f88
call fcn.0054d46f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x41330]
call fcn.0054d328
mov edx, dword [0x5c2f88]
mov eax, dword [edx - 8]
mov dword [ebp - 0x413a8], eax
cmp dword [ebp - 0x413a8], 0
je 0x47c48b
push 0x5b1cd0
mov ecx, dword [0x5c2f88]
push ecx
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x413ac], eax
xor edx, edx
cmp dword [ebp - 0x413ac], 0
sete dl
and edx, 0xff
test edx, edx
je 0x47c52f
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
push 0x5c
mov ecx, 0x5c2f88
call fcn.0054a7e6
cmp eax, 1
je 0x47c54f
push 0x5b1cd8
mov ecx, 0x5c2f88
call fcn.0054d719
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x410c4]
add ecx, 0x14c
call fcn.0054c43e
push ecx
mov ecx, esp
mov dword [ebp - 0x41334], esp
lea eax, [ebp - 0x10]
push eax
call fcn.0054d095
mov dword [ebp - 0x41464], eax
call fcn.0047cc9c
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x41338], esp
lea edx, [ebp - 0x1c]
push edx
call fcn.0054d095
mov dword [ebp - 0x41468], eax
call fcn.0047cc9c
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x4133c], esp
lea eax, [ebp - 0x410c0]
push eax
call fcn.0054d095
mov dword [ebp - 0x4146c], eax
call fcn.0047cc9c
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x41340], esp
lea edx, [ebp - 0x410bc]
push edx
call fcn.0054d095
mov dword [ebp - 0x41470], eax
call fcn.0047cc9c
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x41344], esp
lea eax, [ebp - 0x40]
push eax
call fcn.0054d095
mov dword [ebp - 0x41474], eax
call fcn.0047cc9c
add esp, 4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x410b8], 1
mov ecx, dword [0x5be480]
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x3a
mov edx, dword [0x5be480]
mov dword [ebp - 0x20], edx
mov byte [ebp - 4], 0x3b
mov dword [ebp - 0x410b4], 0
jmp 0x47c651
mov eax, dword [ebp - 0x410b4]
add eax, 1
mov dword [ebp - 0x410b4], eax
mov ecx, dword [ebp - 0x410c4]
mov edx, dword [ecx + 0x154]
mov dword [ebp - 0x413b0], edx
mov eax, dword [ebp - 0x410b4]
cmp eax, dword [ebp - 0x413b0]
jge 0x47caef
push 0
mov ecx, dword [0x5c3074]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x47c748
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x3f
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
jmp 0x47cc8e
mov edx, dword [ebp - 0x410c4]
mov eax, dword [edx + 0x150]
mov ecx, dword [ebp - 0x410b4]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x413b4], edx
mov eax, dword [ebp - 0x413b4]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xb14
call fcn.00551562
mov ecx, dword [0x5be480]
mov dword [ebp - 0x412d4], ecx
mov byte [ebp - 4], 0x40
mov edx, dword [0x5be480]
mov dword [ebp - 0x412d0], edx
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x410c4]
mov ecx, dword [eax + 0x150]
mov edx, dword [ebp - 0x410b4]
lea eax, [ecx + edx*4]
push eax
lea ecx, [ebp - 0x412d4]
call fcn.0054d46f
lea ecx, [ebp - 0x412cc]
push ecx
mov edx, dword [ebp - 0x412d4]
push edx
mov ecx, dword [ebp - 0x410c4]
call fcn.004bce11
lea eax, [ebp - 0x412cc]
push eax
lea ecx, [ebp - 0x412d0]
call fcn.0054d4bf
mov ecx, dword [ebp - 0x412d0]
mov edx, dword [ecx - 8]
mov dword [ebp - 0x413b8], edx
cmp dword [ebp - 0x413b8], 0
je 0x47cacc
lea eax, [ebp - 0x412d0]
push eax
lea ecx, [ebp - 0x20]
call fcn.004b257a
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x412d0]
call fcn.0054d4bf
mov edx, dword [ebp - 0x412d0]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x47cacc
push ecx
mov ecx, esp
mov dword [ebp - 0x41348], esp
push 0x5c3358
call fcn.0054d39c
mov dword [ebp - 0x41478], eax
mov eax, dword [ebp - 0x41478]
mov dword [ebp - 0x4147c], eax
mov byte [ebp - 4], 0x42
push ecx
mov ecx, esp
mov dword [ebp - 0x4134c], esp
push 0x5c335c
call fcn.0054d39c
mov dword [ebp - 0x41480], eax
mov ecx, dword [ebp - 0x41480]
mov dword [ebp - 0x41484], ecx
mov byte [ebp - 4], 0x43
push ecx
mov ecx, esp
mov dword [ebp - 0x41350], esp
lea edx, [ebp - 0x412d4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41488], eax
push 0
mov byte [ebp - 4], 0x41
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x4148c], eax
cmp dword [ebp - 0x4148c], 0
jne 0x47cacc
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x412d4]
push eax
lea ecx, [ebp - 0x34]
call fcn.0054d46f
lea ecx, [ebp - 0x412d4]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0054d46f
push 0x5c3360
lea ecx, [ebp - 0x30]
call fcn.0054d4bf
push 0x5c3364
lea ecx, [ebp - 0x2c]
call fcn.0054d4bf
mov dword [ebp - 0x28], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41354], esp
push 0x5b1cdc
call fcn.0054d39c
mov dword [ebp - 0x41490], eax
lea edx, [ebp - 0x41358]
push edx
mov ecx, dword [ebp - 0x410c4]
call fcn.004be333
mov dword [ebp - 0x41494], eax
mov eax, dword [ebp - 0x41494]
mov dword [ebp - 0x41498], eax
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x41498]
push ecx
lea ecx, [ebp - 0x24]
call fcn.0054d46f
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x41358]
call fcn.0054d328
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x4135c], esp
mov dword [ebp - 0x413bc], edx
mov eax, dword [ebp - 0x413bc]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
lea edx, [ebp - 0x38]
push edx
mov ecx, dword [ebp - 0x413bc]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x413bc]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x413bc]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x413bc]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x413bc]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x14], ecx
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x413bc]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x413bc]
mov dword [ebp - 0x4149c], eax
mov ecx, dword [ebp - 0x410c4]
add ecx, 0x29c
call fcn.0045ada0
push 1
push 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x41360], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.0045ac60
mov dword [ebp - 0x414a0], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [ebp - 0x410b8]
push eax
push 0x5b1d00
lea ecx, [ebp - 0x18]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x17bc
call fcn.00551562
mov eax, dword [ebp - 0x410c4]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5b1d08
lea edx, [ebp - 0x18]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410c4]
mov edx, dword [ecx + 0x588]
add edx, 1
mov eax, dword [ebp - 0x410c4]
mov dword [eax + 0x588], edx
mov ecx, dword [ebp - 0x410b8]
add ecx, 1
mov dword [ebp - 0x410b8], ecx
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x412d0]
call fcn.0054d328
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x412d4]
call fcn.0054d328
jmp 0x47c642
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x5c3070]
add edx, 0x1110
mov dword [ebp - 0x413c0], edx
cmp dword [ebp - 0x413c0], 0
jne 0x47cb1c
mov dword [ebp - 0x414a4], 0
jmp 0x47cb2b
mov eax, dword [ebp - 0x413c0]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x414a4], ecx
cmp dword [ebp - 0x414a4], 0
je 0x47cbd7
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b7291
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b5bcf
mov edx, dword [ebp - 0x410c4]
mov eax, dword [edx + 0x2a4]
mov dword [ebp - 0x413c4], eax
cmp dword [ebp - 0x413c4], 0
jne 0x47cba7
push 0x5b1d10
push 0x114
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b6118
test eax, eax
je 0x47cba5
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b5e28
jmp 0x47cbd7
push 0x5b1d18
push 0x113
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b6118
test eax, eax
je 0x47cbd7
mov ecx, dword [0x5c3070]
add ecx, 0x1110
call fcn.004b5e28
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410c0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x4c
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0054d328
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret