Function at 0x4ac4bb
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4c71df
call fcn.004c60c8
sub esp, 0x44
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov edi, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], 0xffffffff
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x44]
call fcn.0045223e
mov dword [ebp - 0x24], 0xf1e5c8a5
xor ebx, ebx
mov dword [ebp - 0x18], ebx
jmp 0x4ac504
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0x5b3b9da4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4ac4f4
mov dword [ebp - 0x18], ebx
jmp 0x4ac518
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x28], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4ac50e
mov dword [ebp - 0x1c], 0xfffffff6
jmp 0x4ac56b
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], 0x35e1f6f0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov dword [eax], 0xffff29df
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0xfffffffb
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffeb
jne 0x4ac526
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x4ac58f
push 0x2440
push 0x21a5
push 0x10cd
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
lea ecx, [ebp - 0x44]
call fcn.00452310
push edi
push dword [ebp - 0x2c]
call fcn.004515a6
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x2df3d37a
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x18], ebx
push 3
pop ecx
jmp 0x4ac5d0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], 0x9ba07e4f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x4ac5c2
mov dword [ebp - 0x18], ebx
jmp 0x4ac5e8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 0xe1054d81
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x4ac5da
mov dword [ebp - 0x24], 0x312b
cmp dword [ebp - 0x24], 0x343c
jle 0x4ac627
mov edi, ebx
mov esi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xab95b8
call fcn.00452129
inc esi
cmp esi, 0x22e6
jl 0x4ac601
inc edi
cmp edi, 0x7766
jl 0x4ac5ff
xor esi, esi
inc esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x4ac653
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
cmp ecx, 0x466e9f08
jg 0x4ac64b
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x4ac655
mov esi, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp esi, eax
setne cl
sub ecx, dword [ebp - 0x38]
sub ecx, 0xf5f4
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x3034
jge 0x4ac6a4
mov edx, str.evzqnoxil_jpjwcdm_qdueifjxw_hjyw_irmjwuz_vukxn_lqcirscnn_wlm_ttxbnonc_zzlfk
mov ecx, 0xab95b8
call fcn.00453acf
or dword [ebp - 4], 0xffffffff
jmp 0x4ac6ca
mov dword [ebp - 0x1c], 0x1b
jmp 0x4ac6f6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4ac6ee
push 0x19d
push ebx
push ebx
push 0xaf4
call dword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [ebp - 0x30], ebx
jne 0x4ac6fc
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x13
jl 0x4ac6d3
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret