Function at 0x4237f0
Capabilities:
Contain obfuscated stackstrings
Get thread local storage value
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44f688
mov eax, dword fs:[0]
push eax
sub esp, 0x5ec
mov eax, dword [0x46d45c]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x558], 0
cmp dword [0x46f680], 0
je 0x423a6f
cmp dword [ebp + 0x14], 0xffffffff
jne 0x423a6f
push 0
lea ecx, [ebp - 0x478]
call fcn.00402190
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp - 0x47c]
call fcn.00402190
mov byte [ebp - 4], 1
push 0
lea ecx, [ebp - 0x480]
call fcn.00402190
mov byte [ebp - 4], 2
push 0
lea ecx, [ebp - 0x484]
call fcn.00402190
mov byte [ebp - 4], 3
push 0
lea ecx, [ebp - 0x488]
call fcn.00402190
mov byte [ebp - 4], 4
push 0
lea ecx, [ebp - 0x48c]
call fcn.00402190
mov byte [ebp - 4], 5
push 0x45d28c
lea ecx, [ebp - 0x490]
call fcn.00402190
mov byte [ebp - 4], 6
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x494]
call fcn.00402190
mov byte [ebp - 4], 7
push 0x45d290
lea ecx, [ebp - 0x49c]
call fcn.00402190
mov byte [ebp - 4], 8
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x4a0]
call fcn.00402190
mov byte [ebp - 4], 9
push 0xffffffffffffffff
push 0
push 0
lea edx, [ebp - 0x478]
push edx
push 1
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x480]
push ecx
lea edx, [ebp - 0x484]
push edx
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x48c]
push ecx
lea edx, [ebp - 0x490]
push edx
lea eax, [ebp - 0x494]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x498]
push edx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x560], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x560]
push ecx
lea edx, [ebp - 0x49c]
push edx
lea eax, [ebp - 0x4a0]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4a4]
push edx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x568], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x568]
push ecx
push 0
mov edx, dword [ebp + 0x14]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0040c020
add esp, 0x40
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4a4]
call fcn.004021c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x498]
call fcn.004021c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4a0]
call fcn.004021c0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x49c]
call fcn.004021c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x494]
call fcn.004021c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x490]
call fcn.004021c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48c]
call fcn.004021c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x488]
call fcn.004021c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x484]
call fcn.004021c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x480]
call fcn.004021c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x47c]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x478]
call fcn.004021c0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [0x46f464]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
or eax, 0x20019
push eax
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004047c0
add esp, 0x14
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x423ab6
mov eax, dword [ebp + 0x14]
jmp 0x424741
mov dword [ebp - 0x22c], 0
jmp 0x423ad1
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
push 0x104
lea eax, [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x424734
mov dword [ebp - 0x230], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x423b17
mov dword [ebp - 0x56c], 0x45d294
jmp 0x423ba3
push 0x45d298
lea ecx, [ebp - 0x4ac]
call fcn.00402190
mov dword [ebp - 0x570], eax
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x574], ecx
mov dword [ebp - 4], 0xc
mov edx, dword [ebp - 0x558]
or edx, 1
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x574]
push eax
push 0x45d2bc
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.00425660
add esp, 0xc
mov dword [ebp - 0x578], eax
mov edx, dword [ebp - 0x578]
mov dword [ebp - 0x57c], edx
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x558]
or eax, 2
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x57c]
call fcn.00402270
mov dword [ebp - 0x56c], eax
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [0x46f464]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
or eax, 0x20019
push eax
push 0
mov eax, dword [ebp - 0x56c]
push eax
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x4b4]
call fcn.00402190
mov dword [ebp - 0x580], eax
mov edx, dword [ebp - 0x580]
mov dword [ebp - 0x584], edx
mov dword [ebp - 4], 0xe
mov eax, dword [ebp - 0x584]
push eax
lea ecx, [ebp - 0x4b8]
push ecx
call fcn.004255d0
add esp, 0xc
mov dword [ebp - 0x588], eax
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x58c], edx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x58c]
call fcn.00402270
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.004047c0
add esp, 0x14
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x4a5], al
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4b8]
call fcn.004021c0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4b4]
call fcn.004021c0
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x558]
and ecx, 2
je 0x423c84
and dword [ebp - 0x558], 0xfffffffd
lea ecx, [ebp - 0x4b0]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x558]
and edx, 1
je 0x423ca8
and dword [ebp - 0x558], 0xfffffffe
lea ecx, [ebp - 0x4ac]
call fcn.004021c0
movzx eax, byte [ebp - 0x4a5]
test eax, eax
je 0x424229
mov dword [ebp - 0x10], 0x208
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x43c]
push edx
push 0
push 0
push 0x45d2c0
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x42421c
lea ecx, [ebp - 0x444]
call fcn.00402160
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x46c]
call fcn.00402160
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44c]
call fcn.00402160
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x468]
call fcn.00401a80
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x468]
push ecx
lea edx, [ebp - 0x43c]
push edx
call fcn.0040d610
add esp, 8
push 0
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x440]
push ecx
call fcn.00408fc0
add esp, 0xc
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x46c]
push edx
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x440]
call fcn.00402270
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00409fb0
add esp, 0x10
mov dword [ebp - 0x448], eax
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x4c0]
call fcn.00402190
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x444]
push ecx
lea edx, [ebp - 0x440]
push edx
lea eax, [ebp - 0x4c0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040b960
add esp, 0x14
mov byte [ebp - 0x4b9], al
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4c0]
call fcn.004021c0
movzx edx, byte [ebp - 0x4b9]
test edx, edx
je 0x4241ce
cmp dword [ebp + 0x14], 0xffffffff
jne 0x424029
push 0
lea ecx, [ebp - 0x4c4]
call fcn.00402190
mov byte [ebp - 4], 0x16
push 0
lea ecx, [ebp - 0x4c8]
call fcn.00402190
mov byte [ebp - 4], 0x17
push 0x45d2d4
lea ecx, [ebp - 0x4cc]
call fcn.00402190
mov byte [ebp - 4], 0x18
push 0x45d2d8
lea ecx, [ebp - 0x4d0]
call fcn.00402190
mov byte [ebp - 4], 0x19
push 0x45d2dc
lea ecx, [ebp - 0x4d4]
call fcn.00402190
mov byte [ebp - 4], 0x1a
push 0x45d2e0
lea ecx, [ebp - 0x4d8]
call fcn.00402190
mov byte [ebp - 4], 0x1b
push 0x45d2e4
lea ecx, [ebp - 0x4dc]
call fcn.00402190
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.00402190
mov byte [ebp - 4], 0x1d
push 0x45d2e8
lea ecx, [ebp - 0x4e8]
call fcn.00402190
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x4ec]
call fcn.00402190
mov byte [ebp - 4], 0x1f
push 0xffffffffffffffff
push 0
push 0
lea edx, [ebp - 0x4c4]
push edx
push 1
lea eax, [ebp - 0x4c8]
push eax
lea ecx, [ebp - 0x4cc]
push ecx
lea edx, [ebp - 0x4d0]
push edx
lea eax, [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x4d8]
push ecx
lea edx, [ebp - 0x4dc]
push edx
lea eax, [ebp - 0x4e0]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4e4]
push edx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x594]
push ecx
lea edx, [ebp - 0x4e8]
push edx
lea eax, [ebp - 0x4ec]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x4f0]
push edx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x59c]
push ecx
push 0
mov edx, dword [ebp + 0x14]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.0040c020
add esp, 0x40
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x4f0]
call fcn.004021c0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x4e4]
call fcn.004021c0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x4ec]
call fcn.004021c0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x4e8]
call fcn.004021c0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4e0]
call fcn.004021c0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x4dc]
call fcn.004021c0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x4d8]
call fcn.004021c0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x4d4]
call fcn.004021c0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x4d0]
call fcn.004021c0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4cc]
call fcn.004021c0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x4c8]
call fcn.004021c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4c4]
call fcn.004021c0
push 0
lea ecx, [ebp - 0x4f4]
call fcn.00402190
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x43c]
push ecx
lea ecx, [ebp - 0x4f8]
call fcn.00402190
mov byte [ebp - 4], 0x23
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x504]
call fcn.00402190
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x50c]
call fcn.00402190
mov byte [ebp - 4], 0x25
push 0xffffffffffffffff
push 0
push 0
lea ecx, [ebp - 0x4f4]
push ecx
movzx edx, byte [ebp + 0x18]
push edx
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x44c]
push ecx
lea edx, [ebp - 0x46c]
push edx
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x440]
push ecx
push str.Debugger
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x4fc]
call fcn.00402190
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x5a4], eax
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x5a4]
push ecx
lea edx, [ebp - 0x500]
push edx
call fcn.004255d0
add esp, 0xc
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5ac], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x5ac]
push ecx
lea edx, [ebp - 0x504]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x508]
push ecx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x5b0], eax
mov edx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5b4], edx
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x5b4]
push eax
lea ecx, [ebp - 0x50c]
push ecx
push 1
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x448]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040c020
add esp, 0x40
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x508]
call fcn.004021c0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x500]
call fcn.004021c0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x4fc]
call fcn.004021c0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x50c]
call fcn.004021c0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x504]
call fcn.004021c0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x4f8]
call fcn.004021c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4f4]
call fcn.004021c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x440]
call fcn.004021c0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x468]
call fcn.00401ae0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44c]
call fcn.004021c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x46c]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x444]
call fcn.004021c0
mov edx, dword [ebp - 0x230]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [0x46f464]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
or eax, 0x20019
push eax
push 0
lea edx, [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.004047c0
add esp, 0x14
test eax, eax
jne 0x42472f
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x470]
push edx
push 0
push 0
push str.GlobalFlag
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x424722
mov ecx, dword [ebp - 0x470]
and ecx, 0x100
je 0x424722
cmp dword [ebp + 0x14], 0xffffffff
jne 0x4244eb
push 0
lea ecx, [ebp - 0x510]
call fcn.00402190
mov dword [ebp - 4], 0x29
push 0
lea ecx, [ebp - 0x514]
call fcn.00402190
mov byte [ebp - 4], 0x2a
push 0x45d318
lea ecx, [ebp - 0x518]
call fcn.00402190
mov byte [ebp - 4], 0x2b
push 0x45d31c
lea ecx, [ebp - 0x51c]
call fcn.00402190
mov byte [ebp - 4], 0x2c
push 0x45d320
lea ecx, [ebp - 0x520]
call fcn.00402190
mov byte [ebp - 4], 0x2d
push 0x45d324
lea ecx, [ebp - 0x524]
call fcn.00402190
mov byte [ebp - 4], 0x2e
push 0x45d328
lea ecx, [ebp - 0x528]
call fcn.00402190
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x52c]
call fcn.00402190
mov byte [ebp - 4], 0x30
push 0x45d32c
lea ecx, [ebp - 0x534]
call fcn.00402190
mov byte [ebp - 4], 0x31
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x538]
call fcn.00402190
mov byte [ebp - 4], 0x32
push 0xffffffffffffffff
push 0
push 0
lea ecx, [ebp - 0x510]
push ecx
push 1
lea edx, [ebp - 0x514]
push edx
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x51c]
push ecx
lea edx, [ebp - 0x520]
push edx
lea eax, [ebp - 0x524]
push eax
lea ecx, [ebp - 0x528]
push ecx
lea edx, [ebp - 0x52c]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x530]
push ecx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x5b8], eax
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0x5bc], edx
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x5bc]
push eax
lea ecx, [ebp - 0x534]
push ecx
lea edx, [ebp - 0x538]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x53c]
push ecx
call fcn.0040ce20
add esp, 0x10
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5c4], edx
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x5c4]
push eax
push 0
mov ecx, dword [ebp + 0x14]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.0040c020
add esp, 0x40
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x53c]
call fcn.004021c0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x530]
call fcn.004021c0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x538]
call fcn.004021c0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x534]
call fcn.004021c0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x52c]
call fcn.004021c0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x528]
call fcn.004021c0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x524]
call fcn.004021c0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x520]
call fcn.004021c0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x51c]
call fcn.004021c0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x518]
call fcn.004021c0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x514]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x510]
call fcn.004021c0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x424502
mov dword [ebp - 0x5c8], 0x45d330
jmp 0x42458e
push 0x45d334
lea ecx, [ebp - 0x540]
call fcn.00402190
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], ecx
mov dword [ebp - 4], 0x35
mov edx, dword [ebp - 0x558]
or edx, 4
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x5d0]
push eax
push 0x45d358
lea ecx, [ebp - 0x544]
push ecx
call fcn.00425660
add esp, 0xc
mov dword [ebp - 0x5d4], eax
mov edx, dword [ebp - 0x5d4]
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 4], 0x36
mov eax, dword [ebp - 0x558]
or eax, 8
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x5d8]
call fcn.00402270
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5c8]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x548]
call fcn.00402190
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 4], 0x37
mov ecx, dword [ebp - 0x5e0]
push ecx
push 0x45d35c
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x54c]
call fcn.00402190
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x5e8]
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.004255d0
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x5f0]
push ecx
lea edx, [ebp - 0x554]
push edx
call fcn.00425540
add esp, 0xc
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], eax
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x5f8]
push ecx
lea edx, [ebp - 0x474]
push edx
call fcn.004255d0
add esp, 0xc
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x554]
call fcn.004021c0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x550]
call fcn.004021c0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x54c]
call fcn.004021c0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x548]
call fcn.004021c0
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x558]
and eax, 8
je 0x4246bc
and dword [ebp - 0x558], 0xfffffff7
lea ecx, [ebp - 0x544]
call fcn.004021c0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x558]
and ecx, 4
je 0x4246dd
and dword [ebp - 0x558], 0xfffffffb
lea ecx, [ebp - 0x540]
call fcn.004021c0
movzx edx, byte [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 0x20
lea ecx, [ebp - 0x224]
push ecx
push 0x45d360
lea ecx, [ebp - 0x474]
call fcn.00402270
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00423460
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x474]
call fcn.004021c0
mov ecx, dword [ebp - 0x230]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x423ac2
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004376f1
mov esp, ebp
pop ebp
ret