Function at 0x45f04f
Capabilities:
Encode data using base64
Parse credit card information
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x90
push ebx
push esi
push edi
mov dword [ebp + 0x18], ecx
push ecx
lea ecx, [ebp - 0x20]
call fcn.0044646b
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x24], eax
xor ebx, ebx
lea eax, [ebp + 0x78]
push eax
mov byte [ebp + 0x3b], 0xff
mov byte [ebp + 0x66], bl
mov byte [ebp + 0x53], bl
mov dword [ebp - 8], ebx
call fcn.0043dcd9
push 0xa
lea eax, [ebp + 0x78]
push eax
push str.___initram
call fcn.004460ea
add esp, 0x10
test al, al
jne 0x45f557
mov dword [ebp + 0x68], ebx
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
cmp ax, 0x2d
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], 0xfffffff0
mov byte [ebp + 0x6f], 0
mov byte [ebp + 0x5f], 0
mov byte [ebp + 0x65], 0
mov byte [ebp + 0x67], 0
mov byte [ebp + 0x2b], 0
mov byte [ebp + 0x64], 0
mov byte [ebp + 0x2a], 0
mov byte [ebp + 0x29], 0
mov dword [ebp + 0x4c], ebx
mov cl, 0x2a
jne 0x45f0e2
mov cl, al
movsx ecx, cl
movzx eax, ax
cmp ecx, eax
mov dword [ebp + 0x14], ecx
jne 0x45f355
movzx eax, word [esi + 2]
cmp dword [ebp + 0x14], eax
jne 0x45f355
xor eax, eax
lea ecx, [esi + 4]
mov ax, word [ecx]
mov edx, eax
and dx, 0xffdf
cmp dx, 0x48
je 0x45f355
call fcn.0040f4c7
test al, al
jne 0x45f355
xor edi, edi
mov esi, ecx
inc edi
push edi
push esi
push 0x4c6034
mov dword [ebp + 0x78], esi
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x45f18a
lea eax, [ebp + 0x78]
add esi, 2
push eax
mov dword [ebp + 0x30], esi
call fcn.00408ddd
cmp word [esi], 0x3a
pop ecx
je 0x45f160
or dword [ebp + 0x4c], 7
jmp 0x45f346
lea eax, [ebp + 0x60]
push eax
inc esi
lea eax, [ebp + 0x30]
inc esi
push eax
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x30], esi
call fcn.0044073a
test eax, eax
pop ecx
pop ecx
jle 0x45f346
mov eax, dword [ebp + 0x60]
or dword [ebp + 0x4c], eax
jmp 0x45f346
push 2
push esi
push 0x4c6030
call fcn.0043f11b
add esp, 0xc
test al, al
lea eax, [ebp + 0x78]
je 0x45f1d6
add esi, 4
push eax
mov dword [ebp + 0xc], esi
call fcn.00408ddd
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0xc]
push eax
mov dword [ebp + 0x60], ebx
call fcn.004504ce
add esp, 0xc
test eax, eax
jle 0x45f346
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x58], ebx
jmp 0x45f346
push 2
pop esi
push esi
push eax
push 0x4c22e4
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f1f5
mov byte [ebp + 0x65], 1
jmp 0x45f346
push 4
lea eax, [ebp + 0x78]
push eax
push str.byte
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f215
mov byte [ebp + 0x64], 1
jmp 0x45f346
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c06e0
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f234
mov byte [ebp + 0x67], 3
jmp 0x45f346
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4c6024
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f253
or byte [ebp + 0x67], 1
jmp 0x45f346
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4c6020
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f272
or byte [ebp + 0x67], 2
jmp 0x45f346
push 4
lea eax, [ebp + 0x78]
push eax
push str.name
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f292
mov byte [ebp + 0x2b], 1
jmp 0x45f346
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c6014
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f2b0
inc byte [ebp + 0x66]
jmp 0x45f346
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4c6010
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f2cb
dec byte [ebp + 0x66]
jmp 0x45f346
push edi
lea eax, [ebp + 0x78]
push eax
push 0x4c600c
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f2e6
inc byte [ebp + 0x53]
jmp 0x45f346
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4c6008
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f302
mov byte [ebp + 0x2a], 1
jmp 0x45f346
push 4
lea eax, [ebp + 0x78]
push eax
push str.init
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f31f
mov byte [ebp + 0x29], 1
jmp 0x45f346
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4bdde8
call fcn.004460ea
add esp, 0xc
test al, al
je 0x45f33c
call fcn.00441f31
jmp 0x45f346
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
pop ecx
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x14], eax
je 0x45f0f3
lea ecx, [ebp + 8]
call fcn.004441a1
lea ecx, [ebp - 0x10]
call fcn.004441a1
lea ecx, [ebp + 0x10]
call fcn.004441a1
lea ecx, [ebp + 4]
call fcn.004441a1
lea ecx, [ebp]
call fcn.004441a1
xor eax, eax
mov ax, word [esi]
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
je 0x45f3cf
cmp cx, 0x75
je 0x45f3cf
cmp cx, 0x62
je 0x45f3cf
cmp ax, 0x5e
je 0x45f3cf
cmp ax, 0x2b
je 0x45f3cf
cmp ax, 0x23
je 0x45f3cf
cmp ax, 0x40
je 0x45f3cf
cmp ax, 0x24
je 0x45f3cf
cmp ax, 0x2a
je 0x45f3cf
cmp ax, 0x7e
je 0x45f3cf
cmp ax, 0x2e
je 0x45f3cf
cmp ax, 0x3f
jne 0x45f3e8
mov al, byte [esi]
inc esi
inc esi
test al, al
mov byte [ebp + 0x6f], al
mov dword [ebp + 0x78], esi
je 0x45f3e8
movzx eax, word [esi]
movsx ecx, byte [ebp + 0x6f]
cmp ecx, eax
je 0x45f3ee
cmp word [esi], 0x24
jne 0x45f3f8
mov al, byte [esi]
inc esi
inc esi
mov byte [ebp + 0x5f], al
mov dword [ebp + 0x78], esi
cmp byte [ebp + 0x6f], 0x41
jl 0x45f408
cmp byte [ebp + 0x6f], 0x5a
jg 0x45f408
or byte [ebp + 0x6f], 0x20
lea eax, [ebp + 0x78]
push eax
call fcn.0043dcd9
mov edi, dword [ebp + 0x78]
mov dword [esp], 0x4c5ff8
push edi
mov dword [ebp + 0x1c], edi
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov esi, eax
cmp esi, ebx
je 0x45f42e
lea edi, [esi + 4]
mov edx, edi
mov dword [ebp + 0x44], edx
cmp word [edi], bx
je 0x45f4c1
mov ax, word [edx]
cmp ax, 0x2c
je 0x45f478
cmp ax, 0x3d
je 0x45f4c1
cmp ax, 0x21
jne 0x45f46c
lea eax, [edx + 2]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x30]
cmp word [eax], bx
pop ecx
je 0x45f4c1
lea edx, [eax - 2]
inc edx
inc edx
mov dword [ebp + 0x44], edx
cmp word [edx], bx
jne 0x45f43c
jmp 0x45f4c1
add edx, 2
push 0x3d
push edx
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
je 0x45f48c
mov edx, eax
jmp 0x45f4b9
mov eax, dword [ebp + 0x44]
add eax, 2
push 0x21
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edx, eax
cmp edx, ebx
je 0x45f4be
lea eax, [edx + 2]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x30]
cmp word [eax], bx
pop ecx
jne 0x45f4be
mov dword [ebp + 0x44], edx
jmp 0x45f4c1
mov edx, dword [ebp + 0x44]
mov ax, word [edx]
cmp ax, 0x2c
je 0x45f4d6
cmp ax, 0x3d
je 0x45f4d6
cmp ax, 0x21
jne 0x45f4ea
mov al, byte [edx]
mov word [edx], bx
add dword [ebp + 0x44], 2
test al, al
mov byte [ebp + 0x3a], al
jne 0x45f570
inc byte [ebp + 0x3b]
cmp byte [ebp + 0x3b], 0
jg 0x45f566
mov ecx, dword [ebp + 0x18]
push 1
push ebx
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x24]
call fcn.00454cef
mov eax, dword [ebp - 8]
lea ecx, [ebp]
mov dword [ebp + 0x78], eax
call fcn.0043dd41
lea ecx, [ebp + 4]
call fcn.0043dd41
lea ecx, [ebp + 0x10]
call fcn.0043dd41
lea ecx, [ebp - 0x10]
call fcn.0043dd41
lea ecx, [ebp + 8]
call fcn.0043dd41
lea eax, [ebp + 0x78]
push eax
call fcn.0043dcd9
push 0xa
lea eax, [ebp + 0x78]
push eax
push str.___initram
call fcn.004460ea
add esp, 0x10
test al, al
je 0x45f0a5
push 3
call fcn.004128cd
pop ecx
xor esi, esi
jmp 0x460596
mov esi, 0x80070057
jmp 0x46056e
cmp esi, ebx
mov dword [ebp - 4], ebx
jne 0x45f589
push 0x5c
push ebx
push edi
mov edi, dword [sym.imp.SHLWAPI.dll_StrRChrW]
call edi
mov esi, eax
cmp esi, ebx
je 0x45f5e1
mov ecx, dword [ebp + 0x18]
push 1
push ebx
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x78]
mov word [esi], bx
call fcn.00454cef
mov eax, dword [ebp + 8]
push 0x5c
push eax
mov dword [ebp + 0x1c], eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
jne 0x45f5bb
mov esi, 0x80070057
jmp 0x460566
mov ecx, dword [ebp + 0x18]
mov word [eax], bx
inc eax
inc eax
push 1
mov dword [ebp + 0x60], eax
push ebx
lea eax, [ebp - 4]
push eax
add esi, 2
push esi
call fcn.00454cef
mov eax, dword [ebp - 4]
mov dword [ebp + 0x40], eax
jmp 0x45f664
push 1
push 0x2c
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x20]
call fcn.0045708a
push ebx
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.00446f11
mov eax, dword [ebp + 8]
add esp, 0xc
push 0x5c
push eax
mov dword [ebp + 0x1c], eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov esi, eax
cmp esi, ebx
je 0x45f5b1
mov word [esi], bx
inc esi
inc esi
push 0x4c5ff8
push esi
mov dword [ebp + 0x60], esi
call dword [sym.imp.SHLWAPI.dll_StrStrW]
cmp byte [ebp + 0x67], 0
mov dword [ebp + 0x40], eax
je 0x45f642
cmp eax, ebx
jne 0x45f657
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov dword [ebp + 0x40], eax
cmp eax, ebx
jne 0x45f657
push 0x5c
push ebx
push esi
call edi
cmp eax, ebx
mov dword [ebp + 0x40], eax
je 0x45f5b1
cmp word [eax], bx
je 0x45f664
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x40], eax
cmp word [eax], 0x5c
jne 0x45f66f
inc eax
inc eax
mov dword [ebp + 0x40], eax
cmp byte [ebp + 0x2b], 0
mov dword [ebp + 0x30], ebx
je 0x45f693
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x18]
call fcn.00453558
mov eax, dword [ebp + 0x30]
add esp, 0xc
mov dword [ebp + 0x44], eax
jmp 0x45f696
mov eax, dword [ebp + 0x44]
cmp byte [ebp + 0x3a], 0x2c
jne 0x45f727
push 1
push 0x2c
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp - 0x20]
call fcn.0045708a
push ebx
lea ecx, [ebp + 0x10]
push ecx
push eax
call fcn.00446f11
mov ecx, dword [ebp + 0x18]
add esp, 0xc
push ebx
lea eax, [ebp + 0x10]
push eax
call fcn.00402ed1
cmp byte [ebp + 0x6f], 0x2e
jne 0x45f709
mov eax, dword [ebp + 0x44]
cmp word [eax], 0x2c
jne 0x45f709
add dword [ebp + 0x44], 2
push 1
push 0x2c
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp - 0x20]
call fcn.0045708a
push ebx
lea ecx, [ebp]
push ecx
push eax
call fcn.00446f11
mov ecx, dword [ebp + 0x18]
add esp, 0xc
push ebx
lea eax, [ebp]
push eax
call fcn.00402ed1
mov eax, dword [ebp + 0x10]
cmp word [eax], bx
jne 0x45f820
push str.RegDat
lea ecx, [ebp + 0x10]
call fcn.0044cf95
jmp 0x45f820
cmp byte [ebp + 0x3a], 0x21
je 0x45f820
cmp word [eax], bx
jne 0x45f75a
cmp byte [ebp + 0x6f], 0x24
je 0x45f779
cmp byte [ebp + 0x6f], 0x2a
je 0x45f75a
cmp byte [ebp + 0x6f], 0x7e
je 0x45f75a
cmp byte [ebp + 0x53], 0
je 0x45f820
mov dword [ebp + 0x68], eax
jmp 0x45f820
cmp byte [ebp + 0x6f], 0x24
je 0x45f779
cmp byte [ebp + 0x6f], 0x2a
je 0x45f779
cmp byte [ebp + 0x6f], 0x7e
je 0x45f779
lea eax, [ebp + 0x44]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x44]
pop ecx
push eax
lea ecx, [ebp + 0x14]
call fcn.0044cf2d
mov edx, dword [ebp + 0x14]
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.0043dcd9
cmp byte [ebp + 0x7c], 0
pop ecx
je 0x45f7a3
push edx
lea ecx, [ebp + 4]
call fcn.0044cf95
jmp 0x45f7b3
mov ecx, dword [ebp + 0x18]
push 1
push ebx
lea eax, [ebp + 4]
push eax
push edx
call fcn.004538d5
mov eax, dword [ebp + 4]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x7c], eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0043dcd9
cmp byte [ebp + 0x6f], 0
pop ecx
jne 0x45f7fe
push dword [ebp + 0x78]
push 0x4c5fe0
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x45f7e7
mov dword [ebp + 0x68], 0x4bca2c
jmp 0x45f818
mov ecx, dword [ebp + 0x7c]
mov ax, word [ecx]
cmp ax, 0x23
je 0x45f7f9
cmp ax, 0x40
jne 0x45f818
mov dword [ebp + 0x68], ecx
jmp 0x45f818
cmp byte [ebp + 0x6f], 0x23
je 0x45f80a
cmp byte [ebp + 0x6f], 0x40
jne 0x45f818
mov eax, dword [ebp + 0x7c]
cmp word [eax], bx
mov dword [ebp + 0x68], eax
jne 0x45f818
mov dword [ebp + 0x68], ebx
lea ecx, [ebp + 0x14]
call fcn.0043dd41
mov edi, dword [ebp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.HKLM
push edi
call esi
test eax, eax
je 0x45f8d7
push str.HKEY_LOCAL_MACHINE
push edi
call esi
test eax, eax
je 0x45f8d7
push str.HKCU
push edi
call esi
test eax, eax
je 0x45f8ce
push str.HKEY_CURRENT_USER
push edi
call esi
test eax, eax
je 0x45f8ce
push str.HKCR
push edi
call esi
test eax, eax
je 0x45f8c5
push str.HKEY_CLASSES_ROOT
push edi
call esi
test eax, eax
je 0x45f8c5
push 0x4c5f44
push edi
call esi
test eax, eax
je 0x45f8bc
push str.HKEY_USERS
push edi
call esi
test eax, eax
je 0x45f8bc
push str.HKCC
push edi
call esi
test eax, eax
je 0x45f8b3
push str.HKEY_CURRENT_CONFIG
push edi
call esi
test eax, eax
je 0x45f8b3
mov esi, 0x80070057
jmp 0x46055e
mov dword [ebp + 0x78], 0x80000005
jmp 0x45f8de
mov dword [ebp + 0x78], 0x80000003
jmp 0x45f8de
mov dword [ebp + 0x78], 0x80000000
jmp 0x45f8de
mov dword [ebp + 0x78], 0x80000001
jmp 0x45f8de
mov dword [ebp + 0x78], 0x80000002
mov eax, dword [ebp + 0x10]
cmp word [eax], bx
je 0x45fffe
cmp byte [ebp + 0x6f], 0x2e
je 0x45f8f9
cmp byte [ebp + 0x6f], 0x3f
mov dword [ebp + 0x3c], ebx
jne 0x45f906
cmp byte [ebp + 0x6f], 0x3f
mov dword [ebp + 0x3c], 1
je 0x45f915
cmp dword [ebp + 0x3c], ebx
je 0x45f910
cmp word [eax], bx
je 0x45f915
mov dword [ebp + 0x4c], ebx
jmp 0x45f91c
mov dword [ebp + 0x4c], 1
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x64
lea ecx, [ebp + 0x68]
mov dword [ebp + 0xc], ebx
call fcn.004441bf
lea ecx, [ebp + 0x2c]
call fcn.004441a1
cmp byte [ebp + 0x6f], 0x2e
lea eax, [ebp + 0x2c]
je 0x45f944
lea eax, [ebp + 0x68]
push 0x1000
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x34], eax
call fcn.0044404a
cmp byte [ebp + 0x67], 0
lea eax, [ebp + 0x7c]
mov dword [ebp + 0x1c], 0xfff
mov dword [ebp + 0x7c], ebx
mov dword [ebp + 0x24], ebx
push eax
je 0x45faed
movzx eax, word [0x4d7c14]
or eax, 9
push eax
push ebx
push dword [ebp + 0x60]
mov dword [ebp + 0x40], ebx
push dword [ebp + 0x78]
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp + 0x7c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push ebx
push ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x3c]
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x7c]
call esi
push ebx
push ebx
push ebx
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x14]
push eax
push ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x3c]
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x7c]
call esi
mov dword [ebp + 0x78], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0x4c], eax
jae 0x45f9df
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x4c]
lea eax, [eax*4 + 0x20]
mov dword [ebp - 0xc], eax
shr eax, 1
add eax, 8
push eax
lea ecx, [ebp + 0x58]
call fcn.004441bf
mov esi, dword [ebp + 0x58]
mov word [esi], 0xd
mov word [esi + 2], 0xa
lea ebx, [esi + 4]
mov word [ebx], 0x76
lea edi, [esi + 8]
mov word [esi + 6], 0x20
and word [edi], 0
cmp byte [ebp + 0x67], 3
mov dword [ebp + 0x60], ebx
je 0x45fa28
mov edi, ebx
cmp dword [ebp + 0x78], 0
jne 0x45fad1
test byte [ebp + 0x67], 1
je 0x45fa7f
and dword [ebp + 0x78], 0
cmp dword [ebp + 0x14], 0
jle 0x45fa7f
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x40], eax
xor eax, eax
push eax
push eax
push eax
push eax
mov word [edi], ax
lea eax, [ebp + 0x40]
push eax
push edi
push dword [ebp + 0x78]
push dword [ebp + 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x45fa74
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call fcn.0044420d
mov dword [ebp + 0x60], esi
inc dword [ebp + 0x78]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x14]
jl 0x45fa42
test byte [ebp + 0x67], 2
mov word [ebx], 0x6b
je 0x45fad1
and dword [ebp + 0x78], 0
cmp dword [ebp + 0x3c], 0
jle 0x45fad1
xor ebx, ebx
mov eax, dword [ebp - 0xc]
push ebx
push ebx
push ebx
push ebx
mov dword [ebp + 0x40], eax
lea eax, [ebp + 0x40]
push eax
push edi
push dword [ebp + 0x78]
mov word [edi], bx
push dword [ebp + 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x45fac6
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call fcn.0044420d
mov dword [ebp + 0x60], esi
inc dword [ebp + 0x78]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x3c]
jl 0x45fa96
cmp dword [ebp + 0x7c], 0
je 0x45fae0
push dword [ebp + 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp + 0x58]
call fcn.0043dd41
jmp 0x45ffab
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x40]
push dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.00448724
mov esi, dword [ebp + 0x7c]
add esp, 0x18
cmp esi, ebx
mov edi, eax
je 0x45fb7a
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
jne 0x45fb35
cmp esi, 2
jne 0x45fb35
cmp edi, 0xfffffffe
jne 0x45fb35
cmp dword [ebp + 0x3c], ebx
je 0x45ffad
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x4c5ef4
jmp 0x45fb46
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0xc], esi
je 0x45fb53
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.ERROR
mov ecx, dword [ebp + 0x34]
call fcn.0044425c
jmp 0x45ffad
cmp byte [ebp + 0x29], 0
jne 0x45ffad
lea ecx, [ebp + 0x48]
call fcn.0043dd41
lea ecx, [ebp + 0x2c]
call fcn.0043dd41
lea ecx, [ebp + 0x68]
call fcn.0043dd41
jmp 0x46055e
cmp dword [ebp + 0x58], ebx
jl 0x45fb9b
jg 0x45fb86
cmp dword [ebp + 0x54], ebx
jb 0x45fb9b
xor eax, eax
cmp dword [ebp + 0x54], edi
jne 0x45fb92
cmp dword [ebp + 0x58], eax
je 0x45fb9b
mov dword [ebp + 0x60], 1
jmp 0x45fb9e
mov dword [ebp + 0x60], ebx
cmp edi, 1
mov byte [ebp + 0x7b], 0
mov byte [ebp + 0x7f], 0xff
mov eax, str.REG_SZ
jne 0x45fbb8
mov bl, 0x24
mov byte [ebp + 0x7f], 0
jmp 0x45fbd2
cmp edi, 6
jne 0x45fbc6
mov eax, str.REG_LINK
mov bl, 0x5e
jmp 0x45fbd2
cmp edi, 0x15
jne 0x45fc29
mov eax, str.REG_MUI_SZ
mov bl, 0x75
xor esi, esi
cmp dword [ebp + 0x3c], esi
je 0x45fbef
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
call fcn.0044425c
cmp dword [ebp + 0x4c], esi
jne 0x45ffab
cmp dword [ebp + 0x60], esi
jne 0x45ff46
cmp dword [ebp + 0x58], esi
jg 0x45fc18
jl 0x45fc04
cmp dword [ebp + 0x54], esi
jae 0x45fc18
mov al, byte [ebp + 0x6f]
cmp bl, al
je 0x45fc18
cmp al, 0x2e
je 0x45fc18
cmp byte [ebp + 0x7f], al
jne 0x45ff46
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x48], eax
jmp 0x45ffab
cmp edi, 0xb
jne 0x45fc8f
cmp dword [ebp + 0x3c], ebx
je 0x45fc4d
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.REG_QWORD
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x60], ebx
jne 0x45ff46
cmp dword [ebp + 0x58], ebx
jg 0x45fc72
jl 0x45fc62
cmp dword [ebp + 0x54], ebx
jae 0x45fc72
cmp byte [ebp + 0x6f], 0x2b
je 0x45fc72
cmp byte [ebp + 0x6f], 0x2e
jne 0x45ff46
mov eax, dword [ebp + 0x48]
push str.0x_I64x
push dword [eax + 4]
push dword [eax]
push dword [ebp + 0x68]
call fcn.00497dbc
add esp, 0x10
jmp 0x45ffab
cmp edi, 4
mov esi, dword [ebp + 0x48]
jne 0x45fcdc
cmp dword [ebp + 0x3c], ebx
je 0x45fcb6
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.REG_DWORD
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x60], ebx
jne 0x45ff46
cmp dword [ebp + 0x58], ebx
jg 0x45fd3b
jl 0x45fccb
cmp dword [ebp + 0x54], ebx
jae 0x45fd3b
cmp byte [ebp + 0x6f], 0x23
je 0x45fd3b
cmp byte [ebp + 0x6f], 0x2e
je 0x45fd3b
jmp 0x45ff46
cmp edi, 5
jne 0x45fd53
cmp dword [ebp + 0x3c], ebx
je 0x45fd00
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.REG_DWORD_BIG_ENDIAN
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x60], ebx
jne 0x45ff46
cmp dword [ebp + 0x58], ebx
jg 0x45fd25
jl 0x45fd15
cmp dword [ebp + 0x54], ebx
jae 0x45fd25
cmp byte [ebp + 0x6f], 0x62
je 0x45fd25
cmp byte [ebp + 0x6f], 0x2e
jne 0x45ff46
mov cl, byte [esi + 3]
mov al, byte [esi]
mov byte [esi], cl
mov byte [esi + 3], al
mov cl, byte [esi + 2]
mov al, byte [esi + 1]
mov byte [esi + 1], cl
mov byte [esi + 2], al
push dword [esi]
push str.0x_x
push dword [ebp + 0x68]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x45ffab
cmp edi, 2
jne 0x45fdc1
cmp dword [ebp + 0x3c], ebx
je 0x45fd77
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.REG_EXPAND_SZ
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x60], ebx
jne 0x45ff46
cmp dword [ebp + 0x58], ebx
jg 0x45fd9c
jl 0x45fd8c
cmp dword [ebp + 0x54], ebx
jae 0x45fd9c
cmp byte [ebp + 0x6f], 0x7e
je 0x45fd9c
cmp byte [ebp + 0x6f], 0x2e
jne 0x45ff46
cmp byte [ebp + 0x5f], 0
je 0x45fc18
mov eax, dword [ebp + 0x48]
push 1
push ebx
lea ecx, [ebp + 0x68]
push ecx
mov ecx, dword [ebp + 0x18]
push eax
mov dword [ebp + 0x44], eax
call fcn.00454cef
jmp 0x45ffab
cmp edi, 7
jne 0x45fea4
cmp dword [ebp + 0x3c], ebx
je 0x45fde9
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.REG_MULTI_SZ
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x60], ebx
jne 0x45ff46
cmp dword [ebp + 0x58], ebx
jg 0x45fe0e
jl 0x45fdfe
cmp dword [ebp + 0x54], ebx
jae 0x45fe0e
cmp byte [ebp + 0x6f], 0x2a
je 0x45fe0e
cmp byte [ebp + 0x6f], 0x2e
jne 0x45ff46
mov esi, dword [ebp + 0x1c]
shr esi, 1
lea eax, [esi*4 + 6]
push eax
lea ecx, [ebp + 0x68]
call fcn.004441e6
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x68]
lea esi, [ecx + esi*2]
jmp 0x45fe98
cmp byte [ebp + 0x5f], 0x2a
jne 0x45fe5f
cmp word [ecx], 0x5c
jne 0x45fe5f
lea edx, [ecx + 2]
mov di, word [edx]
cmp di, 0x30
je 0x45fe51
cmp di, 0x5c
je 0x45fe51
cmp di, bx
jne 0x45fe5f
mov word [eax], 0x5c
mov ecx, edx
mov dx, word [ecx]
inc eax
inc eax
jmp 0x45fe67
mov dx, word [ecx]
cmp dx, bx
je 0x45fe70
mov word [eax], dx
inc eax
inc eax
inc ecx
inc ecx
jmp 0x45fe98
inc ecx
inc ecx
cmp byte [ebp + 0x5f], 0x24
jne 0x45fe8a
cmp ecx, esi
jae 0x45fe9c
mov word [eax], 0xd
inc eax
inc eax
mov word [eax], 0xa
jmp 0x45fe96
mov word [eax], 0x5c
inc eax
inc eax
mov word [eax], 0x30
inc eax
inc eax
cmp ecx, esi
jb 0x45fe2e
mov word [eax], bx
jmp 0x45ffab
cmp edi, 3
jne 0x45feb0
mov eax, str.REG_BINARY
jmp 0x45fedd
cmp edi, ebx
jne 0x45febb
mov eax, str.REG_NONE
jmp 0x45fedd
cmp edi, 8
jne 0x45fec7
mov eax, str.REG_RESOURCE_LIST
jmp 0x45fedd
cmp edi, 9
jne 0x45fed3
mov eax, str.REG_FULL_RESOURCE_DESCRIPTOR
jmp 0x45fedd
cmp edi, 0xa
jne 0x45fefe
mov eax, str.REG_RESOURCE_REQUIREMENTS_LIST
cmp dword [ebp + 0x3c], ebx
je 0x45fef8
mov ecx, dword [ebp + 0x34]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
call fcn.0044425c
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
mov byte [ebp + 0x7b], 0x40
jmp 0x45ff29
cmp dword [ebp + 0x3c], ebx
je 0x45ff29
mov esi, dword [ebp + 0x34]
push 0x32
mov ecx, esi
call fcn.004441e6
push edi
push str.0x_lx
push dword [esi]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp dword [ebp + 0x4c], ebx
jne 0x45ffab
cmp dword [ebp + 0x58], ebx
jg 0x45ff41
jl 0x45ff35
cmp dword [ebp + 0x54], ebx
jae 0x45ff41
mov al, byte [ebp + 0x6f]
cmp byte [ebp + 0x7b], al
je 0x45ff41
cmp al, 0x2e
jne 0x45ff46
cmp dword [ebp + 0x60], ebx
je 0x45ff63
lea ecx, [ebp + 0x48]
call fcn.0043dd41
lea ecx, [ebp + 0x2c]
call fcn.0043dd41
lea ecx, [ebp + 0x68]
call fcn.0043dd41
jmp 0x45f8a9
mov eax, dword [ebp + 0x1c]
lea eax, [eax + eax*4 + 7]
push eax
lea ecx, [ebp + 0x68]
call fcn.004441e6
mov edi, dword [ebp + 0x68]
mov esi, dword [ebp + 0x48]
xor ebx, ebx
mov word [edi], bx
mov word [edi + 2], bx
cmp dword [ebp + 0x1c], ebx
mov dword [ebp + 0x24], 1
jle 0x45ffab
movzx eax, byte [esi]
push eax
push str._0x_02X
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
inc esi
inc ebx
add edi, 0xa
cmp ebx, dword [ebp + 0x1c]
jl 0x45ff8e
xor ebx, ebx
mov eax, dword [ebp + 0x10]
cmp word [eax], bx
je 0x45ffc8
mov edx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x24]
lea ecx, [edx + ecx*2]
push ecx
mov ecx, dword [ebp + 0x18]
push eax
call fcn.004438ac
mov eax, dword [ebp]
cmp word [eax], bx
je 0x45ffde
mov ecx, dword [ebp + 0x34]
push dword [ecx]
mov ecx, dword [ebp + 0x18]
push eax
call fcn.004438ac
lea ecx, [ebp + 0x48]
call fcn.0043dd41
lea ecx, [ebp + 0x2c]
call fcn.0043dd41
lea ecx, [ebp + 0x68]
call fcn.0043dd41
mov esi, dword [ebp + 0xc]
jmp 0x46055e
cmp dword [ebp + 0x68], ebx
je 0x4604d6
xor edx, edx
cmp byte [ebp + 0x66], dl
push 8
mov dword [ebp + 0x7c], edx
pop edi
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], edx
lea ebx, [ebp + 0x20]
jg 0x460022
cmp byte [ebp + 0x53], dl
je 0x46004d
movsx eax, byte [ebp + 0x66]
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.004413e2
add esp, 0xc
cmp byte [ebp + 0x66], 2
mov esi, eax
jge 0x4604c9
cmp byte [ebp + 0x53], 0
jne 0x4604c9
xor edx, edx
mov cl, byte [ebp + 0x6f]
cmp cl, 0x2b
je 0x46041c
test cl, cl
jne 0x460073
mov esi, dword [ebp + 0x68]
mov ax, word [esi]
cmp ax, 0x2b
jne 0x4600b1
inc esi
inc esi
mov dword [ebp + 0x68], esi
jmp 0x46041f
cmp cl, 0x23
je 0x4603a2
cmp cl, 0x62
jne 0x46015f
cmp byte [ebp + 0x64], 0
mov dword [ebp + 0x54], 5
mov dword [ebp + 0x58], edx
je 0x4600c5
movsx eax, byte [ebp + 0x65]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x68]
call fcn.00448813
mov ebx, dword [ebp + 0x7c]
add esp, 0xc
jmp 0x460135
cmp ax, 0x23
jne 0x46018a
inc esi
inc esi
mov dword [ebp + 0x68], esi
jmp 0x4603a5
cmp byte [ebp + 0x65], 0
je 0x460105
mov edx, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
call fcn.00443c85
test al, al
je 0x4601ed
cmp cx, 0x30
jne 0x4600f9
mov ax, word [edx + 2]
or ax, 0x20
cmp ax, 0x78
jne 0x4600f9
add edx, 4
push edx
call fcn.00444d15
pop ecx
mov dword [ebp + 0x20], eax
jmp 0x46011d
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004504ce
cmp eax, 1
pop ecx
pop ecx
jl 0x46048a
mov al, byte [ebp + 0x20]
mov cl, byte [ebp + 0x23]
mov byte [ebp + 0x20], cl
mov cl, byte [ebp + 0x22]
mov byte [ebp + 0x23], al
mov al, byte [ebp + 0x21]
mov byte [ebp + 0x21], cl
mov byte [ebp + 0x22], al
push 4
pop edi
push edi
push ebx
push dword [ebp + 0x54]
xor esi, esi
cmp byte [ebp + 0x2a], 0
push dword [ebp + 0x40]
push dword [ebp + 0x60]
push dword [ebp + 0x78]
je 0x46049a
call dword [0x4d824c]
mov esi, eax
jmp 0x4604a2
cmp cl, 0x2a
je 0x460298
cmp cl, 0x7e
je 0x46022f
cmp cl, 0x40
je 0x460220
cmp cl, 0x6e
mov esi, dword [ebp + 0x68]
jne 0x4601b4
mov dword [ebp + 0x54], edx
jmp 0x46022a
cmp ax, 0x2a
jne 0x46019a
inc esi
inc esi
mov dword [ebp + 0x68], esi
jmp 0x46029b
cmp ax, 0x7e
jne 0x4601aa
push 2
pop edi
add esi, edi
jmp 0x460235
cmp ax, 0x40
jne 0x4601b4
inc esi
inc esi
jmp 0x460223
cmp dword [ebp + 0x58], edx
jg 0x4602ab
jl 0x4601c8
cmp dword [ebp + 0x54], edx
jae 0x4602ab
cmp cl, 0x5e
jne 0x4601d6
mov dword [ebp + 0x54], 6
jmp 0x460201
cmp cl, 0x75
jne 0x4601e4
mov dword [ebp + 0x54], 0x15
jmp 0x460201
test cl, cl
je 0x4601fa
cmp cl, 0x24
je 0x4601fa
lea ecx, [ebp + 0x7c]
call fcn.0043dd41
jmp 0x45f8a9
mov dword [ebp + 0x54], 1
cmp byte [ebp + 0x64], 0
mov dword [ebp + 0x58], edx
jne 0x4602ab
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
shl edi, 1
mov ebx, esi
jmp 0x460138
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x54], 3
mov dword [ebp + 0x58], edx
jmp 0x4602ab
mov esi, dword [ebp + 0x68]
push 2
pop edi
cmp byte [ebp + 0x64], 0
mov dword [ebp + 0x54], edi
mov dword [ebp + 0x58], edx
jne 0x4602ab
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 2
push eax
lea ecx, [ebp + 0x7c]
call fcn.004441e6
cmp word [esi], 0
mov ebx, dword [ebp + 0x7c]
mov ecx, esi
mov eax, ebx
je 0x460289
mov dx, word [ecx]
cmp dx, 0x5c
jne 0x46027c
cmp word [ecx + 2], 0x30
jne 0x46027c
and word [eax], 0
add eax, edi
add ecx, 4
jmp 0x460283
mov word [eax], dx
add eax, edi
add ecx, edi
cmp word [ecx], 0
jne 0x460261
and word [eax], 0
sub eax, ebx
add eax, edi
mov edi, eax
jmp 0x460138
mov esi, dword [ebp + 0x68]
cmp byte [ebp + 0x64], 0
mov dword [ebp + 0x54], 7
mov dword [ebp + 0x58], edx
je 0x4602c1
movsx eax, byte [ebp + 0x65]
push eax
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.00448813
mov edi, eax
jmp 0x4603c3
mov esi, dword [ebp + 0x68]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea eax, [ebx + 0x10]
push eax
lea ecx, [ebp + 0x7c]
xor edi, edi
call fcn.004441e6
mov edx, dword [ebp + 0x7c]
lea ecx, [esi + ebx*2]
cmp esi, ecx
mov eax, esi
mov dword [ebp + 0xc], ecx
jae 0x46031f
and word [edx], 0
cmp byte [ebp + 0x5f], 0x2a
jne 0x460356
cmp word [eax], 0x5c
jne 0x460383
lea ecx, [eax + 2]
cmp word [ecx], 0x5c
jne 0x460383
mov eax, ecx
mov cx, word [eax]
mov word [edx], cx
inc edx
inc edx
inc eax
inc eax
xor edi, edi
cmp eax, dword [ebp + 0xc]
jb 0x4602ea
cmp edi, 1
jge 0x460326
and word [edx], 0
inc edi
inc edx
inc edx
test ebx, ebx
jle 0x460346
cmp edi, 2
jge 0x460346
push 2
pop esi
sub esi, edi
xor eax, eax
mov ecx, esi
shr ecx, 1
mov edi, edx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
lea edx, [edx + esi*2]
mov ebx, dword [ebp + 0x7c]
and word [edx], 0
sub edx, ebx
mov edi, edx
jmp 0x460138
cmp byte [ebp + 0x5f], 0x24
jne 0x460383
mov cx, word [eax]
cmp cx, 0xd
jne 0x460372
lea esi, [eax + 2]
cmp word [esi], 0xa
jne 0x460372
mov eax, esi
jmp 0x460378
cmp cx, 0xa
jne 0x46030c
and word [edx], 0
inc eax
inc eax
inc edx
inc edx
inc edi
jmp 0x460315
mov cx, word [eax]
cmp cx, 0x5c
jne 0x46030c
cmp word [eax + 2], 0x30
jne 0x46030c
and word [edx], 0
inc edx
inc edx
add eax, 4
jmp 0x460380
mov esi, dword [ebp + 0x68]
cmp byte [ebp + 0x64], 0
push 4
pop edi
mov dword [ebp + 0x54], edi
mov dword [ebp + 0x58], edx
je 0x4603ce
movsx eax, byte [ebp + 0x65]
push eax
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.00448813
mov ebx, dword [ebp + 0x7c]
add esp, 0xc
jmp 0x460138
cmp byte [ebp + 0x65], 0
je 0x46040d
xor ecx, ecx
mov cx, word [esi]
mov eax, ecx
call fcn.00443c85
test al, al
je 0x4601ed
cmp cx, 0x30
jne 0x4603fe
mov ax, word [esi + 2]
or ax, 0x20
cmp ax, 0x78
jne 0x4603fe
add esi, edi
push esi
call fcn.00444d15
pop ecx
mov dword [ebp + 0x20], eax
jmp 0x460138
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004504ce
jmp 0x46047f
mov esi, dword [ebp + 0x68]
cmp byte [ebp + 0x64], 0
mov dword [ebp + 0x54], 0xb
mov dword [ebp + 0x58], edx
jne 0x4603b4
cmp byte [ebp + 0x65], 0
je 0x460472
xor ecx, ecx
mov cx, word [esi]
mov eax, ecx
call fcn.00443c85
test al, al
je 0x4601ed
cmp cx, 0x30
jne 0x460460
mov ax, word [esi + 2]
or ax, 0x20
cmp ax, 0x78
jne 0x460460
add esi, 4
push esi
call fcn.00444d15
pop ecx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
jmp 0x460138
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0045030b
cmp eax, 1
pop ecx
pop ecx
jge 0x460138
lea ecx, [ebp + 0x7c]
call fcn.0043dd41
xor esi, esi
inc esi
jmp 0x46055e
call fcn.0043ef9c
add esp, 0x18
cmp esi, 0x3fd
jne 0x4604c9
cmp byte [ebp + 0x66], 0
jne 0x4604c9
push 1
push dword [ebp + 0x60]
mov byte [ebp + 0x66], 1
push dword [ebp + 0x78]
call fcn.004413e2
add esp, 0xc
jmp 0x460138
lea ecx, [ebp + 0x7c]
call fcn.0043dd41
jmp 0x46055e
cmp byte [ebp + 0x3a], 0x21
jne 0x460508
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
jne 0x460508
cmp dword [ebp + 0x4c], ebx
je 0x4604f9
push dword [ebp + 0x4c]
push dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.0044e460
jmp 0x460552
push dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.0044e25f
pop ecx
pop ecx
jmp 0x460555
cmp dword [ebp + 0x4c], ebx
je 0x460544
push ebx
lea eax, [ebp + 0x7c]
push eax
movzx eax, word [0x4d7c14]
push ebx
or eax, 0x2001b
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x60]
mov dword [ebp + 0x7c], ebx
push dword [ebp + 0x78]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp dword [ebp + 0x7c], ebx
mov esi, eax
je 0x460557
push dword [ebp + 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x460557
push dword [ebp + 0x40]
push dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.0043efe8
add esp, 0xc
mov esi, eax
cmp esi, 2
jne 0x46055e
xor esi, esi
lea ecx, [ebp + 0x30]
call fcn.0043dd41
lea ecx, [ebp - 4]
call fcn.0043dd41
lea ecx, [ebp]
call fcn.0043dd41
lea ecx, [ebp + 4]
call fcn.0043dd41
lea ecx, [ebp + 0x10]
call fcn.0043dd41
lea ecx, [ebp - 0x10]
call fcn.0043dd41
lea ecx, [ebp + 8]
call fcn.0043dd41
lea ecx, [ebp - 8]
call fcn.0043dd41
lea ecx, [ebp - 0x20]
call fcn.0043dd41
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8