Function at 0x4a9e00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
push ebx
mov dword [ebp - 0x58], eax
push 0x4aa358
push 0x15b3
mov ecx, dword [0x4af668]
mov dl, 1
mov eax, dword [0x4196b0]
call fcn.0041e47c
mov dword [ebp - 8], eax
mov dword [ebp - 0x44], 0xfa
mov dword [ebp - 0x1c], 1
push 0x66
call sub.user32.dll_CharLowerA
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x372b44
jne 0x4a9e37
mov dword [ebp - 0x28], 0x53e0
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
push 0x66
call sub.user32.dll_CharLowerA
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.0040277c
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.0041ddb4
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
add eax, 4
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x48], 0x106f
mov dword [ebp - 0x4c], 0xaf
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
push 0x4aa35c
call sub.gdi32.dll_AddFontResourceA
mov eax, 0x406670
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0xffffffff
mov eax, dword [ebp - 0x4c]
sub eax, 0x6f
push eax
mov eax, dword [ebp - 0x48]
sub eax, 0x6f
push eax
mov eax, dword [ebp - 0x38]
push eax
push 0
mov eax, dword [ebp - 0x50]
push eax
call dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x30], 0x79
mov dword [ebp - 0x34], 0xf
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
call fcn.00406ecc
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x50]
cdq
cmp edx, dword [esp + 4]
jne 0x4aa26f
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4aa273
jmp 0x4aa2ad
pop edx
pop eax
jle 0x4aa2ad
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
call fcn.00406ec4
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x40], eax
push 0
call sub.gdi32.dll_GetGraphicsMode
mov ebx, eax
add ebx, dword [ebp - 0x30]
push 0
call sub.gdi32.dll_GetGraphicsMode
sub ebx, eax
add dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x3c], eax
jmp 0x4aa24f
mov dword [ebp - 0x20], 0x8a58a
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jae 0x4aa328
push 0
call sub.gdi32.dll_GetGraphicsMode
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
add eax, dword [ebp - 0x18]
add ebx, eax
push 0
call sub.gdi32.dll_GetGraphicsMode
sub ebx, eax
mov eax, dword [ebp - 0x14]
mov dword [eax], ebx
push 0
call sub.gdi32.dll_GetGraphicsMode
mov ebx, eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x18]
add ebx, eax
push 0
call sub.gdi32.dll_GetGraphicsMode
sub ebx, eax
mov eax, dword [ebp - 0x14]
xor dword [eax], ebx
push 0
call sub.gdi32.dll_GetGraphicsMode
mov ebx, eax
add ebx, 4
push 0
call sub.gdi32.dll_GetGraphicsMode
sub ebx, eax
add dword [ebp - 0x18], ebx
add dword [ebp - 0x14], 4
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jb 0x4aa2c1
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
sub eax, 0x1000
add eax, 4
mov dword [ebp - 4], eax
mov eax, eax
push dword [0x4af668]
mov eax, eax
push 0
mov eax, eax
push dword [ebp - 4]
ret