Function at 0x419b30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55fd70
mov eax, dword fs:[0]
push eax
mov eax, 0x1538
call fcn.0055fbf0
mov eax, dword [0x8af4c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x152c]
call fcn.004181f0
mov dword [ebp - 0x19c], 0xffffffff
mov edx, 1
mov esi, dword [eax]
mov dword [ebp - 0x151c], esi
mov eax, esi
shr eax, 0x1e
xor eax, esi
imul esi, eax, 0x6c078965
add esi, edx
mov dword [ebp + edx*4 - 0x151c], esi
inc edx
cmp edx, 0x270
jb 0x419b85
push 0x30
lea eax, [ebp - 0x40]
mov dword [ebp - 0x1520], 0x270
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x40]
push 0
call sym.Morpheme32.exe_public:_void___thiscall_asmjit::_abi_1_10::JitRuntime::constructor_struct_asmjit::_abi_1_10::JitAllocator::CreateParams_const__
push 0xe0
lea eax, [ebp - 0x198]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x198]
push 0
call sym.Morpheme32.exe_public:_void___thiscall_asmjit::_abi_1_10::CodeHolder::constructor_struct_asmjit::_abi_1_10::Support::Temporary_const__
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x198]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::CodeHolder::init_class_asmjit::_abi_1_10::Environment_const___unsigned_long_long_unsigned___int64__
push 0x78
lea eax, [ebp - 0xb8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x198]
lea ecx, [ebp - 0xb8]
push eax
call sym.Morpheme32.exe_public:_void___thiscall_asmjit::_abi_1_10::x86::Assembler::constructor_class_asmjit::_abi_1_10::CodeHolder__
mov dword [ebp - 0x1524], 0
cmp edi, 0xa
ja case.0x419c36.8
jmp dword [edi*4 + 0x419e58]
lea ecx, [ebp - 0x1520]
call fcn.0043d4f0
mov dword [ebp - 0x1534], 3
mov dword [ebp - 0x1530], 0
mov dword [ebp - 0x152c], eax
mov dword [ebp - 0x1528], 0
call fcn.00419a00
lea ecx, [ebp - 0x1534]
push ecx
push eax
push 0x1a2
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const___struct_asmjit::_abi_1_10::Operand__const__
jmp case.0x419c36.8
lea ecx, [ebp - 0x1520]
call fcn.0043d4f0
mov dword [ebp - 0x152c], eax
lea eax, [ebp - 0x1534]
push eax
mov dword [ebp - 0x1534], 3
mov dword [ebp - 0x1530], 0
mov dword [ebp - 0x1528], 0
push 0x282
jmp 0x419da3
call fcn.00419a00
push eax
push 0x24c
jmp 0x419da3
lea ecx, [ebp - 0x1520]
call fcn.0043d4f0
mov dword [ebp - 0x153c], eax
lea eax, [ebp - 0x1544]
push eax
mov dword [ebp - 0x1544], 3
mov dword [ebp - 0x1540], 0
mov dword [ebp - 0x1538], 0
push 0x3b
jmp 0x419da3
call fcn.00419a00
mov esi, eax
call fcn.00419a00
push esi
push eax
push 0x1d6
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const___struct_asmjit::_abi_1_10::Operand__const__
jmp case.0x419c36.8
call fcn.00419a00
mov esi, eax
call fcn.00419a00
push esi
push eax
push 0x66c
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const___struct_asmjit::_abi_1_10::Operand__const__
jmp case.0x419c36.8
call fcn.00419a00
mov esi, eax
call fcn.00419a00
push esi
push eax
push 0x15
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const___struct_asmjit::_abi_1_10::Operand__const__
jmp case.0x419c36.8
call fcn.00419a00
mov esi, eax
call fcn.00419a00
push esi
push eax
push 0x2f6
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const___struct_asmjit::_abi_1_10::Operand__const__
jmp case.0x419c36.8
call fcn.00419a00
push eax
push 0x12f
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::BaseEmitter::_emitI_unsigned_int__struct_asmjit::_abi_1_10::Operand__const__
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x198]
push ecx
lea ecx, [ebp - 0x1524]
push ecx
lea ecx, [ebp - 0x40]
call dword [eax + 4]
test eax, eax
je 0x419deb
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public_virtual:_void___thiscall_asmjit::_abi_1_10::x86::Assembler::destructor_void_
lea ecx, [ebp - 0x198]
call sym.Morpheme32.exe_public:_void___thiscall_asmjit::_abi_1_10::CodeHolder::destructor_void_
lea ecx, [ebp - 0x40]
call sym.Morpheme32.exe_public_virtual:_void___thiscall_asmjit::_abi_1_10::JitRuntime::destructor_void_
xor eax, eax
jmp 0x419e3d
lea ecx, [ebp - 0x198]
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::CodeHolder::codeSize_void_const
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
lea ecx, [ebp - 0x198]
mov esi, eax
call sym.Morpheme32.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_10::CodeHolder::codeSize_void_const
push eax
push dword [ebp - 0x1524]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0xb8]
call sym.Morpheme32.exe_public_virtual:_void___thiscall_asmjit::_abi_1_10::x86::Assembler::destructor_void_
lea ecx, [ebp - 0x198]
call sym.Morpheme32.exe_public:_void___thiscall_asmjit::_abi_1_10::CodeHolder::destructor_void_
lea ecx, [ebp - 0x40]
call sym.Morpheme32.exe_public_virtual:_void___thiscall_asmjit::_abi_1_10::JitRuntime::destructor_void_
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055e764
mov esp, ebp
pop ebp
ret