Function at 0x4029d0
Capabilities:
Change the wallpaper
Persist via windows service
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8b0
push edi
mov dword [ebp - 0x78c], 0
mov byte [ebp - 0x66c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x66b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x778], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x777]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x564], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x563]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x21c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x21b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x568], 1
mov dword [ebp - 0x358], 0x32
mov byte [ebp - 0x460], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x45f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x890], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x88f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x674], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0x50
mov dword [ebp - 0x35c], 3
push 0x6e
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.00409d40
add esp, 0xc
push 0xa0
push 0
lea ecx, [ebp - 0xa0]
push ecx
call fcn.00409d40
add esp, 0xc
push 0x134
push 0
lea edx, [ebp - 0x350]
push edx
call fcn.00409d40
add esp, 0xc
cmp dword [0x40f0cc], 7
ja 0x403298
cmp dword [0x410928], 0
je 0x402b3f
push 0x40f2e0
lea eax, [ebp - 0x460]
push eax
call fcn.00409da0
add esp, 8
push str.softwareFujitsu_ComponentFIDTPU
lea ecx, [ebp - 0x778]
push ecx
call fcn.00409da0
add esp, 8
jmp 0x402b67
push 0x40f338
lea edx, [ebp - 0x460]
push edx
call fcn.00409da0
add esp, 8
push str.softwareFujitsu_ComponentFIDMOU
lea eax, [ebp - 0x778]
push eax
call fcn.00409da0
add esp, 8
lea ecx, [ebp - 0x788]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x460]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402bd9
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x890]
push ecx
lea edx, [ebp - 0x568]
push edx
push 0
push 0x40f384
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x402bcc
push 0x40f394
lea ecx, [ebp - 0x890]
push ecx
call fcn.00409da0
add esp, 8
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x410928], 0
jne 0x402c0c
push 0x40f39c
lea eax, [ebp - 0x460]
push eax
call fcn.00409db0
add esp, 8
lea ecx, [ebp - 0x890]
push ecx
lea edx, [ebp - 0x460]
push edx
call fcn.00409db0
add esp, 8
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x564]
push ecx
call fcn.00409da0
add esp, 8
push 0x40f3a0
lea edx, [ebp - 0x778]
push edx
call fcn.00409db0
add esp, 8
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x778]
push ecx
call fcn.00409db0
add esp, 8
push 0x40f3a4
lea edx, [ebp - 0x778]
push edx
call fcn.00409db0
add esp, 8
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x778]
push ecx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402e15
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f3b0
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402cc1
mov dword [ebp - 0x674], 1
jmp 0x402ccb
mov dword [ebp - 0x674], 0
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x460]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402e08
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
and ecx, 0xf000
mov dword [ebp - 0x8a0], ecx
cmp dword [ebp - 0x8a0], 0x2000
je 0x402d7a
cmp dword [ebp - 0x8a0], 0x5000
je 0x402d2f
jmp 0x402dc2
mov dword [ebp - 0x114], 0x134
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f3bc
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402d75
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
or ch, 8
mov edx, dword [ebp + 8]
mov dword [edx + 4], ecx
jmp 0x402e08
mov dword [ebp - 0x114], 0xa0
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x35c]
push edx
push 0
push 0x40f3c4
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402dc0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
or dh, 8
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
jmp 0x402e08
mov dword [ebp - 0x114], 0x6e
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f3cc
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402e08
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
or ah, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x674], 0
jne 0x4030db
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403028
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f3d4
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402e7c
jmp 0x402f13
cmp dword [0x410928], 0
je 0x402e9d
push 0x4c
push 0x40f080
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
jmp 0x402f13
cmp dword [0x40f0cc], 8
jb 0x402ec8
push 0x4c
push 0x40f030
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.00409fd0
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0x22a00
jmp 0x402f13
cmp dword [0x40f0cc], 7
ja 0x402efd
push 0x4c
push 0x40f030
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0x1000501
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], 0x28
jmp 0x402f13
push 0x4c
push 0x40f030
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
and edx, 0xf000
mov dword [ebp - 0x8a4], edx
cmp dword [ebp - 0x8a4], 0x2000
je 0x402f8d
cmp dword [ebp - 0x8a4], 0x5000
je 0x402f42
jmp 0x402fd5
mov dword [ebp - 0x114], 0x134
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
lea edx, [ebp - 0x35c]
push edx
push 0
push 0x40f3dc
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402f88
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
or dh, 8
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
jmp 0x40301b
mov dword [ebp - 0x114], 0xa0
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f3e4
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402fd3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
or ah, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
jmp 0x40301b
mov dword [ebp - 0x114], 0x6e
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f3ec
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40301b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
or ch, 8
mov edx, dword [ebp + 8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x894]
push ecx
lea edx, [ebp - 0x788]
push edx
push 0
push 0x2001f
push 0
push 0x410d7c
push 0
lea eax, [ebp - 0x778]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x403088
push 0x4c
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 3
push 0
push 0x40f3f4
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x564]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4030db
push 0x104
lea eax, [ebp - 0x890]
push eax
push 1
push 0
push 0x40f400
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x778]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00409da0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [0x4103a4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [0x4103d4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [0x4103a8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov dword [0x4103c4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [0x40f0e0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov dword [0x40f0e4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
and eax, 0xf0000000
mov dword [0x40f0e8], eax
mov ecx, dword [0x4103c4]
push ecx
call fcn.00409700
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x403293
cmp dword [0x410928], 0
je 0x4031aa
mov edx, dword [0x4103a4]
mov dword [ebp - 0x780], edx
mov eax, dword [0x4103c4]
mov dword [ebp - 0x77c], eax
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x222100
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x4031de
cmp dword [0x40f0cc], 7
ja 0x4031de
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x7001000e
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
push 3
push 0
push 0x14
push 0x1e
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x1d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4c
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0x40f410
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x788]
push edx
push 0x2001f
push 0
lea eax, [ebp - 0x21c]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403293
push 3
push 0x40f424
push 1
push 0
push 0x40f428
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 3
push 0x40f43c
push 1
push 0
push 0x40f440
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x404f44
push 0x40f454
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x898], eax
cmp dword [ebp - 0x898], 0
je 0x404f44
push 0x40f460
mov ecx, dword [ebp - 0x898]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x89c], eax
call dword [ebp - 0x89c]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x403ae8
push 0x40f468
lea edx, [ebp - 0x460]
push edx
call fcn.00409da0
add esp, 8
cmp dword [0x410928], 0
je 0x40331a
push 0x40f48c
lea eax, [ebp - 0x460]
push eax
call fcn.00409db0
add esp, 8
jmp 0x40334d
cmp dword [0x40f0cc], 8
jne 0x403339
push 0x40f494
lea ecx, [ebp - 0x460]
push ecx
call fcn.00409db0
add esp, 8
jmp 0x40334d
push 0x40f4a0
lea edx, [ebp - 0x460]
push edx
call fcn.00409db0
add esp, 8
push 0x40f4a8
lea eax, [ebp - 0x460]
push eax
call fcn.00409db0
add esp, 8
lea ecx, [ebp - 0x788]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x460]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403ad0
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
lea edx, [ebp - 0x35c]
push edx
push 0
push 0x40f4b4
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4033bb
jmp 0x4034c2
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f4c0
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40340c
push 0x4c
mov edx, dword [ebp + 8]
add edx, 4
push edx
push 3
push 0
push 0x40f4c8
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x4034c2
cmp dword [0x410928], 0
je 0x40342d
push 0x4c
push 0x40f080
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.00409fd0
add esp, 0xc
jmp 0x4034a3
cmp dword [0x40f0cc], 8
jb 0x403458
push 0x4c
push 0x40f030
mov edx, dword [ebp + 8]
add edx, 4
push edx
call fcn.00409fd0
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 8], 0x22a00
jmp 0x4034a3
cmp dword [0x40f0cc], 7
ja 0x40348d
push 0x4c
push 0x40f030
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.00409fd0
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx + 4], 0x1000501
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0x28
jmp 0x4034a3
push 0x4c
push 0x40f030
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.00409fd0
add esp, 0xc
push 0x4c
mov edx, dword [ebp + 8]
add edx, 4
push edx
push 3
push 0
push 0x40f4d4
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [0x4103a4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [0x4103d4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [0x4103a8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [0x4103c4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
mov dword [0x40f0e0], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x28]
mov dword [0x40f0e4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
and edx, 0xf0000000
mov dword [0x40f0e8], edx
mov eax, dword [0x4103c4]
push eax
call fcn.00409700
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x403ac3
cmp dword [0x410928], 0
je 0x4035b0
mov ecx, dword [0x4103a4]
mov dword [ebp - 0x780], ecx
mov edx, dword [0x4103c4]
mov dword [ebp - 0x77c], edx
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov eax, dword [ebp + 8]
push eax
push 0x222100
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
push 0
push 0x4110a4
push 0
push 0
push 0xc
lea eax, [ebp - 0x784]
push eax
push 0x2220b4
mov ecx, dword [0x410708]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00409390
add esp, 0x24
jmp 0x403613
cmp dword [0x40f0cc], 8
jne 0x4035e7
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov eax, dword [ebp + 8]
push eax
push 0x272100
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x403613
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov eax, dword [ebp + 8]
push eax
push 0x222100
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
push 3
push 0
push 0x14
push 0x1e
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x1d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4c
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0x40f4e0
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x670]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x21c]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4036c8
push 3
push 0x40f4f4
push 1
push 0
push 0x40f4f8
mov eax, dword [ebp - 0x670]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 3
push 0x40f50c
push 1
push 0
push 0x40f510
mov ecx, dword [ebp - 0x670]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x670]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
and ecx, 0xf000
mov dword [ebp - 0x8a8], ecx
cmp dword [ebp - 0x8a8], 0x2000
je 0x40383f
cmp dword [ebp - 0x8a8], 0x5000
je 0x4036fb
jmp 0x403984
mov dword [ebp - 0x114], 0x134
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f524
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40383a
cmp dword [ebp + 0x10], 0
je 0x40383a
mov word [ebp - 0x350], 0
cmp dword [0x410928], 0
je 0x40378a
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x40383a
cmp dword [0x40f0cc], 8
jne 0x4037c8
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x350]
push edx
push 0x272008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x40383a
cmp dword [0x40f0cc], 7
ja 0x403807
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
push 0x70000003
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x40383a
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x403ac3
mov dword [ebp - 0x114], 0xa0
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f52c
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40397f
cmp dword [ebp + 0x10], 0
je 0x40397f
mov word [ebp - 0xa0], 0
cmp dword [0x410928], 0
je 0x4038cf
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x40397f
cmp dword [0x40f0cc], 8
jne 0x40390d
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 0x272008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x40397f
cmp dword [0x40f0cc], 7
ja 0x40394b
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
push 0x70000003
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x40397f
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x403ac3
mov dword [ebp - 0x114], 0x6e
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x35c]
push edx
push 0
push 0x40f534
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x403ac3
cmp dword [ebp + 0x10], 0
je 0x403ac3
mov word [ebp - 0x110], 0
cmp dword [0x410928], 0
je 0x403a13
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0x222008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x403ac3
cmp dword [0x40f0cc], 8
jne 0x403a52
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
push 0x272008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x403ac3
cmp dword [0x40f0cc], 7
ja 0x403a90
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 0x70000003
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x403ac3
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0x222008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00409da0
add esp, 8
jmp 0x404f37
push 0x40f53c
lea edx, [ebp - 0x778]
push edx
call fcn.00409da0
add esp, 8
push 0x40f558
lea eax, [ebp - 0x460]
push eax
call fcn.00409da0
add esp, 8
cmp dword [0x410928], 0
je 0x403b43
push 0x40f57c
lea ecx, [ebp - 0x778]
push ecx
call fcn.00409db0
add esp, 8
push 0x40f584
lea edx, [ebp - 0x460]
push edx
call fcn.00409db0
add esp, 8
jmp 0x403b8a
cmp dword [0x40f0cc], 8
jne 0x403b62
push 0x40f58c
lea eax, [ebp - 0x460]
push eax
call fcn.00409db0
add esp, 8
jmp 0x403b76
push 0x40f598
lea ecx, [ebp - 0x460]
push ecx
call fcn.00409db0
add esp, 8
push 0x40f5a0
lea edx, [ebp - 0x778]
push edx
call fcn.00409db0
add esp, 8
push 0x40f5a8
lea eax, [ebp - 0x460]
push eax
call fcn.00409db0
add esp, 8
lea ecx, [ebp - 0x788]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x460]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403c10
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x890]
push ecx
lea edx, [ebp - 0x568]
push edx
push 0
push 0x40f5b4
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403c03
push 0x40f5c4
lea ecx, [ebp - 0x890]
push ecx
call fcn.00409da0
add esp, 8
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x564]
push ecx
call fcn.00409da0
add esp, 8
push 0x40f5cc
lea edx, [ebp - 0x778]
push edx
call fcn.00409db0
add esp, 8
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x778]
push ecx
call fcn.00409db0
add esp, 8
push 0x40f5d0
lea edx, [ebp - 0x778]
push edx
call fcn.00409db0
add esp, 8
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x778]
push ecx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40452f
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f5dc
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x404518
mov dword [ebp - 0x674], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [0x4103a4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [0x4103d4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [0x4103a8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [0x4103c4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov dword [0x40f0e0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
mov dword [0x40f0e4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
and ecx, 0xf0000000
mov dword [0x40f0e8], ecx
mov edx, dword [0x4103c4]
push edx
call fcn.00409700
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x403e14
cmp dword [0x410928], 0
je 0x403db3
mov eax, dword [0x4103a4]
mov dword [ebp - 0x780], eax
mov ecx, dword [0x4103c4]
mov dword [ebp - 0x77c], ecx
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov edx, dword [ebp + 8]
push edx
push 0x222100
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
push 0
push 0x4110a4
push 0
push 0
push 0xc
lea edx, [ebp - 0x784]
push edx
push 0x2220b4
mov eax, dword [0x410708]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00409390
add esp, 0x24
jmp 0x403e14
cmp dword [0x40f0cc], 8
jne 0x403de9
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov edx, dword [ebp + 8]
push edx
push 0x272100
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x403e14
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov edx, dword [ebp + 8]
push edx
push 0x222100
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
and eax, 0xf000
mov dword [ebp - 0x8ac], eax
cmp dword [ebp - 0x8ac], 0x2000
je 0x40408d
cmp dword [ebp - 0x8ac], 0x5000
je 0x403e46
jmp 0x4042d4
mov dword [ebp - 0x114], 0x134
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f5e8
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403f60
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403f5e
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f5f0
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x403f51
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x403f4f
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 3
push 0
push 0x40f5f8
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x403f5e
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x403f77
mov dword [ebp - 0x354], 1
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x404088
cmp dword [ebp - 0x354], 0
je 0x404088
mov word [ebp - 0x350], 0
cmp dword [0x410928], 0
je 0x403fd8
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404088
cmp dword [0x40f0cc], 8
jne 0x404016
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x350]
push edx
push 0x272008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x404088
cmp dword [0x40f0cc], 7
ja 0x404055
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
push 0x70000003
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404088
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404516
mov dword [ebp - 0x114], 0xa0
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f600
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4041a7
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4041a5
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f608
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x404198
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404196
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 3
push 0
push 0x40f610
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4041a5
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4041be
mov dword [ebp - 0x354], 1
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x4042cf
cmp dword [ebp - 0x354], 0
je 0x4042cf
mov word [ebp - 0xa0], 0
cmp dword [0x410928], 0
je 0x40421f
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x4042cf
cmp dword [0x40f0cc], 8
jne 0x40425d
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
push 0x272008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x4042cf
cmp dword [0x40f0cc], 7
ja 0x40429c
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0x70000003
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x4042cf
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404516
mov dword [ebp - 0x114], 0x6e
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f618
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4043ee
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4043ec
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f620
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4043df
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4043dd
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 3
push 0
push 0x40f628
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4043ec
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x404405
mov dword [ebp - 0x354], 1
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x404516
cmp dword [ebp - 0x354], 0
je 0x404516
mov word [ebp - 0x110], 0
cmp dword [0x410928], 0
je 0x404466
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404516
cmp dword [0x40f0cc], 8
jne 0x4044a4
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0x272008
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x404516
cmp dword [0x40f0cc], 7
ja 0x4044e3
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
push 0x70000003
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404516
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 0x222008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404522
mov dword [ebp - 0x674], 0
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x674], 0
jne 0x404f24
lea edx, [ebp - 0x788]
push edx
push 0x20019
push 0
lea eax, [ebp - 0x460]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40466c
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp + 8]
add edx, 4
push edx
lea eax, [ebp - 0x35c]
push eax
push 0
push 0x40f630
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x404596
jmp 0x40465f
lea edx, [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f63c
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4045c8
jmp 0x40465f
cmp dword [0x410928], 0
je 0x4045e9
push 0x4c
push 0x40f080
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
jmp 0x40465f
cmp dword [0x40f0cc], 8
jb 0x404614
push 0x4c
push 0x40f030
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
call fcn.00409fd0
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0x22a00
jmp 0x40465f
cmp dword [0x40f0cc], 7
ja 0x404649
push 0x4c
push 0x40f030
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0x1000501
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], 0x28
jmp 0x40465f
push 0x4c
push 0x40f030
mov eax, dword [ebp + 8]
add eax, 4
push eax
call fcn.00409fd0
add esp, 0xc
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [0x4103a4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [0x4103d4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [0x4103a8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov dword [0x4103c4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [0x40f0e0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov dword [0x40f0e4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
and eax, 0xf0000000
mov dword [0x40f0e8], eax
mov ecx, dword [0x4103c4]
push ecx
call fcn.00409700
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x40486c
cmp dword [0x410928], 0
je 0x404756
mov edx, dword [0x4103a4]
mov dword [ebp - 0x780], edx
mov eax, dword [0x4103c4]
mov dword [ebp - 0x77c], eax
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x222100
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
push 0
push 0x4110a4
push 0
push 0
push 0xc
lea ecx, [ebp - 0x784]
push ecx
push 0x2220b4
mov edx, dword [0x410708]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00409390
add esp, 0x24
jmp 0x4047b7
cmp dword [0x40f0cc], 8
jne 0x40478c
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x272100
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x4047b7
push 0
push 0x4110a4
push 0
push 0
push 0x50
mov ecx, dword [ebp + 8]
push ecx
push 0x222100
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
push 3
push 0
push 0x14
push 0x1e
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x1d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 3
push 0
push 0x14
push 0x4c
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0x40f644
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x788]
push edx
push 0x2001f
push 0
lea eax, [ebp - 0x21c]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40486c
push 3
push 0x40f658
push 1
push 0
push 0x40f65c
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 3
push 0x40f670
push 1
push 0
push 0x40f674
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x894]
push ecx
lea edx, [ebp - 0x788]
push edx
push 0
push 0x2001f
push 0
push 0x410d80
push 0
lea eax, [ebp - 0x778]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x404ed1
push 0x4c
mov ecx, dword [ebp + 8]
add ecx, 4
push ecx
push 3
push 0
push 0x40f688
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
and edx, 0xf000
mov dword [ebp - 0x8b0], edx
cmp dword [ebp - 0x8b0], 0x2000
je 0x404af4
cmp dword [ebp - 0x8b0], 0x5000
je 0x404903
jmp 0x404ce5
mov dword [ebp - 0x114], 0x134
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4049dd
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f694
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4049d0
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4049ce
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 3
push 0
push 0x40f69c
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4049dd
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x404aef
cmp dword [ebp - 0x354], 0
je 0x404aef
mov word [ebp - 0x350], 0
cmp dword [0x410928], 0
je 0x404a3f
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404aef
cmp dword [0x40f0cc], 8
jne 0x404a7d
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x350]
push ecx
push 0x272008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404aef
cmp dword [0x40f0cc], 7
ja 0x404abb
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x350]
push edx
push 0x70000003
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x404aef
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x350]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404ed1
mov dword [ebp - 0x114], 0xa0
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404bce
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f6a4
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x404bc1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404bbf
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 3
push 0
push 0x40f6ac
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x404bce
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x404ce0
cmp dword [ebp - 0x354], 0
je 0x404ce0
mov word [ebp - 0xa0], 0
cmp dword [0x410928], 0
je 0x404c30
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404ce0
cmp dword [0x40f0cc], 8
jne 0x404c6e
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0xa0]
push ecx
push 0x272008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404ce0
cmp dword [0x40f0cc], 7
ja 0x404cac
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0xa0]
push edx
push 0x70000003
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x404ce0
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404ed1
mov dword [ebp - 0x114], 0x6e
lea eax, [ebp - 0x788]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x460]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404dbf
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x35c]
push ecx
push 0
push 0x40f6b4
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x404db2
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x788]
push ecx
push 0x2001f
push 0
lea edx, [ebp - 0x778]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404db0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 3
push 0
push 0x40f6bc
mov edx, dword [ebp - 0x788]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x354], 1
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x404dbf
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0x10], 0
je 0x404ed1
cmp dword [ebp - 0x354], 0
je 0x404ed1
mov word [ebp - 0x110], 0
cmp dword [0x410928], 0
je 0x404e21
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
jmp 0x404ed1
cmp dword [0x40f0cc], 8
jne 0x404e5f
push 0
push 0x4110a4
push 0
push 0
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
push ecx
push 0x272008
mov edx, dword [0x410704]
push edx
mov eax, dword [0x410928]
push eax
call fcn.00408d70
add esp, 0x24
jmp 0x404ed1
cmp dword [0x40f0cc], 7
ja 0x404e9d
push 0
push 0x4110a4
push 0
push 0
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0x70000003
mov eax, dword [0x410704]
push eax
mov ecx, dword [0x410928]
push ecx
call fcn.00408d70
add esp, 0x24
jmp 0x404ed1
push 0
push 0x4110a4
push 0
push 0
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
push 0x222008
mov ecx, dword [0x410704]
push ecx
mov edx, dword [0x410928]
push edx
call fcn.00408d70
add esp, 0x24
lea eax, [ebp - 0x788]
push eax
push 0x2001f
push 0
lea ecx, [ebp - 0x564]
push ecx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404f24
push 0x104
lea edx, [ebp - 0x890]
push edx
push 1
push 0
push 0x40f6c4
mov eax, dword [ebp - 0x788]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x788]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x778]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00409da0
add esp, 8
mov ecx, dword [ebp - 0x898]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
mov esp, ebp
pop ebp
ret