Function at 0x453bf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c9074
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7f8
mov eax, dword [0x4fee70]
push ebx
push esi
push edi
mov dword [esp + 0x7fc], eax
mov edi, ecx
mov dword [esp + 0x20], 6
mov dword [esp + 0x1c], 0x5e
mov esi, 0x5f
mov dword [esp + 0x24], 0xf
call fcn.004031e0
test eax, eax
je 0x453c76
mov eax, dword [edi + 0x234]
test eax, eax
jne 0x453c64
mov dword [esp + 0x1c], 0x55
mov dword [esp + 0x20], 1
jmp 0x453c6e
cmp eax, 1
jne 0x453c6e
mov esi, 0x4c
mov dword [esp + 0x24], 0xc
cmp dword [edi + 0x234], 1
jne 0x453c9a
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, 0xa
add edx, eax
add esi, eax
add ecx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
xor eax, eax
mov ax, word [edi + 0x154]
push eax
call dword [sym.imp.entitiesmp.dll_class_CConstItemData____cdecl_GetItemSetupData_void_]
mov ecx, eax
call dword [sym.imp.entitiesmp.dll_public:_struct__StatusData____thiscall_CConstItemData::GetItemInfo_unsigned_short_int_]
mov ebx, eax
movzx ecx, byte [ebx + 0x2a]
push ecx
mov dword [esp + 0x18], ebx
call fcn.00401470
add esp, 4
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], eax
call fcn.00456d60
mov eax, dword [esp + 0x18]
test ax, ax
mov dword [esp + 0x80c], 0
jbe 0x453d07
push eax
call dword [sym.imp.entitiesmp.dll_class_CConstItemData____cdecl_GetItemSetupData_void_]
mov ecx, eax
call dword [sym.imp.entitiesmp.dll_public:_struct__StatusData____thiscall_CConstItemData::GetItemInfo_unsigned_short_int_]
push eax
lea ecx, [esp + 0xbc]
call fcn.00456110
jmp 0x453d13
lea ecx, [esp + 0xb8]
call fcn.00455e50
cmp word [esp + 0x18], 0
jbe 0x453d31
lea edx, [esp + 0xe8]
push edx
lea eax, [ebx + 0x30]
push eax
call fcn.00456bd0
add esp, 8
jmp 0x453d4d
mov edx, dword [ebx + 0x34]
push 1
lea ecx, [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00450fe0
mov edx, dword [ebx + 0x34]
add esp, 8
push 1
lea ecx, [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ecx, word [esp + 0x28]
lea eax, [esp + 0x78]
push eax
push ecx
lea edx, [esp + 0x40]
push 0x4dab08
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov eax, dword [esp + 0x2c]
mov ebx, dword [sym.imp.uitoolkit.dll_public:_void___thiscall_csComponent::Text_char_const___long_int__long_int__unsigned_long_int__float_]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xe4
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 1
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x453e1c
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xf4]
push edx
add eax, 0x3c
push eax
call fcn.00456bd0
add esp, 8
jmp 0x453e3c
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x40]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.00450fe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x40]
add esp, 8
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, word [esp + 0x28]
lea edx, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x40]
push 0x4dab10
push ecx
call dword [sym.imp.msvcr71.dll_sprintf]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, ecx
push esi
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
push 0xe5
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov edx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push edx
mov ecx, eax
mov byte [esp + 0x81c], 2
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x453f0f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x100]
push eax
add ecx, 0x48
push ecx
call fcn.00456bd0
add esp, 8
jmp 0x453f2f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x4c]
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.00450fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x4c]
add esp, 8
push 1
lea eax, [esp + 0x2c]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ecx, word [esp + 0x28]
lea eax, [esp + 0x78]
push eax
push ecx
lea edx, [esp + 0x40]
push 0x4dab18
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xe6
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 3
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x454002
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10c]
push edx
add eax, 0x54
push eax
call fcn.00456bd0
add esp, 8
jmp 0x454022
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x58]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.00450fe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x58]
add esp, 8
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, word [esp + 0x28]
lea edx, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x40]
push 0x4dab20
push ecx
call dword [sym.imp.msvcr71.dll_sprintf]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, ecx
push esi
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
push 0xe7
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov edx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push edx
mov ecx, eax
mov byte [esp + 0x81c], 4
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x4540f5
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x118]
push eax
add ecx, 0x60
push ecx
call fcn.00456bd0
add esp, 8
jmp 0x454115
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x64]
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.00450fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x64]
add esp, 8
push 1
lea eax, [esp + 0x2c]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ecx, word [esp + 0x28]
lea eax, [esp + 0x78]
push eax
push ecx
lea edx, [esp + 0x40]
push 0x4dab28
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xe8
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 5
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
add esi, dword [esp + 0x24]
cmp word [esp + 0x18], 0
jbe 0x4541ec
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x130]
push edx
add eax, 0x78
push eax
call fcn.00456bd0
add esp, 8
jmp 0x45420c
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x7c]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.00450fe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x7c]
add esp, 8
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, word [esp + 0x28]
lea edx, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x40]
push 0x4dab30
push ecx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
push esi
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
push 0xe9
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov edx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push edx
mov ecx, eax
mov byte [esp + 0x81c], 6
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x4542d9
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x124]
push eax
add ecx, 0x6c
push ecx
call fcn.00456bd0
add esp, 8
jmp 0x4542f9
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x70]
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.00450fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x70]
add esp, 8
push 1
lea eax, [esp + 0x2c]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ecx, word [esp + 0x28]
lea eax, [esp + 0x78]
push eax
push ecx
lea edx, [esp + 0x40]
push 0x4dab38
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xea
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 7
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x4543d2
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x154]
push edx
add eax, 0x9c
push eax
call fcn.00456c90
fstp dword [esp + 0x18]
add esp, 8
jmp 0x4543f9
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xa0]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.00451020
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xa0]
add esp, 8
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
fld dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x44]
push 0x4dab40
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
add esp, 0x14
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xeb
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 8
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x4544dd
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x160]
push edx
add eax, 0xa8
push eax
call fcn.00456c90
fstp dword [esp + 0x18]
add esp, 8
jmp 0x454504
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xac]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.00451020
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xac]
add esp, 8
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
fld dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x44]
push 0x4dab4c
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
add esp, 0x14
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0xec
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 9
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
cmp word [esp + 0x18], 0
jbe 0x4545e4
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x13c]
push edx
add eax, 0x84
push eax
call fcn.00456bd0
add esp, 8
jmp 0x454607
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x88]
push 1
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.00450fe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x88]
add esp, 8
push 1
lea edx, [esp + 0x2c]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, word [esp + 0x28]
lea edx, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x40]
push 0x4dab58
push ecx
call dword [sym.imp.msvcr71.dll_sprintf]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, ecx
push esi
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
push 0xed
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov edx, dword [esp + 0x20]
push 0x3f800000
push 0xf2bf5dff
push esi
push edx
mov ecx, eax
mov byte [esp + 0x81c], 0xa
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xb8]
push 1
lea eax, [esp + 0x14]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov al, byte [esp + 0x10]
test al, al
je 0x4547e7
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xb8]
push 1
lea eax, [esp + 0x1c]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov ecx, dword [esp + 0x170]
push 1
lea eax, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ecx, byte [esp + 0x18]
movsx eax, byte [esp + 0x10]
sub eax, ecx
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.00450fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xb8]
add esp, 8
push 1
lea eax, [esp + 0x14]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx ax, byte [esp + 0x10]
lea ecx, [esp + 0x78]
push ecx
neg eax
movsx edx, ax
push edx
lea eax, [esp + 0x40]
push 0x4dab60
push eax
call dword [sym.imp.msvcr71.dll_sprintf]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
add esp, 0x10
push 0x3f800000
push 0xd8e5e5ff
add esi, eax
push esi
push ecx
lea edx, [esp + 0x48]
push edx
mov ecx, edi
call ebx
lea eax, [esp + 0x10]
push 0x301
push eax
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0x50aaffff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 0xb
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xd0]
push 1
lea edx, [esp + 0x14]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov al, byte [esp + 0x10]
test al, al
je 0x454939
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xd0]
push 1
lea edx, [esp + 0x14]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx edx, byte [esp + 0x10]
mov ecx, dword [esp + 0x188]
push 1
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x24], edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0x10], ecx
push ecx
fild dword [esp + 0x14]
lea edx, [esp + 0x7c]
fmul dword [0x4d86c8]
fstp dword [esp]
push edx
call fcn.00451070
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xd0]
add esp, 8
push 1
lea eax, [esp + 0x14]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, byte [esp + 0x10]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x78]
fild dword [esp + 0x10]
push ecx
sub esp, 8
lea edx, [esp + 0x44]
fmul dword [0x4d86c8]
fstp qword [esp]
push 0x4dab6c
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
add esp, 0x14
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x10]
push 0x302
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0x50aaffff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 0xc
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xdc]
push 1
lea edx, [esp + 0x14]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov al, byte [esp + 0x10]
test al, al
je 0x454abc
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xdc]
push 1
lea edx, [esp + 0x14]
push edx
push ecx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx edx, byte [esp + 0x10]
mov ecx, dword [esp + 0x194]
push 1
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x24], edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movsx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
sub ecx, eax
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.00450fe0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xdc]
add esp, 8
push 1
lea eax, [esp + 0x1c]
push eax
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
lea eax, [esp + 0x28]
push 0x304
push eax
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x1c]
push 0x304
push ecx
mov byte [esp + 0x81c], 0xd
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov eax, dword [eax]
push ecx
movzx ecx, byte [esp + 0x2c]
lea edx, [esp + 0x8c]
push edx
push eax
push ecx
lea edx, [esp + 0x58]
push 0x4dab78
push edx
call dword [sym.imp.msvcr71.dll_sprintf]
add esp, 0x28
lea ecx, [esp + 0x14]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x28]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push 0x3f800000
push 0xd8e5e5ff
add esi, edx
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
call ebx
lea edx, [esp + 0x28]
push 0x303
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov ecx, dword [esp + 0x20]
push 0x3f800000
push 0x50aaffff
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x81c], 0xe
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [edi + 0x15c]
push 1
lea edx, [esp + 0x2c]
push edx
push eax
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
mov al, byte [esp + 0x28]
test al, al
jbe 0x454b8e
mov eax, dword [edi + 0x234]
test eax, eax
je 0x454b8e
mov edx, dword [edi + 0x15c]
push 1
lea ecx, [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
mov ecx, eax
call fcn.004067e0
movzx eax, byte [esp + 0x28]
push eax
lea ecx, [esp + 0x3c]
push 0x4dab84
push ecx
call dword [sym.imp.msvcr71.dll_sprintf]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
add esp, 0xc
push 0x3f800000
push 0xd8e5e5ff
add esi, ecx
push esi
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x28]
push 0x338
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov edx, dword [esp + 0x20]
push 0x3f800000
push 0x50aaffff
push esi
push edx
mov ecx, eax
mov byte [esp + 0x81c], 0xf
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
mov ecx, edi
call ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x80c], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0xb8]
mov dword [esp + 0x80c], 0xffffffff
call fcn.00456750
mov ecx, dword [esp + 0x804]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x7fc]
call fcn.004c0057
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret