Function at 0x408f70
Capabilities:
Delete registry value

Disassembly:
push 0xffffffffffffffff
push 0x448a9c
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x4563d0]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4563d0]
xor eax, esp
push eax
lea eax, [esp + 0x204]
mov dword fs:[0], eax
mov eax, dword [esp + 0x214]
mov edi, ecx
xor ebx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x70], ebx
lea ecx, [esp + 0x94]
push ecx
mov dword [esp + 0x210], ebx
call fcn.00401990
push str.operation
lea edx, [esp + 0x120]
push edx
push edi
mov byte [esp + 0x218], 1
call fcn.00405890
lea eax, [esp + 0x11c]
mov byte [esp + 0x20c], 2
call fcn.004212f0
push 0x44d96c
lea eax, [esp + 0x174]
push eax
push edi
call fcn.00405890
lea eax, [esp + 0x170]
mov byte [esp + 0x20c], 3
call fcn.004211e0
push str.path
lea ecx, [esp + 0x13c]
push ecx
push edi
call fcn.00405890
push 0x44d978
lea edx, [esp + 0x158]
push edx
push edi
mov byte [esp + 0x218], 4
call fcn.00405890
push str.data
lea eax, [esp + 0x1c8]
push eax
push edi
mov byte [esp + 0x218], 5
call fcn.00405890
push str.type
lea ecx, [esp + 0x1ac]
push ecx
push edi
mov byte [esp + 0x218], 6
call fcn.00405890
lea eax, [esp + 0x1a8]
mov esi, 7
mov byte [esp + 0x20c], 7
call fcn.004212f0
push 0x44d99c
lea edx, [esp + 0x190]
push edx
push edi
call fcn.00405890
push 0x44d784
lea eax, [esp + 0x1e4]
push eax
push edi
mov byte [esp + 0x218], 8
call fcn.00405890
lea eax, [esp + 0x1e0]
mov byte [esp + 0x20c], 9
call fcn.004211e0
mov eax, dword [esp + 0x1a0]
push 0x44d9a8
mov edi, 2
lea ecx, [esp + 0x190]
call fcn.00403d20
lea ecx, [esp + 0x138]
push ecx
push ecx
push 0x44d9b0
mov ebp, eax
push ecx
lea edx, [esp + 0x180]
neg ebp
push edx
lea eax, [esp + 0xb0]
sbb ebp, ebp
push eax
add ebp, 1
call fcn.004162c0
add esp, 0xc
push eax
call fcn.00403a80
add esp, 0xc
push eax
call fcn.004162c0
add esp, 8
cmp dword [esp + 0x168], ebx
je 0x4091bc
lea ecx, [esp + 0x1a8]
push ecx
push ecx
push 0x44d9b4
push ecx
lea edx, [esp + 0x1d4]
push edx
push ecx
push 0x44d2dc
push ecx
lea eax, [esp + 0x174]
push eax
push ecx
lea ecx, [esp + 0xc4]
push 0x44d9b0
push ecx
call fcn.00403a80
add esp, 0xc
push eax
call fcn.004162c0
add esp, 0xc
push eax
call fcn.00403a80
add esp, 0xc
push eax
call fcn.004162c0
add esp, 0xc
push eax
call fcn.00403a80
add esp, 0xc
push eax
call fcn.004162c0
add esp, 8
push str.Registry
push str.__s_
push 0x4575d0
xor eax, eax
call fcn.00419220
mov eax, dword [esp + 0x190]
add dword [0x4575f0], 1
add esp, 0xc
push 0x44d9b8
mov edi, 4
lea ecx, [esp + 0x174]
call fcn.00403d20
test eax, eax
jne 0x409207
mov dword [esp + 0x58], 0x80000002
jmp 0x40922f
mov eax, dword [esp + 0x184]
push str.HKCU
lea ecx, [esp + 0x174]
call fcn.00403d20
test eax, eax
jne 0x409cb3
mov dword [esp + 0x58], 0x80000001
mov eax, dword [esp + 0x130]
push str.create
mov edi, 6
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
je 0x4094a8
mov eax, dword [esp + 0x130]
push str.createonly
mov edi, 0xa
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
je 0x4094a8
mov eax, dword [esp + 0x130]
push str.deleteoninstall
mov edi, 0xf
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
jne 0x409432
cmp dword [esp + 0x168], ebx
lea ecx, [esp + 0x78]
lea eax, [esp + 0x94]
jne 0x40934b
call fcn.00401ad0
mov byte [esp + 0x20c], 0xb
cmp dword [eax + 0x18], 8
jb 0x4092ce
mov eax, dword [eax + 4]
jmp 0x4092d1
add eax, 4
push eax
push str.Deleting_Key___s
push 0x4575d0
xor eax, eax
call fcn.00419220
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], 9
call fcn.00417610
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x244], bl
jne 0x4093f9
cmp dword [esp + 0x150], 8
mov edi, dword [esp + 0x13c]
jae 0x40931f
lea edi, [esp + 0x13c]
mov esi, 0x44dab4
lea ecx, [esp + 0x1e0]
call fcn.00415e90
mov edx, dword [esp + 0x58]
movzx eax, al
push eax
mov eax, ebp
mov ecx, edi
call fcn.0041d390
add esp, 4
mov edi, eax
jmp 0x4093fd
call fcn.00401ad0
mov byte [esp + 0x20c], 0xc
cmp dword [eax + 0x18], 8
jb 0x409363
mov eax, dword [eax + 4]
jmp 0x409366
add eax, 4
push eax
push str.Deleting_value___s
push 0x4575d0
xor eax, eax
call fcn.00419220
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], 9
call fcn.00417610
cmp dword [esp + 0x150], 8
mov edi, dword [esp + 0x13c]
jae 0x4093a4
lea edi, [esp + 0x13c]
mov ebx, dword [esp + 0x58]
push 1
push ebp
lea esi, [esp + 0x78]
call fcn.0041d130
mov edi, eax
test edi, edi
jne 0x409407
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x244], al
jne 0x4093ec
cmp dword [esp + 0x16c], 8
mov eax, dword [esp + 0x158]
jae 0x4093de
lea eax, [esp + 0x158]
mov edx, dword [esp + 0x70]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, eax
lea esi, [esp + 0x70]
call fcn.0041d110
xor ebx, ebx
jmp 0x4093fd
mov edi, dword [esp + 0x5c]
cmp edi, ebx
je 0x4095c5
jmp 0x409409
xor ebx, ebx
cmp edi, 2
je 0x4095c5
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x245]
neg cl
push edi
push str.Error_0x_X_while_deleting
sbb ecx, ecx
not ecx
and ecx, edi
mov dword [eax + 0x38], ecx
jmp 0x4095b3
mov eax, dword [esp + 0x130]
push str.deleteonuninstall
mov edi, 0x11
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
jne 0x4095c5
lea ecx, [esp + 0x78]
lea eax, [esp + 0x94]
call fcn.00401ad0
mov byte [esp + 0x20c], 0xd
cmp dword [eax + 0x18], 8
jb 0x40947a
mov eax, dword [eax + 4]
jmp 0x40947d
add eax, 4
push eax
push str.Marking_registry_value__s_for_deletion_during_uninstallation
push 0x4575d0
xor eax, eax
call fcn.00419220
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], 9
call fcn.00417610
jmp 0x4095c5
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x94]
call fcn.00401ad0
mov esi, 8
mov byte [esp + 0x20c], 0xa
cmp dword [eax + 0x18], esi
jb 0x4094cf
mov eax, dword [eax + 4]
jmp 0x4094d2
add eax, 4
push eax
push str.Adding_registry_value___s
push 0x4575d0
xor eax, eax
call fcn.00419220
add esp, 0xc
mov byte [esp + 0x20c], 9
cmp dword [esp + 0x54], esi
jb 0x409502
mov edx, dword [esp + 0x40]
push edx
call fcn.00422ece
add esp, 4
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x244], bl
jne 0x4095c5
mov ebp, dword [esp + 0x190]
mov eax, 8
cmp dword [esp + 0x1a4], eax
jae 0x40952e
lea ebp, [esp + 0x190]
cmp dword [esp + 0x1c0], eax
mov edi, dword [esp + 0x1ac]
jae 0x409545
lea edi, [esp + 0x1ac]
cmp dword [esp + 0x1dc], eax
mov ecx, dword [esp + 0x1c8]
jae 0x40955c
lea ecx, [esp + 0x1c8]
cmp dword [esp + 0x16c], eax
mov edx, dword [esp + 0x158]
jae 0x409573
lea edx, [esp + 0x158]
cmp dword [esp + 0x150], eax
mov eax, dword [esp + 0x13c]
jae 0x40958a
lea eax, [esp + 0x13c]
push ebp
push edi
push edx
push eax
mov eax, dword [esp + 0x68]
push eax
call fcn.004102a0
cmp eax, ebx
je 0x4095c5
mov cl, byte [esi + 0x245]
neg cl
push eax
push str.Error_0x_X_creating_value
sbb ecx, ecx
not ecx
and ecx, eax
mov dword [esi + 0x38], ecx
push 0x4575d0
mov eax, 2
call fcn.00419220
add esp, 0xc
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x244], bl
jne 0x4095f2
mov eax, dword [esp + 0x130]
push str.create
mov edi, 6
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
je 0x409617
mov eax, dword [esp + 0x130]
push str.deleteonuninstall
mov edi, 0x11
lea ecx, [esp + 0x120]
call fcn.00403d20
test eax, eax
jne 0x409ad8
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x20c], 0xe
push 5
push str.root
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
lea eax, [esp + 0x170]
push eax
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0xf
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x10
call fcn.00410de0
mov ebp, 8
cmp dword [esp + 0x54], ebp
jb 0x409695
mov edx, dword [esp + 0x40]
push edx
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x4096c1
mov eax, dword [esp + 0x24]
push eax
call fcn.00422ece
add esp, 4
push 5
push 0x44d720
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
lea ecx, [esp + 0x138]
push ecx
mov edx, esi
push edx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x11
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x12
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x409726
mov eax, dword [esp + 0x40]
push eax
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x409752
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00422ece
add esp, 4
push 6
push str.value
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
lea edx, [esp + 0x154]
push edx
mov eax, esi
push eax
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x13
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x14
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x4097b7
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x4097e3
mov edx, dword [esp + 0x24]
push edx
call fcn.00422ece
add esp, 4
push 5
push str.hive
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
lea eax, [esp + 0x18c]
push eax
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x15
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x16
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x409848
mov edx, dword [esp + 0x40]
push edx
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x409874
mov eax, dword [esp + 0x24]
push eax
call fcn.00422ece
add esp, 4
push 0x14
push str.delete_if_not_empty
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
lea ecx, [esp + 0x1e0]
push ecx
mov edx, esi
push edx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x17
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x18
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x4098d9
mov eax, dword [esp + 0x40]
push eax
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x409905
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00422ece
add esp, 4
mov eax, dword [esp + 0x5c]
push 0x44d4bc
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.00405890
mov edi, eax
mov byte [esp + 0x20c], 0x19
push 0xa
push str.usequence
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
push edi
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x1a
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x1b
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x409981
mov edx, dword [esp + 0x40]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x38], ebp
mov esi, 7
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x4099a6
mov eax, dword [esp + 0x24]
push eax
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x90], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
jb 0x4099d1
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00422ece
add esp, 4
mov eax, dword [esp + 0x5c]
push 0x44d5c4
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.00405890
mov edi, eax
mov byte [esp + 0x20c], 0x1c
push 6
push str.group
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.004031d0
push edi
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x1d
call fcn.00416160
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x1e
call fcn.00410de0
cmp dword [esp + 0x54], ebp
jb 0x409a4d
mov edx, dword [esp + 0x40]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x38], ebp
mov esi, 7
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x409a72
mov eax, dword [esp + 0x24]
push eax
call fcn.00422ece
add esp, 4
mov byte [esp + 0x20c], 0xe
cmp dword [esp + 0x90], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
jb 0x409a9d
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00422ece
add esp, 4
mov edx, dword [esp + 0x18]
push str.registry
push edx
lea ecx, [esp + 0x68]
call fcn.0040dd20
mov eax, dword [esp + 0x64]
cmp eax, ebx
je 0x409add
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
push ecx
call fcn.00417520
mov edx, dword [esp + 0x68]
add esp, 4
push edx
call fcn.00422ece
add esp, 4
jmp 0x409add
mov ebp, 8
sub dword [0x4575f0], 1
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], ebx
sete byte [esp + 0x1f]
cmp dword [esp + 0x1f8], ebp
jb 0x409b09
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1a4], ebp
mov esi, 7
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1f4], ebx
mov word [esp + 0x1e4], bx
jb 0x409b3d
mov edx, dword [esp + 0x190]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1c0], ebp
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov word [esp + 0x190], bx
jb 0x409b6c
mov eax, dword [esp + 0x1ac]
push eax
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1dc], ebp
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1bc], ebx
mov word [esp + 0x1ac], bx
jb 0x409b9b
mov ecx, dword [esp + 0x1c8]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x16c], ebp
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1d8], ebx
mov word [esp + 0x1c8], bx
jb 0x409bca
mov edx, dword [esp + 0x158]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x150], ebp
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], ebx
mov word [esp + 0x158], bx
jb 0x409bf9
mov eax, dword [esp + 0x13c]
push eax
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x188], ebp
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov word [esp + 0x13c], bx
jb 0x409c28
mov ecx, dword [esp + 0x174]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x134], ebp
mov dword [esp + 0x188], esi
mov dword [esp + 0x184], ebx
mov word [esp + 0x174], bx
jb 0x409c57
mov edx, dword [esp + 0x120]
push edx
call fcn.00422ece
add esp, 4
lea ecx, [esp + 0xe8]
mov dword [esp + 0x134], esi
mov dword [esp + 0x130], ebx
mov word [esp + 0x120], bx
mov byte [esp + 0x20c], bl
call fcn.00401a30
lea eax, [esp + 0xe8]
push eax
mov dword [esp + 0xec], vtable.std::ios_base.0
call fcn.00421af8
mov eax, dword [esp + 0x74]
add esp, 4
cmp eax, ebx
je 0x409caa
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [esp + 0x1f]
jmp 0x409e86
push str.Unsupported_root_key
push 0x4575d0
mov eax, 1
call fcn.00419220
mov edi, 8
add esp, 8
cmp dword [esp + 0x1f8], edi
jb 0x409ce8
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1a4], edi
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1f4], ebx
mov word [esp + 0x1e4], bx
jb 0x409d17
mov edx, dword [esp + 0x190]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1c0], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov word [esp + 0x190], bx
jb 0x409d46
mov eax, dword [esp + 0x1ac]
push eax
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x1dc], edi
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1bc], ebx
mov word [esp + 0x1ac], bx
jb 0x409d75
mov ecx, dword [esp + 0x1c8]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x16c], edi
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1d8], ebx
mov word [esp + 0x1c8], bx
jb 0x409da4
mov edx, dword [esp + 0x158]
push edx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x150], edi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], ebx
mov word [esp + 0x158], bx
jb 0x409dd3
mov eax, dword [esp + 0x13c]
push eax
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x188], edi
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov word [esp + 0x13c], bx
jb 0x409e02
mov ecx, dword [esp + 0x174]
push ecx
call fcn.00422ece
add esp, 4
cmp dword [esp + 0x134], edi
mov dword [esp + 0x188], esi
mov dword [esp + 0x184], ebx
mov word [esp + 0x174], bx
jb 0x409e31
mov edx, dword [esp + 0x120]
push edx
call fcn.00422ece
add esp, 4
lea ecx, [esp + 0xe8]
mov dword [esp + 0x134], esi
mov dword [esp + 0x130], ebx
mov word [esp + 0x120], bx
mov byte [esp + 0x20c], bl
call fcn.00401a30
lea eax, [esp + 0xe8]
push eax
mov dword [esp + 0xec], vtable.std::ios_base.0
call fcn.00421af8
mov eax, dword [esp + 0x74]
add esp, 4
cmp eax, ebx
je 0x409e84
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
mov ecx, dword [esp + 0x204]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.00422834
add esp, 0x1fc
ret 4