Function at 0x45fc4c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
mov eax, 0x45f9e4
call fcn.004061a0
mov dword [0x462cdc], 0x8a58a
mov dword [0x462c88], 0xe
push 0
call sub.user32.dll_GetDlgCtrlID
inc dword [0x462c88]
cmp dword [0x462c88], 0x901d4c1
jne 0x45fc70
mov dword [0x462ca4], 0xaebf0
mov dword [0x462cc4], esp
add dword [0x462cc4], 0x40
mov dword [0x462cc8], ebp
add dword [0x462cc8], 0x20
lea ecx, [0x462668]
mov eax, dword [ecx - 0x10]
mov dword [0x462cd0], eax
mov eax, dword [ecx - 0x14]
mov dword [0x462ccc], eax
push 0x45ff28
push 0xa
mov ecx, dword [0x462668]
mov dl, 1
mov eax, dword [0x417f8c]
call fcn.0041c03c
mov dword [0x462c90], eax
mov dword [0x462cd4], 0x1001
mov dword [0x462cd8], 0x1579
mov eax, sub.kernel32.dll_VirtualAlloc
mov dword [0x462ce0], eax
mov dword [0x462ce4], 0xffffffff
mov dword [0x462cb0], 0x85
mov eax, dword [0x462c90]
mov edx, dword [eax]
call dword [edx]
mov dword [0x462ce8], eax
mov eax, dword [0x462cd8]
sub eax, 0x1539
push eax
mov eax, dword [0x462cd4]
dec eax
push eax
mov eax, dword [0x462ce8]
add eax, dword [0x462cb0]
push eax
push 0
call dword [0x462ce0]
mov dword [0x462c94], eax
mov eax, dword [0x462cd8]
sub eax, 0x1539
push eax
mov eax, dword [0x462cd4]
dec eax
push eax
mov eax, dword [0x462ce8]
add eax, dword [0x462cb0]
push eax
push 0
call dword [0x462ce0]
mov dword [0x462c9c], eax
mov edx, dword [0x462ce8]
mov eax, dword [0x462c9c]
call fcn.00406c68
mov eax, dword [0x462c90]
mov edx, dword [eax]
call dword [edx]
mov ecx, eax
mov edx, dword [0x462c94]
mov eax, dword [0x462c90]
call fcn.0041b9d8
mov eax, dword [0x462c94]
mov eax, dword [eax]
mov dword [0x462ca0], eax
mov eax, dword [0x462c94]
add eax, 4
mov dword [0x462c94], eax
mov eax, dword [0x462c9c]
mov dword [0x462c98], eax
mov eax, dword [0x462c98]
sub eax, 4
mov dword [0x462c98], eax
xor eax, eax
mov dword [0x462cbc], eax
xor eax, eax
mov dword [0x462cc0], eax
mov dword [0x462cac], 0x583
xor eax, eax
mov dword [0x462cb4], eax
mov eax, dword [0x462c90]
mov edx, dword [eax]
call dword [edx]
mov dword [0x462cb8], eax
xor eax, eax
mov dword [0x462c88], eax
mov eax, dword [0x462cbc]
cmp eax, dword [0x462cb8]
jae 0x45fe5e
mov edx, dword [0x462c94]
add edx, dword [0x462cbc]
add edx, dword [0x462c88]
mov eax, dword [0x462c9c]
add eax, dword [0x462cc0]
mov ecx, dword [0x462cb0]
call fcn.00406c60
mov eax, dword [0x462cb0]
add dword [0x462cc0], eax
mov eax, dword [0x462cb0]
add dword [0x462cbc], eax
mov eax, dword [0x462cb4]
add dword [0x462cbc], eax
jmp 0x45fe06
xor eax, eax
mov dword [0x462c88], eax
mov eax, dword [0x462c88]
cmp eax, dword [0x462ca0]
jae 0x45fec4
mov eax, dword [0x462c88]
add eax, dword [0x462cdc]
mov dword [0x462c8c], eax
mov eax, dword [0x462c88]
mov edx, dword [0x462c9c]
add dword [edx], eax
mov eax, dword [0x462cac]
add eax, dword [0x462c8c]
mov edx, dword [0x462c9c]
xor dword [edx], eax
add dword [0x462c88], 4
add dword [0x462c9c], 4
push 0
call sub.gdi32.dll_GetTextCharset
mov eax, dword [0x462c88]
cmp eax, dword [0x462ca0]
jb 0x45fe72
mov eax, dword [0x462c98]
add eax, dword [0x462ca4]
sub eax, 0x1000
add eax, 4
mov dword [0x462ca8], eax
mov eax, 0xd
push dword [0x462cc4]
mov eax, 0xe
push dword [0x462cc8]
mov eax, 0x9c
push dword [0x462ccc]
mov eax, 0x11
push dword [0x462cd0]
push dword [0x462668]
mov eax, 1
push eax
jmp dword [0x462ca8]