Function at 0x41cf88
Capabilities:
Copy file
Persist via run registry key
Set file attributes
Set registry value

Disassembly:
mov eax, 0x46f7ca
call fcn.00453e8c
mov eax, 0x22a4
call fcn.004545d0
push ebx
push esi
push edi
mov dword [ebp - 0x2c], ecx
call fcn.00401166
mov dword [ebp - 0x14], eax
xor ebx, ebx
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0xaae]
mov word [ebp - 0xab0], bx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x14]
stosw word es:[edi], ax
call fcn.0042c7bf
test eax, eax
jne 0x41d11f
lea ecx, [ebp - 0xbc]
call fcn.004020b2
mov eax, dword [0x4959b0]
mov dword [ebp - 4], ebx
cmp eax, ebx
jne 0x41cff0
mov eax, 0x4755fc
push eax
lea eax, [ebp - 0xab0]
push 0x496a00
push eax
call fcn.00435235
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0xab0]
push ebx
push eax
push 0x4959d0
call esi
lea eax, [ebp - 0xab0]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0xab0]
lea ecx, [ebp - 0xbc]
push eax
call fcn.0040251f
push 9
xor eax, eax
pop ecx
lea edi, [ebp - 0x5e]
mov word [ebp - 0x60], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x268]
movzx eax, word [eax + 0x48]
push eax
lea eax, [ebp - 0x60]
push 0x48b830
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x1ab0]
push eax
lea eax, [ebp - 0x22b0]
push eax
push 0x4959d0
call fcn.00434fdf
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x22b0]
push eax
lea eax, [ebp - 0x1ab0]
push eax
call fcn.00435235
lea eax, [ebp - 0x1ab0]
push 0x489ac0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x12ae]
mov word [ebp - 0x12b0], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x12b0]
push 0x496a00
push eax
call fcn.00435235
lea eax, [ebp - 0x12b0]
push 0x489ac0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x12b0]
push ebx
push eax
lea eax, [ebp - 0x1ab0]
push eax
call esi
lea eax, [ebp - 0x12b0]
lea ecx, [ebp - 0xbc]
push eax
call fcn.0040251f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.004020df
jmp 0x41d131
lea eax, [ebp - 0xab0]
push 0x4959d0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [0x4757a0]
mov esi, 0x4755e0
mov edi, 0x4755d8
cmp eax, ebx
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xec], edi
jne 0x41d155
mov eax, 0x493568
lea ecx, [ebp - 0x25]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.004011a9
mov eax, dword [0x47576c]
mov dword [ebp - 4], 1
cmp eax, ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x40], edi
jne 0x41d181
mov eax, 0x493568
lea ecx, [ebp - 0x1d]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.004011a9
mov ecx, dword [ebp - 0x14]
push 0xa
lea eax, [ebp - 0x10c]
push ebx
push eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 2
call fcn.0042de60
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 1
call fcn.00401093
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c]
call fcn.00401093
lea eax, [ebp - 0x1d]
mov esi, 0x475628
mov edi, 0x475620
push ebx
push eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xc4], edi
call fcn.00403bf5
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x1d]
push ebx
push eax
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 4
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x13c], edi
call fcn.00403bf5
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 5
sub eax, ebx
je 0x41d24d
dec eax
je 0x41d22f
dec eax
jne 0x41d269
mov eax, 0x48a098
jmp 0x41d234
mov eax, 0x48b7c8
mov ecx, eax
test ecx, ecx
jne 0x41d23f
mov eax, 0x493568
push eax
lea ecx, [ebp - 0x15c]
call fcn.00403d99
jmp 0x41d273
mov eax, 0x48b764
mov ecx, eax
test ecx, ecx
jne 0x41d25d
mov eax, 0x493568
push eax
lea ecx, [ebp - 0x15c]
call fcn.00403d99
cmp dword [ebp - 0x34], 3
je 0x41da89
mov eax, dword [ebp - 0x154]
cmp eax, ebx
jne 0x41d282
mov eax, 0x475650
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push ecx
push 0xf003f
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x41da89
lea ecx, [ebp - 0x1c]
call fcn.0041128a
mov ecx, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x1c], ecx
jne 0x41da89
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c0], esi
cmp eax, ebx
mov dword [ebp - 0x1a0], edi
jne 0x41d2d1
mov eax, 0x493568
lea ecx, [ebp - 0x25]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00403cfd
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], 6
je 0x41d307
push 0x48b744
call fcn.00453eb4
pop ecx
push eax
push 0x48b744
lea ecx, [ebp - 0x1bc]
call fcn.004100c5
lea eax, [ebp + 0xf]
push ebx
push eax
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x68], edi
call fcn.00403bf5
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 7
mov eax, dword [eax + 0x14]
dec eax
je 0x41d404
dec eax
je 0x41d3af
dec eax
je 0x41d355
dec eax
je 0x41d34b
dec eax
jne 0x41d420
mov eax, 0x48b73c
jmp 0x41d409
mov eax, 0x48b734
jmp 0x41d409
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2b0]
push 8
push eax
call fcn.0040a47b
push eax
lea eax, [ebp - 0x134]
push 0x48a24c
push eax
mov byte [ebp - 4], 0xa
call fcn.0040c638
add esp, 0xc
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xb
call fcn.0040249e
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xa
call fcn.00402424
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b0]
call fcn.00402424
jmp 0x41d420
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xb0]
push 8
push eax
call fcn.0040a47b
push eax
lea eax, [ebp - 0x288]
push 0x48a280
push eax
mov byte [ebp - 4], 8
call fcn.0040c638
add esp, 0xc
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 9
call fcn.0040249e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 8
call fcn.00402424
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
jmp 0x41d3a8
mov eax, 0x48a31c
mov ecx, eax
test ecx, ecx
jne 0x41d414
mov eax, 0x493568
push eax
lea ecx, [ebp - 0x88]
call fcn.00403d99
mov ecx, dword [ebp - 0x14]
call fcn.0042c7bf
test eax, eax
mov eax, 0x48b72c
jne 0x41d436
mov eax, 0x493568
cmp eax, ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x40], edi
jne 0x41d445
mov eax, 0x493568
lea ecx, [ebp - 0x35]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00403cfd
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x10c]
push eax
mov byte [ebp - 4], 0xc
call fcn.0042a6a1
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
call fcn.0042a8d6
cmp eax, ebx
mov dword [ebp - 0x260], esi
mov dword [ebp - 0x240], edi
jne 0x41d487
mov eax, 0x493568
lea ecx, [ebp - 0x38]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x260]
call fcn.00403cfd
mov eax, 0x496a00
mov byte [ebp - 4], 0xe
test eax, eax
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x218], edi
jne 0x41d4b6
mov eax, 0x493568
lea ecx, [ebp - 0x37]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.00403cfd
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.0042c7bf
test eax, eax
je 0x41d555
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x54], ebx
jne 0x41d555
mov edx, dword [ebp - 0x58]
mov eax, 0x475650
cmp edx, ebx
jne 0x41d4ed
mov edx, eax
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp + 8], eax
cmp ecx, ebx
je 0x41d4fd
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x10], eax
cmp ecx, ebx
je 0x41d50d
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x2c], eax
cmp ecx, ebx
je 0x41d51d
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x80]
cmp ecx, ebx
jne 0x41d526
mov ecx, eax
cmp dword [ebp - 0x104], ebx
je 0x41d534
mov eax, dword [ebp - 0x104]
push edx
mov edx, dword [ebp - 0x14]
push dword [ebp + 8]
mov edx, dword [edx + 0x268]
push dword [ebp - 0x10]
movzx edx, word [edx + 0x48]
push dword [ebp - 0x2c]
push edx
push ecx
push eax
push 0x48b6d4
jmp 0x41d5c9
mov edx, dword [ebp - 0x58]
mov eax, 0x475650
cmp edx, ebx
jne 0x41d563
mov edx, eax
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp + 8], eax
cmp ecx, ebx
je 0x41d573
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x2c], eax
cmp ecx, ebx
je 0x41d583
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x10], eax
cmp ecx, ebx
je 0x41d593
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x80]
cmp ecx, ebx
jne 0x41d59c
mov ecx, eax
cmp dword [ebp - 0x104], ebx
je 0x41d5aa
mov eax, dword [ebp - 0x104]
push edx
mov edx, dword [ebp - 0x14]
push dword [ebp + 8]
mov edx, dword [edx + 0x268]
push dword [ebp - 0x2c]
movzx edx, word [edx + 0x48]
push dword [ebp - 0x10]
push edx
push ecx
push eax
push 0x48b688
lea eax, [ebp - 0xe4]
push eax
call fcn.0040fafc
mov ecx, dword [ebp - 0x14]
add esp, 0x24
lea eax, [ebp - 0xb0]
push eax
call fcn.0041dc4c
cmp dword [eax + 0xc], ebx
lea ecx, [ebp - 0xb0]
setne byte [ebp + 0xb]
call fcn.00402424
cmp byte [ebp + 0xb], bl
je 0x41d68f
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2b0]
push eax
call fcn.0041dc4c
push eax
lea eax, [ebp - 0x288]
push 0x48b670
push eax
mov byte [ebp - 4], 0x10
call fcn.0040c638
push 0x48a4c8
push eax
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x11
push eax
call fcn.0040ff9e
add esp, 0x18
push dword [0x475630]
mov ecx, eax
add eax, 4
mov byte [ebp - 4], 0x12
neg ecx
sbb ecx, ecx
push ebx
and ecx, eax
push ecx
lea ecx, [ebp - 0xe0]
call fcn.0040b095
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x11
call fcn.00402424
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x10
call fcn.00402424
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xf
call fcn.00402424
cmp dword [ebp - 0x34], 1
jne 0x41d6cb
lea eax, [ebp - 0x2c]
mov dword [ebp + 8], ebx
push eax
lea eax, [ebp + 8]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x48b664
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x41d6cb
lea ecx, [ebp - 0x1c]
call fcn.0041128a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c0]
push ebx
push eax
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x1c8], edi
call fcn.00403c6a
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x13
call fcn.0042a8d6
cmp eax, ebx
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x1f0], edi
jne 0x41d70b
mov eax, 0x493568
lea ecx, [ebp + 0xb]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00403cfd
mov eax, 0x496a00
mov byte [ebp - 4], 0x14
test eax, eax
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x178], edi
jne 0x41d73a
mov eax, 0x493568
lea ecx, [ebp - 0x36]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.00403cfd
cmp dword [ebp - 0x204], ebx
mov byte [ebp - 4], 0x15
je 0x41d775
lea eax, [ebp - 0xb0]
push ebx
push eax
lea ecx, [ebp - 0x210]
call fcn.00415a63
lea ecx, [ebp - 0xb0]
call fcn.00402424
cmp dword [ebp - 0x18c], ebx
je 0x41d79b
lea eax, [ebp - 0xb0]
push ebx
push eax
lea ecx, [ebp - 0x198]
call fcn.00415a63
lea ecx, [ebp - 0xb0]
call fcn.00402424
mov esi, dword [ebp - 0xdc]
cmp esi, ebx
jne 0x41d7aa
mov esi, 0x475650
lea eax, [ebp - 0x15]
push 1
push eax
push 0x48aaa4
lea ecx, [ebp - 0xb0]
call fcn.00401889
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x16
cmp eax, ebx
jne 0x41d7d0
mov eax, 0x4755fc
mov dword [ebp - 0x30], eax
push esi
lea eax, [ebp - 0x30]
push 0x48b620
push eax
mov dword [ebp - 0x2c], 0x6fc
call fcn.0040a587
add esp, 0xc
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x15
call fcn.00401093
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
push eax
push 0xf003f
push ebx
push 0x48a288
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, ebx
jne 0x41d9ba
lea ecx, [ebp - 0x24]
call fcn.0041128a
mov ecx, dword [ebp - 0x2c]
cmp eax, ebx
mov dword [ebp - 0x24], ecx
jne 0x41d9ba
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x10], 0x475650
cmp eax, ebx
je 0x41d85d
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x10]
push 1
push ebx
push 0x48a114
push dword [ebp - 0x24]
call esi
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x10], 0x475650
cmp eax, ebx
je 0x41d88b
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x10]
push 1
push ebx
push 0x48a2dc
push dword [ebp - 0x24]
call esi
cmp dword [ebp - 0x1dc], ebx
je 0x41d8db
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x10], 0x475650
cmp eax, ebx
je 0x41d8c1
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x10]
push 1
push ebx
push 0x48a068
push dword [ebp - 0x24]
call esi
cmp dword [ebp - 0x24], ebx
je 0x41d8ec
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x15]
push 1
push eax
push 0x48a114
lea ecx, [ebp - 0x134]
call fcn.00403cfd
lea eax, [ebp - 0x134]
lea ecx, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 4], 0x18
call fcn.00404b65
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x17
call fcn.00402424
lea eax, [ebp - 0x15]
push 1
push eax
push 0x48a2dc
lea ecx, [ebp - 0x134]
call fcn.00403cfd
lea eax, [ebp - 0x134]
lea ecx, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x19
call fcn.00404b65
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x17
call fcn.00402424
cmp dword [ebp - 0x1dc], ebx
je 0x41d9ba
lea eax, [ebp - 0x15]
push 1
push eax
push 0x48a068
lea ecx, [ebp - 0x134]
call fcn.00403cfd
lea eax, [ebp - 0x134]
lea ecx, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x1e8]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00404b65
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x17
call fcn.00402424
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x10], 0x475650
cmp eax, ebx
je 0x41d9ce
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x10]
push 1
push ebx
push 0x48a088
push dword [ebp - 0x1c]
call esi
cmp dword [ebp - 0x1c], ebx
je 0x41d9f9
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
call fcn.0041128a
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x14
call fcn.00402424
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x13
call fcn.00402424
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0xf
call fcn.00402424
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0xe
call fcn.00402424
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xd
call fcn.00402424
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xc
call fcn.00402424
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 7
call fcn.00402424
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 6
call fcn.00402424
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 5
call fcn.00402424
xor eax, eax
lea edi, [ebp - 0x16e]
mov word [ebp - 0x170], bx
mov dword [ebp - 0x60], 0x4755e0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x47577c]
mov dword [ebp - 0x40], 0x4755d8
cmp eax, ebx
jne 0x41daba
mov eax, 0x493568
lea ecx, [ebp + 0xb]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.004011a9
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x288]
push 5
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1b
call fcn.0040a47b
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, eax
call fcn.00423f26
push 0xa
lea ecx, [ebp - 0x60]
push ebx
push ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1d
call fcn.0042de60
lea ecx, [ebp - 0xb0]
mov edi, eax
mov byte [ebp - 4], 0x1c
call fcn.00401093
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x1b
call fcn.00402424
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.00401093
push 0xb
mov ecx, esi
call fcn.0040a456
test al, al
jne 0x41db4b
cmp edi, 1
je 0x41db4b
cmp edi, 2
jne 0x41dbe4
push 4
lea eax, [ebp - 0x170]
push 0x48b618
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x80]
call fcn.004028ee
lea eax, [ebp - 0xab0]
lea ecx, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00402936
lea eax, [ebp - 0xb0]
push 5
push eax
mov ecx, esi
call fcn.0040a47b
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x1f
cmp eax, ebx
jne 0x41db9d
mov eax, 0x475650
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [ebp - 0x80]
push dword [0x47577c]
push eax
call fcn.00402975
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x1e
call fcn.00402424
lea ecx, [ebp - 0x80]
call fcn.00402962
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x20
call fcn.00402f3d
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 5
call fcn.00403a04
cmp dword [ebp - 0x34], 3
je 0x41dc0c
mov esi, dword [esi + 0x268]
cmp byte [esi + 1], bl
je 0x41dc01
cmp byte [esi + 2], bl
jne 0x41dc01
call fcn.004359aa
jmp 0x41dc0c
push 0x453
call fcn.00434ab5
pop ecx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 4
call fcn.00402424
cmp dword [ebp - 0x1c], ebx
je 0x41dc2c
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1c], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.00402424
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8