Function at 0x1004cea0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x10061040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x10184134], 0
push ebx
push esi
push edi
mov edi, dword [sym.imp.d3dx9_43.dll_D3DXCreateFontA]
mov esi, ecx
jne 0x1004cf12
mov dword [ebp - 0x14], 0x13141a38
xor ecx, ecx
mov dword [ebp - 0x10], 0xf3e81c0d
mov dword [ebp - 0xc], 0xf0e5eb
mov byte [ebp - 8], 1
nop
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xb
jb 0x1004cee0
push 0x10184134
lea eax, [ebp - 0x14]
mov byte [ebp - 8], 0
push eax
push 0
push 4
push 0
push 1
push 0
push 1
push 0x190
push 0
push 0xe
push esi
call edi
cmp dword [0x10184124], 0
jne 0x1004cf68
mov dword [ebp - 0x14], 0x13141a38
xor ecx, ecx
mov dword [ebp - 0x10], 0xf3e81c0d
mov dword [ebp - 0xc], 0xf0e5eb
mov byte [ebp - 8], 1
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xb
jb 0x1004cf36
push 0x10184124
lea eax, [ebp - 0x14]
mov byte [ebp - 8], 0
push eax
push 0
push 5
push 0
push 1
push 0
push 1
push 0x190
push 0
push 0x12
push esi
call edi
cmp dword [0x10184104], 0
jne 0x1004cf7d
push 0x10184104
push esi
call dword [sym.imp.d3dx9_43.dll_D3DXCreateLine]
push str.Menu::InitPointer___Hooked_n
call fcn.100015d0
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
add esp, 4
mov dword [0x10184120], 0x383c39d8
push 4
push 0x383c39d8
call edi
test eax, eax
jne 0x1004d081
mov ecx, dword [0x10184120]
push 4
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx]
mov dword [0x10184100], eax
mov dword [0x10184130], ebx
mov eax, dword [0x38414828]
push ebx
mov dword [0x10184110], eax
call edi
test eax, eax
jne 0x1004cfdf
test ebx, ebx
je 0x1004cfdf
mov eax, 1
jmp 0x1004cfe1
xor eax, eax
test eax, eax
je 0x1004d081
mov ebx, dword [0x10184110]
push 4
push ebx
call edi
test eax, eax
jne 0x1004d003
test ebx, ebx
je 0x1004d003
mov eax, 1
jmp 0x1004d005
xor eax, eax
test eax, eax
je 0x1004d081
mov ebx, dword [0x10184100]
push 4
push ebx
call edi
test eax, eax
jne 0x1004d023
test ebx, ebx
je 0x1004d023
mov eax, 1
jmp 0x1004d025
xor eax, eax
test eax, eax
je 0x1004d081
mov ecx, dword [0x10184110]
mov dword [0x1018411c], 0x371bbad0
mov eax, dword [0x383bf170]
mov dword [0x1018412c], eax
mov eax, dword [ecx]
mov dword [0x10184114], 0x371bcac0
call dword [eax + 0xd0]
mov ecx, dword [0x10184110]
mov dword [0x1010ecc4], eax
mov eax, dword [0x79ac60]
mov dword [0x1010ecbc], eax
mov eax, dword [ecx]
call dword [eax + 0xec]
mov dword [0x1010ecd0], eax
mov eax, dword [0x3844517c]
mov dword [0x10184138], eax
call fcn.10047900
mov ecx, esi
call fcn.1004c2b0
mov eax, dword [esi]
push 0x1018413c
push esi
call dword [eax + 0xc0]
cmp byte [0x383dabf0], 1
jne 0x1004d0ae
call fcn.1004cb00
call fcn.1004c9c0
mov dword [ebp - 0x14], 0x18140839
xor ecx, ecx
mov dword [ebp - 0x10], 0xe5ae1312
mov dword [ebp - 0xc], 0x100efee
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xa
jb 0x1004d0c5
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 9], 0
call esi
test eax, eax
je 0x1004d1fb
cmp dword [0x1010ecb4], 0
jne 0x1004d1fb
mov dword [ebp - 0x14], 0x141b153f
xor ecx, ecx
mov dword [ebp - 0x10], 0xe4ae1a10
mov dword [ebp - 0xc], 0x100e6fa
nop
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xa
jb 0x1004d110
lea eax, [ebp - 0x14]
mov byte [ebp - 9], 0
push eax
call esi
mov dword [ebp - 0x14], 0x18142839
xor ecx, ecx
mov dword [ebp - 0x10], 0xe5ae1312
mov dword [ebp - 0xc], 0x100efee
nop
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xa
jb 0x1004d140
lea eax, [ebp - 0x14]
mov byte [ebp - 9], 0
push eax
call esi
movaps xmm0, xmmword [str.OME__]
mov esi, eax
movups xmmword [ebp - 0x68], xmm0
xor ecx, ecx
mov dword [ebp - 0x28], 0xf8ff9bf8
movaps xmm0, xmmword [0x1005e0d0]
movups xmmword [ebp - 0x58], xmm0
mov word [ebp - 0x24], 0x100
movaps xmm0, xmmword [0x1005e090]
movups xmmword [ebp - 0x48], xmm0
movaps xmm0, xmmword [0x1005e070]
movups xmmword [ebp - 0x38], xmm0
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 0x44
jb 0x1004d194
push ecx
lea edx, [ebp - 0x68]
mov byte [ebp - 0x23], 0
mov ecx, esi
call fcn.1004ae60
movaps xmm0, xmmword [str.B9HJ_]
add esp, 4
mov dword [0x1010ecb4], eax
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0xcebbabb8
mov dword [ebp - 0xc], 0xa0baae
mov byte [ebp - 8], 1
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x17
jb 0x1004d1d7
push ecx
lea edx, [ebp - 0x20]
mov byte [ebp - 8], 0
mov ecx, esi
call fcn.1004ae60
add esp, 4
mov dword [0x10184108], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10054550
mov esp, ebp
pop ebp
ret