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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x54229b
push eax
mov dword fs:[0], esp
sub esp, 0x180
push ebx
push ebp
push esi
mov esi, dword [esp + 0x19c]
test esi, esi
push edi
mov ebp, ecx
je 0x4542e3
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454195
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4542e3
lea ecx, [esp + 0x16c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov dword [esp + 0x198], 0
call fcn.00466ad0
push eax
lea ecx, [esp + 0x170]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push esi
lea ecx, [esp + 0x170]
call dword [0x5d0508]
lea ecx, [esp + 0x20]
call fcn.00478450
push 9
lea ecx, [esp + 0x24]
mov byte [esp + 0x19c], 1
call fcn.004770c0
push 0x20
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x2c
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x7b
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x7d
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x5b
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x5d
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x28
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x29
lea ecx, [esp + 0x24]
call fcn.004770c0
push 0x7c
lea ecx, [esp + 0x24]
call fcn.004770c0
mov eax, dword [0x298ef24]
test eax, eax
je 0x454280
push 0x7681d8
lea ecx, [esp + 0x60]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov dword [esp + 0x78], 1
mov eax, dword [0x298ef28]
push eax
push 1
sub esp, 0x1c
lea edx, [esp + 0x190]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x44]
call fcn.00477fa0
test al, al
jne 0x4542ea
push esi
push str.ERROR_:_SCHARDATA2::LOADFILE_____s
call fcn.00463a70
add esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0x198], 0
call fcn.00478540
lea ecx, [esp + 0x16c]
mov dword [esp + 0x198], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor eax, eax
jmp 0x45541d
lea eax, [esp + 0x14]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.VERSION
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea ecx, [ebp + 0x6c]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.emTribe
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.004539b0
lea edx, [ebp + 0x70]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.emClass
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.004539b0
lea eax, [ebp + 0x74]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wSchool
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea ecx, [ebp + 0x76]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wSex
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea edx, [ebp + 0x78]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wHair
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea eax, [ebp + 0x7a]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wHairColor
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea ecx, [ebp + 0x7c]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wFace
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea edx, [ebp + 0x80]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.nBright
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.00431100
lea eax, [ebp + 0x88]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wLevel
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea ecx, [ebp + 0xb8]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wGuild
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x90]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.lnMoney
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.00453a70
lea eax, [ebp + 0xe8]
push eax
push 6
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0xec]
push ecx
push 6
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0xf0]
push edx
push 6
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0xf4]
push eax
push 6
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0xf8]
push ecx
push 6
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0xfc]
push edx
push 6
push 6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStats
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0x100]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.wStatsPoint
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0x104]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d8700
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x108]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86fc
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0x10c]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86f8
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0x110]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86f4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x118]
push edx
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sExperience
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.00453a70
lea eax, [ebp + 0x120]
push eax
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sExperience
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.00453a70
lea ecx, [ebp + 0x130]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.dwSkillPoint
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x140]
push edx
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86d4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0x144]
push eax
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86d4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0x148]
push ecx
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86d0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x14c]
push edx
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86d0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0x150]
push eax
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86cc
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0x154]
push ecx
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86cc
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x158]
push edx
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86c8
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea eax, [ebp + 0x15c]
push eax
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86c8
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ecx, [ebp + 0x160]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x5d86c4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea edx, [ebp + 0x6508]
push edx
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStartMapID
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea eax, [ebp + 0x650a]
push eax
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.sStartMapID
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d020
lea ecx, [ebp + 0x650c]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.dwStartGate
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea edx, [ebp + 0x6510]
push edx
push 3
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.vStartPos
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d680
lea eax, [ebp + 0x6514]
push eax
push 3
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.vStartPos
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d680
lea ecx, [ebp + 0x6518]
push ecx
push 3
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.vStartPos
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d680
lea edx, [ebp + 0x1b8]
push edx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.fScaleRange
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041d680
lea eax, [ebp + 0x1c0]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.llContributionPoint
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.00453a70
lea ecx, [ebp + 0x1c8]
push ecx
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.dwActivityPoint
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x48]
call fcn.0041cf60
lea ebx, [ebp + 0x250]
mov ecx, ebx
call fcn.00432470
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.ExpSkills
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
mov edi, eax
xor esi, esi
test edi, edi
jbe 0x454a9d
lea esp, [esp]
lea edx, [esp + 0x18]
push edx
push 3
push 1
sub esp, 0x1c
mov eax, 0xffff
mov ecx, esp
mov dword [esp + 0x38], esp
push str.ExpSkills
mov word [esp + 0x44], ax
mov word [esp + 0x46], ax
mov word [esp + 0x48], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea eax, [esp + 0x1a]
push eax
push 3
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.ExpSkills
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea ecx, [esp + 0x1c]
push ecx
push 3
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.ExpSkills
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
call fcn.004540f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc esi
cmp esi, edi
mov dword [eax], ecx
mov dword [eax + 4], edx
jb 0x4549f0
mov eax, 0xffff
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
mov edx, dword [esp + 0x14]
lea ebx, [ebp + 0x5c7c]
mov eax, ebx
mov ecx, 0x3c
lea ecx, [ecx]
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x454ac0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.QuickSkill
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
mov edi, eax
cmp edi, 0x3c
jbe 0x454af1
mov edi, 0x3c
xor eax, eax
xor esi, esi
cmp edi, eax
jbe 0x454b66
jmp 0x454b00
xor eax, eax
lea ecx, [ecx]
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
lea eax, [esp + 0x14]
push eax
push 2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.QuickSkill
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea ecx, [esp + 0x16]
push ecx
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.QuickSkill
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
mov edx, dword [esp + 0x14]
mov dword [ebx], edx
inc esi
add ebx, 4
cmp esi, edi
jb 0x454afb
lea ebx, [ebp + 0x5e98]
mov ecx, ebx
call fcn.004319e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Quest
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
xor edi, edi
test eax, eax
mov dword [esp + 0x14], eax
jbe 0x454c31
mov edi, edi
lea eax, [esp + 0x18]
push eax
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.Quest
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push edi
lea ecx, [esp + 0x4c]
call fcn.00421d80
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00423120
mov ecx, eax
call fcn.00423090
mov esi, eax
test esi, esi
je 0x454c24
lea ecx, [esp + 0xac]
call fcn.00431270
push 0
push esi
lea ecx, [esp + 0xb4]
mov byte [esp + 0x1a0], 2
call fcn.0043a430
lea edx, [esp + 0xac]
push edx
mov ecx, ebx
call fcn.00431b30
lea ecx, [esp + 0xdc]
mov byte [esp + 0x198], 1
call fcn.0044c9b0
mov eax, dword [esp + 0x14]
inc edi
cmp edi, eax
jb 0x454ba0
xor eax, eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
mov eax, 0xffff
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x12c], str.HEAD
mov dword [esp + 0x130], str.UPPER
mov dword [esp + 0x134], str.LOWER
mov dword [esp + 0x138], str.HAND
mov dword [esp + 0x13c], str.FOOT
mov dword [esp + 0x140], str.RHAND
mov dword [esp + 0x144], str.LHAND
mov dword [esp + 0x148], str.NECK
mov dword [esp + 0x14c], str.WRIST
mov dword [esp + 0x150], str.RFINGER
mov dword [esp + 0x154], str.LFINGER
mov dword [esp + 0x158], str.RHAND_S
mov dword [esp + 0x15c], str.LHAND_S
mov dword [esp + 0x160], str.VEHICLE
lea eax, [ebp + 0x278]
mov ecx, 0x14
lea esp, [esp]
mov dword [eax], edx
add eax, 0x48
dec ecx
jne 0x454d00
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
mov edi, eax
xor ebx, ebx
test edi, edi
mov dword [esp + 0x14], edi
jbe 0x454fa7
jmp 0x454d40
lea ecx, [esp + 0xac]
call fcn.0041f5c0
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x90]
push ecx
push 0xb
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
mov byte [esp + 0x1c4], 3
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00421e40
xor esi, esi
lea ecx, [ecx]
mov edx, dword [esp + esi*4 + 0x12c]
push edx
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.MSVCP71.dll_bool___cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
test al, al
jne 0x454db8
inc esi
cmp esi, 0x13
jl 0x454d90
jmp 0x454f89
cmp esi, 0xffffffff
je 0x454f89
lea ecx, [esp + 0xac]
push ecx
push 0xb
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea edx, [esp + 0xae]
push edx
push 0xb
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea eax, [esp + 0xcc]
push eax
push 0xb
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea ecx, [esp + 0xd1]
push ecx
push 0xb
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea edx, [esp + 0xd2]
push edx
push 0xb
push 6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea eax, [esp + 0xd3]
push eax
push 0xb
push 7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea ecx, [esp + 0xd4]
push ecx
push 0xb
push 8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea edx, [esp + 0xd5]
push edx
push 0xb
push 9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea eax, [esp + 0xd6]
push eax
push 0xb
push 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea ecx, [esp + 0xd7]
push ecx
push 0xb
push 0xb
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.PutOnItems
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push ebx
lea ecx, [esp + 0x4c]
call fcn.00446530
lea edx, [esi + esi*8]
lea edi, [ebp + edx*8 + 0x278]
mov ecx, 0x12
lea esi, [esp + 0xac]
mov byte [esp + 0xce], 1
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x90]
mov byte [esp + 0x198], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
inc ebx
cmp ebx, edi
jb 0x454d40
lea ebx, [ebp + 0x5dcc]
mov ecx, ebx
call fcn.0044c530
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
mov edi, eax
xor eax, eax
xor esi, esi
cmp edi, eax
jbe 0x4551ee
jmp 0x454ff0
xor eax, eax
jmp 0x454ff0
lea ecx, [esp + 0xb4]
mov word [esp + 0xac], ax
mov word [esp + 0xae], ax
call fcn.0041f5c0
lea ecx, [esp + 0xb4]
call fcn.0041f5c0
xor eax, eax
mov word [esp + 0x124], ax
mov word [esp + 0x126], ax
lea eax, [esp + 0xb4]
push eax
push 0xa
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea ecx, [esp + 0xb6]
push ecx
push 0xa
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea edx, [esp + 0xd4]
push edx
push 0xa
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea eax, [esp + 0xd9]
push eax
push 0xa
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea ecx, [esp + 0xda]
push ecx
push 0xa
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea edx, [esp + 0xdb]
push edx
push 0xa
push 6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea eax, [esp + 0xdc]
push eax
push 0xa
push 7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea ecx, [esp + 0xdd]
push ecx
push 0xa
push 8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea edx, [esp + 0xde]
push edx
push 0xa
push 9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea eax, [esp + 0xdf]
push eax
push 0xa
push 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.cInventory
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00446530
lea ecx, [esp + 0xb4]
push ecx
mov ecx, ebx
mov byte [esp + 0xda], 1
call fcn.0044c700
inc esi
cmp esi, edi
jb 0x454fe1
mov eax, 0xffff
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
mov edx, dword [esp + 0x14]
lea eax, [ebp + 0x5d70]
mov ecx, 0xc
lea esp, [esp]
mov dword [eax], edx
add eax, 8
dec ecx
jne 0x455210
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.QuickAction
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x3c]
call fcn.00477b60
mov edi, eax
cmp edi, 0xc
jbe 0x455241
mov edi, 0xc
xor esi, esi
test edi, edi
jbe 0x4552ca
lea ebx, [ebp + 0x5d6c]
lea edx, [esp + 0x1c]
push edx
push 2
push 1
sub esp, 0x1c
mov eax, 0xffff
mov ecx, esp
mov dword [esp + 0x38], esp
push str.QuickAction
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
mov word [esp + 0x44], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
lea eax, [esp + 0x1e]
push eax
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.QuickAction
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push esi
lea ecx, [esp + 0x4c]
call fcn.00453b30
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [ebx], ecx
mov dword [ebx + 4], edx
inc esi
add ebx, 8
cmp esi, edi
jb 0x455251
call fcn.0042bd00
mov edi, eax
mov ecx, dword [edi + 0x128]
mov eax, dword [ecx]
add edi, 0x124
cmp eax, ecx
mov dword [esp + 0x14], eax
je 0x4553ef
jmp 0x4552f0
lea esi, [eax + 0x10]
push esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [ebp + 0x6bc4]
call fcn.00431e80
mov eax, dword [ebp + 0x6bcc]
cmp dword [esp + 0x18], eax
jne 0x4553d7
push esi
lea ecx, [esp + 0x14]
lea ebx, [ebp + 0x6b9c]
push ecx
mov ecx, ebx
call fcn.00431e80
mov eax, dword [ebp + 0x6ba4]
cmp dword [esp + 0x10], eax
jne 0x4553d7
xor eax, eax
push esi
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x84], eax
mov word [esp + 0x88], ax
mov word [esp + 0x8a], ax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
call fcn.00457900
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x18c]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x90]
push ecx
mov ecx, ebx
mov dword [esp + 0xac], edx
call fcn.00453ea0
lea ecx, [esp + 0x14]
call fcn.0042af30
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jne 0x4552f0
lea ecx, [esp + 0x20]
mov byte [esp + 0x198], 0
call fcn.00478540
lea ecx, [esp + 0x16c]
mov dword [esp + 0x198], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, 1
mov ecx, dword [esp + 0x190]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x18c
ret 4