Function at 0x40b820
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e9d8
mov eax, dword fs:[0]
push eax
mov eax, 0xd314
call fcn.005450c0
mov eax, dword [0x5d1858]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xd31c]
push eax
lea eax, [ebp - 0xd278]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push ebx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xd27c]
push eax
push 0
push 0
push 0
push dword [ebp - 0xd278]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
xor edi, edi
cmp dword [ebp - 0xd27c], edi
jle 0x40c5f8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xd280]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
push dword [ebp - 0xd278]
mov dword [ebp - 0xd280], 0x104
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
push 0x571e80
lea ecx, [ebp - 0xd274]
call fcn.00401e90
lea eax, [ebp - 0x218]
push eax
push ebx
lea eax, [ebp - 0xd274]
push str._s_s
push eax
mov dword [ebp - 4], 0
call fcn.00402390
add esp, 0x10
lea ecx, [ebp - 0xd318]
call fcn.004085a0
push 0
push str.AppName
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xd270]
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 4], 1
call fcn.004011b0
lea ecx, [ebp - 0xd270]
mov byte [ebp - 4], 2
call fcn.00401580
lea ecx, [ebp - 0xd270]
test eax, eax
je 0x40c577
call fcn.004012e0
mov edx, eax
test edx, edx
jne 0x40b969
xor ecx, ecx
jmp 0x40b97f
mov ecx, edx
lea esi, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b970
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xd318]
call fcn.00403740
push 0
push str.ClassName
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xc564]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004011b0
lea ecx, [ebp - 0xc564]
mov byte [ebp - 4], 3
call fcn.00401580
lea ecx, [ebp - 0xc564]
test eax, eax
je 0x40c568
call fcn.004012e0
mov edx, eax
test edx, edx
jne 0x40b9d5
xor ecx, ecx
jmp 0x40b9ef
mov ecx, edx
lea esi, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b9e0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xd314]
call fcn.00403740
push 0
push str.Support_DVD_Menu
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x6c68]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x6c68]
mov byte [ebp - 4], 4
call fcn.004014b0
test eax, eax
je 0x40ba3d
lea ecx, [ebp - 0x6c68]
call fcn.004012b0
mov dword [ebp - 0xd308], eax
push 0
push str.Support_Title_Templates
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xb858]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xb858]
mov byte [ebp - 4], 5
call fcn.004014b0
test eax, eax
je 0x40ba7e
lea ecx, [ebp - 0xb858]
call fcn.004012b0
mov dword [ebp - 0xd300], eax
push 0
push str.Support_Frames
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xae38]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xae38]
mov byte [ebp - 4], 6
call fcn.004014b0
test eax, eax
je 0x40babf
lea ecx, [ebp - 0xae38]
call fcn.004012b0
mov dword [ebp - 0xd2f8], eax
push 0
push str.Support_Motion_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xa418]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xa418]
mov byte [ebp - 4], 7
call fcn.004014b0
test eax, eax
je 0x40bb00
lea ecx, [ebp - 0xa418]
call fcn.004012b0
mov dword [ebp - 0xd2fc], eax
push 0
push str.Support_Static_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x99f8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x99f8]
mov byte [ebp - 4], 8
call fcn.004014b0
test eax, eax
je 0x40bb41
lea ecx, [ebp - 0x99f8]
call fcn.004012b0
mov dword [ebp - 0xd2f4], eax
push 0
push str.Support_3D_like_Title
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x8fd8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x8fd8]
mov byte [ebp - 4], 9
call fcn.004014b0
test eax, eax
je 0x40bb82
lea ecx, [ebp - 0x8fd8]
call fcn.004012b0
mov dword [ebp - 0xd30c], eax
push 0
push str.Support_Magic_Style
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x85b8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x85b8]
mov byte [ebp - 4], 0xa
call fcn.004014b0
test eax, eax
je 0x40bbc3
lea ecx, [ebp - 0x85b8]
call fcn.004012b0
mov dword [ebp - 0xd304], eax
push 0
push str.Support_Audio
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x7b98]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x7b98]
mov byte [ebp - 4], 0xb
call fcn.004014b0
test eax, eax
je 0x40bc04
lea ecx, [ebp - 0x7b98]
call fcn.004012b0
mov dword [ebp - 0xd310], eax
push 0
push str.Support_CDADJ
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x7178]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x7178]
mov byte [ebp - 4], 0xc
call fcn.004014b0
test eax, eax
je 0x40bc45
lea ecx, [ebp - 0x7178]
call fcn.004012b0
mov dword [ebp - 0xd2b4], eax
push 0
push str.Support_PDADJ
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x6758]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x6758]
mov byte [ebp - 4], 0xd
call fcn.004014b0
test eax, eax
je 0x40bc86
lea ecx, [ebp - 0x6758]
call fcn.004012b0
mov dword [ebp - 0xd2b0], eax
push 0
push str.Support_Transition
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x5d38]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x5d38]
mov byte [ebp - 4], 0xe
call fcn.004014b0
test eax, eax
je 0x40bcc7
lea ecx, [ebp - 0x5d38]
call fcn.004012b0
mov dword [ebp - 0xd2ac], eax
push 0
push str.Support_Particle_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x5318]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x5318]
mov byte [ebp - 4], 0xf
call fcn.004014b0
test eax, eax
je 0x40bd08
lea ecx, [ebp - 0x5318]
call fcn.004012b0
mov dword [ebp - 0xd2f0], eax
push 0
push str.Support_Gadget_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x48f8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x48f8]
mov byte [ebp - 4], 0x10
call fcn.004014b0
test eax, eax
je 0x40bd49
lea ecx, [ebp - 0x48f8]
call fcn.004012b0
mov dword [ebp - 0xd2ec], eax
push 0
push str.Support_Scene_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x3ed8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x3ed8]
mov byte [ebp - 4], 0x11
call fcn.004014b0
test eax, eax
je 0x40bd8a
lea ecx, [ebp - 0x3ed8]
call fcn.004012b0
mov dword [ebp - 0xd2e8], eax
push 0
push str.Support_ThemeStyle_Objects
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x34b8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x34b8]
mov byte [ebp - 4], 0x12
call fcn.004014b0
test eax, eax
je 0x40bdcb
lea ecx, [ebp - 0x34b8]
call fcn.004012b0
mov dword [ebp - 0xd2e4], eax
push 0
push str.Support_Avatar_Editable_Model
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x2a98]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x2a98]
mov byte [ebp - 4], 0x13
call fcn.004014b0
test eax, eax
je 0x40be0c
lea ecx, [ebp - 0x2a98]
call fcn.004012b0
mov dword [ebp - 0xd2e0], eax
push 0
push str.Support_Avatar_Editable_Component
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x2078]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x2078]
mov byte [ebp - 4], 0x14
call fcn.004014b0
test eax, eax
je 0x40be4d
lea ecx, [ebp - 0x2078]
call fcn.004012b0
mov dword [ebp - 0xd2dc], eax
push 0
push str.Support_Avatar_ReadOnly
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x1658]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x1658]
mov byte [ebp - 4], 0x15
call fcn.004014b0
test eax, eax
je 0x40be8e
lea ecx, [ebp - 0x1658]
call fcn.004012b0
mov dword [ebp - 0xd2d8], eax
push 0
push str.Support_Augmented_Reality
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x1b68]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x1b68]
mov byte [ebp - 4], 0x16
call fcn.004014b0
test eax, eax
je 0x40becf
lea ecx, [ebp - 0x1b68]
call fcn.004012b0
mov dword [ebp - 0xd2d4], eax
push 0
push str.Support_Tracing_Paper
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x1148]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x1148]
mov byte [ebp - 4], 0x17
call fcn.004014b0
test eax, eax
je 0x40bf10
lea ecx, [ebp - 0x1148]
call fcn.004012b0
mov dword [ebp - 0xd2d0], eax
push 0
push str.Support_Coloring_Book_Page
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xc38]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xc38]
mov byte [ebp - 4], 0x18
call fcn.004014b0
test eax, eax
je 0x40bf51
lea ecx, [ebp - 0xc38]
call fcn.004012b0
mov dword [ebp - 0xd2cc], eax
push 0
push str.Support_Image_Bloom
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x728]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x728]
mov byte [ebp - 4], 0x19
call fcn.004014b0
test eax, eax
je 0x40bf92
lea ecx, [ebp - 0x728]
call fcn.004012b0
mov dword [ebp - 0xd2c8], eax
push 0
push str.Support_Disc_Background
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xb348]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xb348]
mov byte [ebp - 4], 0x1a
call fcn.004014b0
test eax, eax
je 0x40bfd3
lea ecx, [ebp - 0xb348]
call fcn.004012b0
mov dword [ebp - 0xd2c4], eax
push 0
push str.Support_Stroke
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x6248]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x6248]
mov byte [ebp - 4], 0x1b
call fcn.004014b0
test eax, eax
je 0x40c014
lea ecx, [ebp - 0x6248]
call fcn.004012b0
mov dword [ebp - 0xd2c0], eax
push 0
push str.Support_Stamps
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x8ac8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x8ac8]
mov byte [ebp - 4], 0x1c
call fcn.004014b0
test eax, eax
je 0x40c055
lea ecx, [ebp - 0x8ac8]
call fcn.004012b0
mov dword [ebp - 0xd2bc], eax
push 0
push str.Support_16v9
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x5828]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x5828]
mov byte [ebp - 4], 0x1d
call fcn.004014b0
test eax, eax
je 0x40c096
lea ecx, [ebp - 0x5828]
call fcn.004012b0
mov dword [ebp - 0xd2b8], eax
push 0
push str.NotifywParam
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x9f08]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401140
lea ecx, [ebp - 0x9f08]
mov byte [ebp - 4], 0x1e
call fcn.004014b0
test eax, eax
je 0x40c0d7
lea ecx, [ebp - 0x9f08]
call fcn.004012d0
mov dword [ebp - 0xd2a8], eax
push 0
push str.NotifyEvenIfFail
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x4e08]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x4e08]
mov byte [ebp - 4], 0x1f
call fcn.004014b0
test eax, eax
je 0x40c118
lea ecx, [ebp - 0x4e08]
call fcn.004012b0
mov dword [ebp - 0xd2a4], eax
push 0
push str.Support_PDLCP
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x80a8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x80a8]
mov byte [ebp - 4], 0x20
call fcn.004014b0
test eax, eax
je 0x40c159
lea ecx, [ebp - 0x80a8]
call fcn.004012b0
mov dword [ebp - 0xd2a0], eax
push 0
push str.Support_DZEP
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x43e8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x43e8]
mov byte [ebp - 4], 0x21
call fcn.004014b0
test eax, eax
je 0x40c19a
lea ecx, [ebp - 0x43e8]
call fcn.004012b0
mov dword [ebp - 0xd29c], eax
push 0
push str.Support_DZBL
push dword [ebp - 0xd274]
lea ecx, [ebp - 0xa928]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0xa928]
mov byte [ebp - 4], 0x22
call fcn.004014b0
test eax, eax
je 0x40c1db
lea ecx, [ebp - 0xa928]
call fcn.004012b0
mov dword [ebp - 0xd298], eax
push 0
push str.Support_PDLAY
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x39c8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x39c8]
mov byte [ebp - 4], 0x23
call fcn.004014b0
test eax, eax
je 0x40c21c
lea ecx, [ebp - 0x39c8]
call fcn.004012b0
mov dword [ebp - 0xd294], eax
push 0
push str.Support_PHX
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x7688]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x7688]
mov byte [ebp - 4], 0x24
call fcn.004014b0
test eax, eax
je 0x40c25d
lea ecx, [ebp - 0x7688]
call fcn.004012b0
mov dword [ebp - 0xd290], eax
push 0
push str.Support_MKLK
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x2fa8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x2fa8]
mov byte [ebp - 4], 0x25
call fcn.004014b0
test eax, eax
je 0x40c29e
lea ecx, [ebp - 0x2fa8]
call fcn.004012b0
mov dword [ebp - 0xd28c], eax
push 0
push str.Support_Collage_Templates
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x94e8]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x94e8]
mov byte [ebp - 4], 0x26
call fcn.004014b0
test eax, eax
je 0x40c2df
lea ecx, [ebp - 0x94e8]
call fcn.004012b0
mov dword [ebp - 0xd288], eax
push 0
push str.Support_CDGCP
push dword [ebp - 0xd274]
lea ecx, [ebp - 0x2588]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401060
lea ecx, [ebp - 0x2588]
mov byte [ebp - 4], 0x27
call fcn.004014b0
test eax, eax
je 0x40c320
lea ecx, [ebp - 0x2588]
call fcn.004012b0
mov dword [ebp - 0xd284], eax
sub esp, 0x98
lea eax, [ebp - 0xd318]
mov ecx, esp
push eax
call fcn.00408430
mov ecx, dword [ebp + 0xc]
call fcn.00408ce0
lea ecx, [ebp - 0x2588]
mov dword [ebp - 0xd280], 0x104
mov byte [ebp - 4], 0x26
call fcn.00401260
lea ecx, [ebp - 0x94e8]
mov byte [ebp - 4], 0x25
call fcn.00401260
lea ecx, [ebp - 0x2fa8]
mov byte [ebp - 4], 0x24
call fcn.00401260
lea ecx, [ebp - 0x7688]
mov byte [ebp - 4], 0x23
call fcn.00401260
lea ecx, [ebp - 0x39c8]
mov byte [ebp - 4], 0x22
call fcn.00401260
lea ecx, [ebp - 0xa928]
mov byte [ebp - 4], 0x21
call fcn.00401260
lea ecx, [ebp - 0x43e8]
mov byte [ebp - 4], 0x20
call fcn.00401260
lea ecx, [ebp - 0x80a8]
mov byte [ebp - 4], 0x1f
call fcn.00401260
lea ecx, [ebp - 0x4e08]
mov byte [ebp - 4], 0x1e
call fcn.00401260
lea ecx, [ebp - 0x9f08]
mov byte [ebp - 4], 0x1d
call fcn.00401280
lea ecx, [ebp - 0x5828]
mov byte [ebp - 4], 0x1c
call fcn.00401260
lea ecx, [ebp - 0x8ac8]
mov byte [ebp - 4], 0x1b
call fcn.00401260
lea ecx, [ebp - 0x6248]
mov byte [ebp - 4], 0x1a
call fcn.00401260
lea ecx, [ebp - 0xb348]
mov byte [ebp - 4], 0x19
call fcn.00401260
lea ecx, [ebp - 0x728]
mov byte [ebp - 4], 0x18
call fcn.00401260
lea ecx, [ebp - 0xc38]
mov byte [ebp - 4], 0x17
call fcn.00401260
lea ecx, [ebp - 0x1148]
mov byte [ebp - 4], 0x16
call fcn.00401260
lea ecx, [ebp - 0x1b68]
mov byte [ebp - 4], 0x15
call fcn.00401260
lea ecx, [ebp - 0x1658]
mov byte [ebp - 4], 0x14
call fcn.00401260
lea ecx, [ebp - 0x2078]
mov byte [ebp - 4], 0x13
call fcn.00401260
lea ecx, [ebp - 0x2a98]
mov byte [ebp - 4], 0x12
call fcn.00401260
lea ecx, [ebp - 0x34b8]
mov byte [ebp - 4], 0x11
call fcn.00401260
lea ecx, [ebp - 0x3ed8]
mov byte [ebp - 4], 0x10
call fcn.00401260
lea ecx, [ebp - 0x48f8]
mov byte [ebp - 4], 0xf
call fcn.00401260
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x5318]
call fcn.00401260
lea ecx, [ebp - 0x5d38]
mov byte [ebp - 4], 0xd
call fcn.00401260
lea ecx, [ebp - 0x6758]
mov byte [ebp - 4], 0xc
call fcn.00401260
lea ecx, [ebp - 0x7178]
mov byte [ebp - 4], 0xb
call fcn.00401260
lea ecx, [ebp - 0x7b98]
mov byte [ebp - 4], 0xa
call fcn.00401260
lea ecx, [ebp - 0x85b8]
mov byte [ebp - 4], 9
call fcn.00401260
lea ecx, [ebp - 0x8fd8]
mov byte [ebp - 4], 8
call fcn.00401260
lea ecx, [ebp - 0x99f8]
mov byte [ebp - 4], 7
call fcn.00401260
lea ecx, [ebp - 0xa418]
mov byte [ebp - 4], 6
call fcn.00401260
lea ecx, [ebp - 0xae38]
mov byte [ebp - 4], 5
call fcn.00401260
lea ecx, [ebp - 0xb858]
mov byte [ebp - 4], 4
call fcn.00401260
lea ecx, [ebp - 0x6c68]
mov byte [ebp - 4], 3
call fcn.00401260
lea ecx, [ebp - 0xc564]
mov byte [ebp - 4], 2
call fcn.00401290
lea ecx, [ebp - 0xd270]
mov byte [ebp - 4], 1
call fcn.00401290
mov edx, dword [ebp - 0xd314]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c5a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd318]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c5c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd274]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c5eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
inc edi
cmp edi, dword [ebp - 0xd27c]
jl 0x40b8b1
push dword [ebp - 0xd278]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00543154
mov esp, ebp
pop ebp
ret 8