Function at 0x415480
Capabilities:
Delete registry value

Disassembly:
push 0xffffffffffffffff
push 0x44eeb2
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x462408]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x462408]
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.004022e0
lea edx, [esp + 0x11c]
push edx
push edi
mov ecx, 0x455174
mov byte [esp + 0x214], 1
call fcn.00411390
lea eax, [esp + 0x11c]
mov byte [esp + 0x20c], 2
call fcn.00433280
lea eax, [esp + 0x170]
push eax
push edi
mov ecx, 0x4556e8
call fcn.00411390
lea eax, [esp + 0x170]
mov byte [esp + 0x20c], 3
call fcn.00433170
lea ecx, [esp + 0x138]
push ecx
push edi
mov ecx, str.path
call fcn.00411390
lea edx, [esp + 0x154]
push edx
push edi
mov ecx, 0x4556f4
mov byte [esp + 0x214], 4
call fcn.00411390
lea eax, [esp + 0x1c4]
push eax
push edi
mov ecx, str.data
mov byte [esp + 0x214], 5
call fcn.00411390
lea ecx, [esp + 0x1a8]
push ecx
push edi
mov ecx, str.type
mov byte [esp + 0x214], 6
call fcn.00411390
lea eax, [esp + 0x1a8]
mov byte [esp + 0x20c], 7
call fcn.00433280
lea edx, [esp + 0x18c]
push edx
push edi
mov ecx, 0x455718
call fcn.00411390
lea eax, [esp + 0x1e0]
push eax
push edi
mov ecx, 0x4554bc
lea esi, [ebx + 8]
mov byte [esp + 0x214], 8
call fcn.00411390
lea eax, [esp + 0x1e0]
mov byte [esp + 0x20c], 9
call fcn.00433170
mov eax, dword [esp + 0x1a0]
push 0x453e5c
lea edi, [ebx + 2]
lea ecx, [esp + 0x190]
call fcn.00404850
lea ecx, [esp + 0x138]
push ecx
push ecx
push 0x453abc
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.004215e0
add esp, 0xc
push eax
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 8
cmp dword [esp + 0x168], ebx
je 0x4156c8
lea ecx, [esp + 0x1a8]
push ecx
push ecx
push 0x454388
push ecx
lea edx, [esp + 0x1d4]
push edx
push ecx
push 0x454f74
push ecx
lea eax, [esp + 0x174]
push eax
push ecx
lea ecx, [esp + 0xc4]
push 0x453abc
push ecx
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 0xc
push eax
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 0xc
push eax
call fcn.004045a0
add esp, 0xc
push eax
call fcn.004215e0
add esp, 8
push str.Registry
push str.__s_
push 0x463650
xor eax, eax
call fcn.0042a920
mov eax, dword [esp + 0x190]
add dword [0x463670], 1
add esp, 0xc
push str.HKLM
mov edi, 4
lea ecx, [esp + 0x174]
call fcn.00404850
test eax, eax
jne 0x415713
mov dword [esp + 0x58], 0x80000002
jmp 0x41573b
mov eax, dword [esp + 0x184]
push str.HKCU
lea ecx, [esp + 0x174]
call fcn.00404850
test eax, eax
jne 0x41628f
mov dword [esp + 0x58], 0x80000001
mov eax, dword [esp + 0x130]
push str.create
mov edi, 6
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
je 0x415a0e
mov eax, dword [esp + 0x130]
push str.createonly
mov edi, 0xa
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
je 0x415a0e
mov eax, dword [esp + 0x130]
push str.deleteoninstall
mov edi, 0xf
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
jne 0x415998
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x94]
call fcn.00402420
mov byte [esp + 0x20c], 0xc
cmp dword [eax + 0x18], esi
jb 0x4157cc
mov eax, dword [eax + 4]
jmp 0x4157cf
add eax, 4
mov ebx, eax
mov ecx, 0xbbf
call fcn.004312e0
mov bl, 9
mov edi, 8
mov byte [esp + 0x20c], bl
cmp dword [esp + 0x54], edi
jb 0x4157fc
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x168], 0
lea ecx, [esp + 0x78]
lea eax, [esp + 0x94]
jne 0x4158a8
call fcn.00402420
mov byte [esp + 0x20c], 0xd
cmp dword [eax + 0x18], edi
jb 0x41582c
mov eax, dword [eax + 4]
jmp 0x41582f
add eax, 4
push eax
push str.Deleting_Key___s
push 0x463650
xor eax, eax
call fcn.0042a920
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], bl
call fcn.00410810
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x244], 0
jne 0x415951
cmp dword [esp + 0x150], edi
mov edi, dword [esp + 0x13c]
jae 0x41587c
lea edi, [esp + 0x13c]
mov esi, 0x455820
lea ecx, [esp + 0x1e0]
call fcn.0040f700
mov edx, dword [esp + 0x58]
movzx ecx, al
push ecx
mov eax, ebp
mov ecx, edi
call fcn.0042af00
add esp, 4
mov edi, eax
jmp 0x415955
call fcn.00402420
mov byte [esp + 0x20c], 0xe
cmp dword [eax + 0x18], edi
jb 0x4158bf
mov eax, dword [eax + 4]
jmp 0x4158c2
add eax, 4
push eax
push str.Deleting_value___s
push 0x463650
xor eax, eax
call fcn.0042a920
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], bl
call fcn.00410810
cmp dword [esp + 0x150], edi
mov edi, dword [esp + 0x13c]
jae 0x4158fe
lea edi, [esp + 0x13c]
mov ebx, dword [esp + 0x58]
push 1
push ebp
lea esi, [esp + 0x78]
call fcn.0042ab00
mov edi, eax
test edi, edi
jne 0x41595d
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x244], al
jne 0x415946
cmp dword [esp + 0x16c], 8
mov eax, dword [esp + 0x158]
jae 0x415938
lea eax, [esp + 0x158]
push eax
mov eax, dword [esp + 0x74]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, eax
lea esi, [esp + 0x70]
call fcn.0042ab90
jmp 0x415955
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x415b9f
cmp edi, 2
je 0x415b9f
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x245]
neg cl
push edi
push str.Error_0x_X_while_deleting
push 0x463650
sbb ecx, ecx
not ecx
and ecx, edi
mov dword [eax + 0x38], ecx
mov eax, 2
call fcn.0042a920
add esp, 0xc
jmp 0x415b9f
mov eax, dword [esp + 0x130]
push str.deleteonuninstall
mov edi, 0x11
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
jne 0x415ba1
lea ecx, [esp + 0x78]
lea eax, [esp + 0x94]
call fcn.00402420
mov byte [esp + 0x20c], 0xf
cmp dword [eax + 0x18], 8
jb 0x4159e0
mov eax, dword [eax + 4]
jmp 0x4159e3
add eax, 4
push eax
push str.Marking_registry_value__s_for_deletion_during_uninstallation
push 0x463650
xor eax, eax
call fcn.0042a920
add esp, 0xc
lea esi, [esp + 0x78]
mov byte [esp + 0x20c], 9
call fcn.00410810
jmp 0x415ba1
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x94]
call fcn.00402420
mov byte [esp + 0x20c], 0xa
cmp dword [eax + 0x18], esi
jb 0x415a30
mov eax, dword [eax + 4]
jmp 0x415a33
add eax, 4
push eax
push str.Adding_registry_value___s
push 0x463650
xor eax, eax
call fcn.0042a920
add esp, 0xc
mov byte [esp + 0x20c], 9
cmp dword [esp + 0x54], esi
jb 0x415a63
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
add esp, 4
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x94]
call fcn.00402420
mov byte [esp + 0x20c], 0xb
cmp dword [eax + 0x18], esi
jb 0x415a85
mov eax, dword [eax + 4]
jmp 0x415a88
add eax, 4
mov ebx, eax
mov ecx, 0xbb9
call fcn.004312e0
mov byte [esp + 0x20c], 9
cmp dword [esp + 0x54], 8
jb 0x415ab0
mov eax, dword [esp + 0x40]
push eax
call fcn.0043642d
add esp, 4
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x244], 0
jne 0x415b9f
mov edi, dword [esp + 0x190]
mov eax, 8
cmp dword [esp + 0x1a4], eax
jae 0x415add
lea edi, [esp + 0x190]
cmp dword [esp + 0x1c0], eax
mov esi, dword [esp + 0x1ac]
jae 0x415af4
lea esi, [esp + 0x1ac]
cmp dword [esp + 0x1dc], eax
mov ecx, dword [esp + 0x1c8]
jae 0x415b0b
lea ecx, [esp + 0x1c8]
cmp dword [esp + 0x16c], eax
mov edx, dword [esp + 0x158]
jae 0x415b22
lea edx, [esp + 0x158]
cmp dword [esp + 0x150], eax
mov eax, dword [esp + 0x13c]
jae 0x415b39
lea eax, [esp + 0x13c]
push edi
push esi
push edx
mov edx, dword [esp + 0x64]
push eax
push edx
call fcn.0041e1d0
test eax, eax
je 0x415b9f
mov esi, dword [esp + 0x18]
mov cl, byte [esi + 0x245]
neg cl
push eax
push str.Error_0x_X_creating_value
push 0x463650
sbb ecx, ecx
not ecx
and ecx, eax
mov eax, 2
mov dword [esi + 0x38], ecx
call fcn.0042a920
add esp, 0xc
cmp byte [esi + 0x245], 0
jne 0x415b9f
push 0x7f01
push 1
xor edx, edx
push 0x80
push 0x7da
lea ecx, [edx + 0xc]
call fcn.0042f830
add esp, 0x10
xor ebx, ebx
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x244], bl
jne 0x415bce
mov eax, dword [esp + 0x130]
push str.create
mov edi, 6
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
je 0x415bf3
mov eax, dword [esp + 0x130]
push str.deleteonuninstall
mov edi, 0x11
lea ecx, [esp + 0x120]
call fcn.00404850
test eax, eax
jne 0x4160b4
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x20c], 0x10
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.00403d80
lea eax, [esp + 0x170]
push eax
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x11
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x12
call fcn.0040c080
mov ebp, 8
cmp dword [esp + 0x54], ebp
jb 0x415c71
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x415c9d
mov eax, dword [esp + 0x24]
push eax
call fcn.0043642d
add esp, 4
push 5
push 0x455458
lea esi, [esp + 0x28]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
call fcn.00403d80
lea ecx, [esp + 0x138]
push ecx
mov edx, esi
push edx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x13
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x14
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x415d02
mov eax, dword [esp + 0x40]
push eax
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x415d2e
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043642d
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.00403d80
lea edx, [esp + 0x154]
push edx
mov eax, esi
push eax
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x15
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x16
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x415d93
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x415dbf
mov edx, dword [esp + 0x24]
push edx
call fcn.0043642d
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.00403d80
lea eax, [esp + 0x18c]
push eax
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x17
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x18
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x415e24
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x415e50
mov eax, dword [esp + 0x24]
push eax
call fcn.0043642d
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.00403d80
lea ecx, [esp + 0x1e0]
push ecx
mov edx, esi
push edx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x19
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x1a
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x415eb5
mov eax, dword [esp + 0x40]
push eax
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x38], ebp
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
jb 0x415ee1
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043642d
add esp, 4
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x78]
push edx
push eax
mov ecx, 0x45501c
call fcn.00411390
mov edi, eax
mov byte [esp + 0x20c], 0x1b
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.00403d80
push edi
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x1c
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x1d
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x415f5d
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
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 0x415f82
mov eax, dword [esp + 0x24]
push eax
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x90], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
jb 0x415fad
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0043642d
add esp, 4
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x78]
push edx
push eax
mov ecx, 0x455030
call fcn.00411390
mov edi, eax
mov byte [esp + 0x20c], 0x1e
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.00403d80
push edi
mov ecx, esi
push ecx
lea edi, [esp + 0x44]
mov byte [esp + 0x214], 0x1f
call fcn.00421530
add esp, 8
push eax
lea esi, [esp + 0x64]
mov byte [esp + 0x210], 0x20
call fcn.0040c080
cmp dword [esp + 0x54], ebp
jb 0x416029
mov edx, dword [esp + 0x40]
push edx
call fcn.0043642d
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 0x41604e
mov eax, dword [esp + 0x24]
push eax
call fcn.0043642d
add esp, 4
mov byte [esp + 0x20c], 0x10
cmp dword [esp + 0x90], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
jb 0x416079
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0043642d
add esp, 4
mov edx, dword [esp + 0x18]
push str.registry
push edx
lea ecx, [esp + 0x68]
call fcn.0041b220
mov eax, dword [esp + 0x64]
cmp eax, ebx
je 0x4160b9
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
push ecx
call fcn.00410430
mov edx, dword [esp + 0x68]
add esp, 4
push edx
call fcn.0043642d
add esp, 4
jmp 0x4160b9
mov ebp, 8
sub dword [0x463670], 1
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], ebx
sete byte [esp + 0x1f]
cmp dword [esp + 0x1f8], ebp
jb 0x4160e5
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.0043642d
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 0x416119
mov edx, dword [esp + 0x190]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x1c0], ebp
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov word [esp + 0x190], bx
jb 0x416148
mov eax, dword [esp + 0x1ac]
push eax
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x1dc], ebp
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1bc], ebx
mov word [esp + 0x1ac], bx
jb 0x416177
mov ecx, dword [esp + 0x1c8]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x16c], ebp
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1d8], ebx
mov word [esp + 0x1c8], bx
jb 0x4161a6
mov edx, dword [esp + 0x158]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x150], ebp
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], ebx
mov word [esp + 0x158], bx
jb 0x4161d5
mov eax, dword [esp + 0x13c]
push eax
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x188], ebp
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov word [esp + 0x13c], bx
jb 0x416204
mov ecx, dword [esp + 0x174]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x134], ebp
mov dword [esp + 0x188], esi
mov dword [esp + 0x184], ebx
mov word [esp + 0x174], bx
jb 0x416233
mov edx, dword [esp + 0x120]
push edx
call fcn.0043642d
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.00402380
lea eax, [esp + 0xe8]
push eax
mov dword [esp + 0xec], vtable.std::ios_base.0
call fcn.004344c1
mov eax, dword [esp + 0x74]
add esp, 4
cmp eax, ebx
je 0x416286
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [esp + 0x1f]
jmp 0x416462
push str.Unsupported_root_key
push 0x463650
mov eax, 1
call fcn.0042a920
add esp, 8
cmp dword [esp + 0x1f8], esi
jb 0x4162bf
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x1a4], esi
mov edi, 7
mov dword [esp + 0x1f8], edi
mov dword [esp + 0x1f4], ebx
mov word [esp + 0x1e4], bx
jb 0x4162f3
mov edx, dword [esp + 0x190]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x1c0], esi
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a0], ebx
mov word [esp + 0x190], bx
jb 0x416322
mov eax, dword [esp + 0x1ac]
push eax
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x1dc], esi
mov dword [esp + 0x1c0], edi
mov dword [esp + 0x1bc], ebx
mov word [esp + 0x1ac], bx
jb 0x416351
mov ecx, dword [esp + 0x1c8]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x16c], esi
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1d8], ebx
mov word [esp + 0x1c8], bx
jb 0x416380
mov edx, dword [esp + 0x158]
push edx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x150], esi
mov dword [esp + 0x16c], edi
mov dword [esp + 0x168], ebx
mov word [esp + 0x158], bx
jb 0x4163af
mov eax, dword [esp + 0x13c]
push eax
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x188], esi
mov dword [esp + 0x150], edi
mov dword [esp + 0x14c], ebx
mov word [esp + 0x13c], bx
jb 0x4163de
mov ecx, dword [esp + 0x174]
push ecx
call fcn.0043642d
add esp, 4
cmp dword [esp + 0x134], esi
mov dword [esp + 0x188], edi
mov dword [esp + 0x184], ebx
mov word [esp + 0x174], bx
jb 0x41640d
mov edx, dword [esp + 0x120]
push edx
call fcn.0043642d
add esp, 4
lea ecx, [esp + 0xe8]
mov dword [esp + 0x134], edi
mov dword [esp + 0x130], ebx
mov word [esp + 0x120], bx
mov byte [esp + 0x20c], bl
call fcn.00402380
lea eax, [esp + 0xe8]
push eax
mov dword [esp + 0xec], vtable.std::ios_base.0
call fcn.004344c1
mov eax, dword [esp + 0x74]
add esp, 4
cmp eax, ebx
je 0x416460
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.00434b37
add esp, 0x1fc
ret 4