Function at 0x5258f0
Capabilities:
Get geographical location
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dc74f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8d0
mov eax, dword [0x644904]
push esi
push edi
mov edi, ecx
mov ecx, dword [0x645224]
mov edx, dword [edi + 0x5c]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x40]
mov esi, eax
test esi, esi
je 0x528281
mov ecx, dword [0x645858]
mov al, byte [ebp + 8]
push ebx
xor ebx, ebx
test ecx, ecx
setne bl
test al, al
jne 0x527f79
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5f98e4
call dword [eax + 0x60]
test eax, eax
je 0x525cbf
mov ecx, dword [0x645ae0]
push 1
call fcn.004966b0
cmp eax, 1
je 0x5259d1
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610ea4
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0
mov eax, dword [0x64582c]
test eax, eax
je 0x5259bc
mov esi, dword [eax]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
mov ecx, dword [0x64582c]
push eax
push 0x85
call dword [esi + 0x4c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
cmp eax, 1
jne 0x525a5b
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e7c
lea edx, [ebp - 0x2c]
push edx
push eax
mov dword [ebp - 4], 1
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 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_]
mov esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xbc]
test eax, eax
jne 0x525ae4
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e6c
lea edx, [ebp - 0x2c]
push edx
push eax
mov dword [ebp - 4], 3
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
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 esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
cmp eax, 0x3c
jl 0x525b6b
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e34
lea edx, [ebp - 0x2c]
push edx
push eax
mov dword [ebp - 4], 5
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
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 esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov eax, dword [esi]
lea ecx, [ebp - 0x8b0]
push ecx
lea edx, [ebp - 0x8b3]
push edx
lea ecx, [ebp - 0x8b4]
push ecx
mov ecx, esi
mov dword [ebp - 0x8b0], 0
mov byte [ebp - 0x8b3], 0
mov byte [ebp - 0x8b4], 0
call dword [eax + 8]
lea ecx, [ebp - 0x4a0]
call fcn.0040d0b0
mov ecx, dword [ebp - 0x8b0]
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x48c], ecx
mov ebx, 7
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], ebx
mov byte [ebp - 0x494], 0
mov byte [ebp - 0x493], 0
mov byte [ebp - 0x492], 4
mov byte [ebp - 0x48f], ah
mov byte [ebp - 0x490], al
call fcn.004ea650
mov ecx, dword [0x645ae0]
push 1
lea edx, [ebp - 0x8c0]
push edx
call fcn.00497170
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040cfa0
mov ecx, dword [0x645ae0]
mov eax, dword [ecx + 0x95c]
push 1
mov byte [ebp - 0x30], al
call fcn.004971e0
mov byte [ebp - 0x2f], al
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 0x480], 0x10
call fcn.0040d190
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x525c8c
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x90]
add esp, 0xc
mov esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x525c9e
mov ecx, dword [0x64577c]
lea eax, [ebp - 0x4a0]
push eax
call fcn.0048d330
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x4a0], 0x5ec3d0
call fcn.00573210
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x5fb37c
call dword [edx + 0x60]
test eax, eax
mov ecx, dword [0x645858]
je 0x525f6a
mov eax, dword [ecx]
push 0x601f5c
call dword [eax + 0x60]
test eax, eax
jne 0x528280
mov ecx, dword [0x645858]
mov edx, dword [ecx]
push 0x608718
call dword [edx + 0x60]
test eax, eax
jne 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
cmp eax, 1
jne 0x525d44
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e7c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x90]
add esp, 0xc
mov dword [ebp - 4], 9
jmp 0x52808d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
cmp eax, 0x3c
jl 0x525d89
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e04
lea edx, [ebp - 0x2c]
push edx
mov ebx, 0xa
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0xb
jmp 0x525e7a
mov ecx, dword [0x645ae0]
mov eax, dword [ecx]
call dword [eax + 0x2d8]
test al, al
mov byte [ebp + 0xb], al
jne 0x525de9
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xbc]
test eax, eax
jne 0x525e32
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e6c
lea edx, [ebp - 0x2c]
push edx
mov ebx, 0xc
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0xd
jmp 0x525e7a
cmp al, 1
jne 0x525e32
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xbc]
cmp eax, 1
jne 0x525e32
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610df4
lea edx, [ebp - 0x2c]
push edx
mov ebx, 0xe
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0xf
jmp 0x525e7a
mov ecx, dword [0x645ae0]
mov eax, dword [ecx]
push 1
call dword [eax + 0x350]
test eax, eax
jne 0x525ec1
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610dc8
lea edx, [ebp - 0x2c]
push edx
mov ebx, 0x10
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x48]
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
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 esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov ecx, dword [0x645ae0]
mov eax, dword [ecx]
call dword [eax + 0x330]
test eax, eax
jge 0x528280
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x78]
mov edi, dword [0x645ae0]
mov eax, dword [esi]
mov ebx, dword [edi]
mov ecx, esi
call dword [eax + 0x30]
push eax
mov ecx, edi
call dword [ebx + 0x32c]
mov ecx, dword [0x645ae0]
mov edx, dword [ecx]
push 2
call dword [edx + 0x334]
cmp byte [ebp + 0xb], 1
jne 0x525f43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xbc]
test eax, eax
jne 0x525f43
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0x5ed68c
push 0x234
call dword [edx + 0x4c]
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0xa
call dword [edx + 0x54]
jmp 0x528280
mov ecx, dword [0x646074]
mov eax, dword [ecx]
push 0x5ed68c
push 0x9d
call dword [eax + 0x4c]
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0xa
call dword [edx + 0x54]
jmp 0x528280
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5f9914
call dword [eax + 0x60]
test eax, eax
je 0x5260b0
mov ecx, dword [0x645ae0]
mov edx, dword [ecx]
call dword [edx + 0x2ac]
or edi, 0xffffffff
cmp eax, edi
mov dword [ebp + 8], eax
jne 0x525fea
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610d98
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x90]
add esp, 0xc
mov esi, dword [0x646074]
mov ebx, dword [esi]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0x12
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [ebx + 0x4c]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], edi
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
test al, al
je 0x52606c
push 0x5eb0c0
lea ecx, [ebp - 0x48]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x2c]
push edx
mov ebx, 0x13
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
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 esi, dword [0x646074]
mov ebx, dword [esi]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [ebx + 0x4c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], edi
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x528280
mov edi, dword [0x645ae0]
mov eax, dword [esi]
mov ebx, dword [edi]
mov ecx, esi
call dword [eax + 0x30]
mov ecx, dword [ebp + 8]
push eax
push ecx
mov ecx, edi
call dword [ebx + 0x2a4]
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x78]
mov ecx, dword [0x646074]
mov eax, dword [ecx]
push 0x75
call dword [eax + 0x54]
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0xa
call dword [edx + 0x54]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5fb374
call dword [eax + 0x60]
test eax, eax
je 0x5262cc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
cmp eax, 0x3c
jl 0x526131
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610d64
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x15
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x2c]
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__]
lea ecx, [ebp - 0x8ac]
mov byte [ebp - 4], bl
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x52808d
mov eax, dword [0x646304]
mov ebx, dword [eax + 0x5c]
lea ecx, [ebp - 0x3c]
call fcn.005245d0
mov ecx, edi
mov dword [ebp - 4], 0x17
mov byte [ebp - 0x30], 1
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
cmp ebx, 1
mov byte [ebp - 0x2f], al
jne 0x526168
mov byte [ebp - 0x2e], 0xff
jmp 0x526192
cmp ebx, 2
jne 0x526173
mov byte [ebp - 0x2e], 0xfe
jmp 0x526192
cmp ebx, 3
jne 0x52617e
mov byte [ebp - 0x2e], 0xfd
jmp 0x526192
cmp ebx, 4
jne 0x526189
mov byte [ebp - 0x2e], 0xfc
jmp 0x526192
cmp ebx, 5
jne 0x526192
mov byte [ebp - 0x2e], 0xfb
mov ecx, dword [0x645ae0]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x1e8]
test eax, eax
jne 0x5262bb
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x74]
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
cmp edi, eax
jle 0x52622a
lea ecx, [ebx + ebx*4]
shl ecx, 2
lea eax, [ecx - 0x14]
cmp eax, ecx
mov dword [ebp - 0x8b0], ecx
mov dword [ebp + 8], eax
jge 0x52622a
mov ecx, dword [0x645ae0]
mov edx, dword [ecx]
push eax
call dword [edx + 0x1d0]
mov edi, eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x60]
mov edx, dword [esi]
mov ecx, esi
mov ebx, eax
call dword [edx + 0x60]
cmp ebx, eax
jne 0x526219
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
call dword [edx + 0x68]
add edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
cmp edi, eax
jle 0x5262bb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x8b0]
inc eax
cmp eax, ecx
mov dword [ebp + 8], eax
jl 0x5261d3
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610d38
lea edx, [ebp - 0x8ac]
push edx
mov bl, 0x18
push eax
mov byte [ebp - 4], bl
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
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__]
lea ecx, [ebp - 0x8ac]
mov byte [ebp - 4], bl
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 esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x610844
mov dword [ebp - 4], 0xffffffff
call fcn.00573210
jmp 0x528280
mov ecx, dword [0x64577c]
lea eax, [ebp - 0x3c]
push eax
call fcn.0048d330
jmp 0x5262a0
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x5f2d60
call dword [edx + 0x60]
test eax, eax
je 0x52652b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
cmp eax, 1
jne 0x526337
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e7c
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x1a
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x1b
jmp 0x526113
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
cmp eax, 0x3c
jl 0x52637f
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610d00
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x1c
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x1d
jmp 0x526113
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xbc]
test eax, eax
jne 0x5263c9
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610e6c
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x1e
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x1f
jmp 0x526113
mov eax, dword [esi]
push 4
mov ecx, esi
call dword [eax + 0x90]
test al, al
jne 0x526426
mov edx, dword [esi]
push 4
lea eax, [ebp - 0x8ac]
push eax
mov ecx, esi
call dword [edx + 0x94]
mov esi, dword [0x646074]
mov edi, dword [esi]
mov ecx, eax
mov dword [ebp - 4], 0x20
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x8ac]
mov dword [ebp - 4], 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_]
jmp 0x528280
lea ecx, [ebp - 0x4c]
call fcn.004e8d80
mov ecx, dword [0x645ae0]
mov edx, dword [ecx + 0x534]
mov ebx, 0x21
mov ecx, edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], edx
mov byte [ebp - 0x40], 1
mov byte [ebp - 0x3f], 1
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov byte [ebp - 0x3d], al
mov eax, dword [esi]
mov ecx, esi
mov byte [ebp - 0x3c], 0
call dword [eax + 0x40]
test al, al
je 0x526501
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
push eax
mov byte [ebp - 4], 0x22
call dword [ecx + 0x90]
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x23
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__]
lea ecx, [ebp - 0x8ac]
mov byte [ebp - 4], 0x22
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 esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x6081d8
mov dword [ebp - 4], 0xffffffff
call fcn.00573210
jmp 0x528280
mov ecx, dword [0x64577c]
lea eax, [ebp - 0x4c]
push eax
call fcn.0048d330
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x6081d8
mov dword [ebp - 4], 0xffffffff
call fcn.00573210
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610cec
call dword [edx + 0x60]
test eax, eax
je 0x52660e
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x40]
test al, al
je 0x526599
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x24
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x25
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x5265e6
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x5265e6
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x26
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0
push 0xaa
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5eef90
call dword [eax + 0x60]
test eax, eax
je 0x526793
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x40]
test al, al
je 0x52667c
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x27
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x28
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x5266c9
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x5266c9
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x29
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1374781
jl 0x5266f3
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1374848
jl 0x526719
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610ccc
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x2a
jmp 0x525999
lea ecx, [ebp - 0x890]
call fcn.004473a0
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x2b
call fcn.004ebe70
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x37]
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call dword [edx + 8]
lea edx, [ebp - 0x890]
push edx
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x60], 0xb
call fcn.004ebe40
mov ecx, dword [0x64577c]
lea eax, [ebp - 0x890]
push eax
call fcn.0048d330
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x890], 0x5f4544
mov dword [ebp - 4], 0xffffffff
call fcn.00573210
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x5eecd4
call dword [edx + 0x60]
test eax, eax
jne 0x5267c7
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5eecc8
call dword [eax + 0x60]
test eax, eax
je 0x526852
mov ecx, dword [0x646304]
mov edx, dword [ecx]
mov edi, dword [0x645cc8]
call dword [edx + 0x40]
cmp eax, edi
jne 0x5267ef
mov ecx, dword [0x645838]
mov eax, dword [ecx]
call dword [eax + 0xb0]
jmp 0x528280
mov ecx, dword [0x646304]
mov edx, dword [ecx]
mov edi, dword [0x645cb4]
call dword [edx + 0x40]
cmp eax, edi
je 0x5267dc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
cmp eax, 0x3c
jge 0x526824
mov ecx, dword [0x645838]
mov eax, dword [ecx]
push esi
call dword [eax + 0xb8]
jmp 0x528280
test ebx, ebx
je 0x528280
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610ac8
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x90]
add esp, 0xc
mov dword [ebp - 4], 0x2c
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610abc
call dword [eax + 0x60]
test eax, eax
je 0x52689c
mov ecx, dword [0x646304]
mov edx, dword [ecx]
mov ebx, dword [0x645cd8]
call dword [edx + 0x40]
cmp eax, ebx
mov ecx, dword [0x645838]
jne 0x526893
mov eax, dword [ecx]
call dword [eax + 0xb0]
jmp 0x52689c
mov edx, dword [ecx]
push esi
call dword [edx + 0xf8]
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610cc0
call dword [eax + 0x60]
test eax, eax
je 0x5269e9
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x52690f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 1
je 0x52690f
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x2d
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x2e
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x52695c
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x52695c
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x2f
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 1
jne 0x5269c1
mov ecx, esi
call fcn.00421000
test al, al
je 0x526999
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c9c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x30
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x168
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x168
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610c8c
call dword [eax + 0x60]
test eax, eax
je 0x526b36
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526a5c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 1
je 0x526a5c
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x31
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x32
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526aa9
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526aa9
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x33
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 1
jne 0x526b0e
mov ecx, esi
call fcn.00421000
test al, al
je 0x526ae6
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c9c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x34
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x222
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x222
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x60873c
call dword [eax + 0x60]
test eax, eax
je 0x526c12
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526b9d
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x35
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x36
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526bea
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526bea
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x37
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x23d
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610c7c
call dword [eax + 0x60]
test eax, eax
je 0x526cee
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526c79
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x38
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x39
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526cc6
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526cc6
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x3a
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0
push 0x23e
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x6013ac
call dword [eax + 0x60]
test eax, eax
je 0x526dfc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526d55
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x3b
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x3c
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526da2
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526da2
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x3d
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 3
mov ecx, edi
jne 0x526dd6
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x1d5
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x1d5
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x601370
call dword [eax + 0x60]
test eax, eax
je 0x526f0a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526e63
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x3e
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x3f
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526eb0
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526eb0
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x40
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 3
mov ecx, edi
jne 0x526ee4
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0
push 0x233
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 4
push 0x233
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610c74
call dword [eax + 0x60]
test eax, eax
je 0x527021
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x526f71
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x41
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x42
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x526fbe
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x526fbe
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x43
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 1
jne 0x526ffb
mov ecx, esi
call fcn.00421000
test al, al
je 0x526ffb
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c9c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x44
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0x174
mov ecx, esi
call dword [edi + 0x50]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610c68
call dword [eax + 0x60]
test eax, eax
mov ecx, dword [0x645858]
je 0x52712d
mov edx, dword [ecx]
push 0x5f2e24
call dword [edx + 0x60]
test eax, eax
je 0x52708d
mov eax, dword [0x646564]
mov eax, dword [eax + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x52708d
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f5d3c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x45
jmp 0x525999
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 1
jne 0x5270ca
mov ecx, esi
call fcn.004210e0
test eax, eax
je 0x5270ca
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c58
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x46
jmp 0x525999
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 1
jne 0x527107
mov ecx, esi
call fcn.00421000
test al, al
je 0x527107
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c9c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x47
jmp 0x525999
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0x175
mov ecx, esi
call dword [edi + 0x50]
jmp 0x528280
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5f188c
call dword [eax + 0x60]
test eax, eax
je 0x527261
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x52718e
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x48
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x49
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x5271db
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x5271db
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x4a
jmp 0x525999
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 2
jne 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp eax, 0x138ce21
jl 0x527200
cmp eax, 0x138ce28
jle 0x52721c
cmp eax, 0x138d209
jl 0x52720e
cmp eax, 0x138d210
jle 0x52721c
cmp eax, 0x138d5f1
jl 0x52723b
cmp eax, 0x138d5f8
jg 0x52723b
mov edi, dword [0x646074]
mov edx, dword [esi]
mov ebx, dword [edi]
mov ecx, esi
call dword [edx + 0x30]
push eax
push 0x1a3
mov ecx, edi
call dword [ebx + 0x50]
jmp 0x528280
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x4b
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x5f2df0
call dword [eax + 0x60]
test eax, eax
je 0x52746e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x5272c8
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x4c
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x4d
jmp 0x526113
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 2
jne 0x527448
mov ecx, esi
call fcn.0045d210
cmp eax, 5
jne 0x527422
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
lea ecx, [ebp - 0x2c]
mov ebx, eax
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 ecx, dword [0x6461b4]
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
push 0x610c1c
mov dword [ebp - 4], 0x4e
call dword [eax + 0x38]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
call dword [sym.imp.msvcr71.dll_atoi]
add esp, 4
dec eax
cmp eax, 3
ja case.default.0x52732e
jmp dword [eax*4 + 0x52829c]
cmp ebx, 0x1cfe5d0
jle case.default.0x52732e
cmp ebx, 0x1cfe9b8
jl 0x5273e4
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x48]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov eax, dword [0x64582c]
test eax, eax
mov byte [ebp - 4], 0x4f
je 0x52738a
mov esi, dword [eax]
lea ecx, [ebp - 0x48]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
mov ecx, dword [0x64582c]
push eax
push 0x85
call dword [esi + 0x4c]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x4e
call dword [sym.imp.msvcp71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x5259bc
cmp ebx, 0x1d17063
jl 0x5273ac
cmp ebx, 0x1d1706c
jle 0x5273e4
cmp ebx, 0x1ce7aec
jl case.default.0x52732e
cmp ebx, 0x1ce7c7c
jle 0x5273e4
jmp case.default.0x52732e
cmp ebx, 0x1d302b0
jle case.default.0x52732e
cmp ebx, 0x1d30698
jmp 0x527343
xor eax, eax
cmp ebx, 0x1d1706d
sete al
test eax, eax
je case.default.0x52732e
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x78]
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0xa
call dword [edx + 0x54]
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x13d
mov ecx, esi
call dword [edi + 0x40]
jmp 0x5259bc
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610bfc
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x50
jmp 0x525999
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x51
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610bf0
call dword [eax + 0x60]
test eax, eax
je 0x5274ed
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
cmp eax, 1
jne 0x5274c7
mov ecx, esi
call fcn.004210e0
test eax, eax
je 0x5274c7
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0x24f
mov ecx, esi
call dword [edi + 0x50]
jmp 0x528280
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x52
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x608728
call dword [eax + 0x60]
test eax, eax
je 0x527635
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x40]
test al, al
je 0x527554
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x53
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x54
jmp 0x526113
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 2
jne 0x52760f
mov ecx, esi
call fcn.0045d210
cmp eax, 5
jne 0x5275e9
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
cmp eax, 0x1cfe5d0
jle 0x5275c3
cmp eax, 0x1cfe9b8
jge 0x5275c3
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x78]
mov ecx, dword [0x646074]
mov edx, dword [ecx]
push 0xa
call dword [edx + 0x54]
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x13d
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x55
jmp 0x525999
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610bfc
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x56
jmp 0x525999
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x610c2c
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x57
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610be8
call dword [eax + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610bd8
call dword [edx + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610bcc
call dword [eax + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610bbc
call dword [edx + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610bac
call dword [eax + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610ba0
call dword [edx + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610b94
call dword [eax + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610b88
call dword [edx + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov eax, dword [ecx]
push 0x610b7c
call dword [eax + 0x60]
test eax, eax
jne 0x527765
mov ecx, dword [0x645858]
test ecx, ecx
je 0x527f79
mov edx, dword [ecx]
push 0x610b6c
call dword [edx + 0x60]
test eax, eax
je 0x527f79
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x40]
test al, al
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610b6c
call dword [eax + 0x60]
test eax, eax
je 0x5277a6
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610be8
call dword [eax + 0x60]
test eax, eax
je 0x5277d1
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610bd8
call dword [eax + 0x60]
test eax, eax
je 0x5277fc
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610b94
call dword [eax + 0x60]
test eax, eax
je 0x527827
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610b88
call dword [eax + 0x60]
test eax, eax
je 0x527852
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610b7c
call dword [eax + 0x60]
test eax, eax
je 0x527879
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x610bac
call dword [eax + 0x60]
test eax, eax
je 0x5278a0
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
je 0x5278dc
push 0x5eb0c0
lea ecx, [ebp - 0x2c]
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__]
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x8ac]
push edx
mov ebx, 0x58
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0x90]
add esp, 0xc
mov byte [ebp - 4], 0x59
jmp 0x526113
mov ecx, dword [0x645858]
mov eax, dword [ecx]
push 0x5f2e24
call dword [eax + 0x60]
test eax, eax
je 0x527929
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x158]
test ecx, ecx
je 0x527929
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5f5d3c
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x84]
add esp, 0xc
mov dword [ebp - 4], 0x5a
jmp 0x525999
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov edx, dword [ecx]
push 0x610be8
call dword [edx + 0x60]
test eax, eax
jne 0x527965
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610bd8
call dword [eax + 0x60]
test eax, eax
je 0x527a6a
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x5279a0
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0xaa
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 3
mov ecx, edi
jne 0x5279d9
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0xaa
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f29
je 0x527a42
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2a
je 0x527a42
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2b
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 4
push 0xaa
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 3
push 0xaa
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610bcc
call dword [eax + 0x60]
test eax, eax
je 0x527b32
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527ac5
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x169
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2c
mov ecx, edi
je 0x527b0c
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f44
jl 0x528280
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f4c
jg 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x169
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610bbc
call dword [eax + 0x60]
test eax, eax
je 0x527bfa
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527b8d
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x224
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2c
mov ecx, edi
je 0x527bd4
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f44
jl 0x528280
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f4c
jg 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x224
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610b7c
call dword [eax + 0x60]
test eax, eax
je 0x527c53
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0x18a
mov ecx, esi
call dword [edi + 0x50]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610bac
call dword [eax + 0x60]
test eax, eax
je 0x527d41
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527cae
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x18b
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f25
je 0x527d19
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f26
je 0x527d19
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f27
je 0x527d19
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f20
je 0x527d19
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f28
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x18b
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610b6c
call dword [eax + 0x60]
test eax, eax
je 0x527d9a
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 0x1d8
mov ecx, esi
call dword [edi + 0x50]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610b94
call dword [eax + 0x60]
test eax, eax
je 0x527e49
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527df5
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x18e
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2d
je 0x527e21
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f2e
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x18e
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610b88
call dword [eax + 0x60]
test eax, eax
je 0x527edf
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527ea0
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x21e
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f51
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x21e
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov ecx, dword [0x645858]
test ecx, ecx
je 0x528280
mov eax, dword [ecx]
push 0x610ba0
call dword [eax + 0x60]
test eax, eax
je 0x528280
mov ecx, edi
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
cmp eax, 1
mov ecx, edi
jne 0x527f3a
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 1
push 0x18c
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
call fcn.00525220
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
cmp eax, 0x1d77f24
jne 0x528280
mov ecx, edi
call fcn.00525220
mov esi, dword [0x646074]
mov edx, dword [eax]
mov edi, dword [esi]
mov ecx, eax
call dword [edx + 0x30]
push eax
push 2
push 0x18c
mov ecx, esi
call dword [edi + 0x40]
jmp 0x528280
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x5c]
cmp eax, 1
je 0x52825c
cmp eax, 2
jle 0x528280
cmp eax, 4
jg 0x528280
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x5c]
cmp eax, 5
jne 0x528053
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 0x5c]
cmp eax, 5
jne 0x528037
mov edx, dword [esi]
push 3
mov ecx, esi
call dword [edx + 0x5c]
cmp eax, 0x32
jl 0x527fd9
mov eax, dword [esi]
push 3
mov ecx, esi
call dword [eax + 0x5c]
cmp eax, 0x3b
jle 0x527ff9
mov edx, dword [esi]
push 3
mov ecx, esi
call dword [edx + 0x5c]
cmp eax, 0xac
jl 0x528037
mov eax, dword [esi]
push 3
mov ecx, esi
call dword [eax + 0x5c]
cmp eax, 0xb0
jg 0x528037
mov ecx, dword [0x646304]
mov edx, dword [ecx]
mov esi, dword [0x645cc8]
call dword [edx + 0x40]
cmp eax, esi
je 0x528280
mov ecx, dword [0x646304]
mov eax, dword [ecx]
mov esi, dword [0x645cd8]
call dword [eax + 0x40]
cmp eax, esi
je 0x528280
mov ecx, edi
call fcn.00525120
jmp 0x528280
mov edx, dword [esi]
push 2
mov ecx, esi
call dword [edx + 0x5c]
cmp eax, 6
jl 0x528053
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 0x5c]
cmp eax, 8
jle 0x527ff9
mov ecx, dword [0x646564]
mov eax, dword [ecx + 0x64]
mov ecx, dword [eax + 0x154]
call fcn.004e3be0
cmp eax, 1
jne 0x5280ae
mov eax, dword [0x645858]
mov edx, dword [eax]
push 0x5fc8f8
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [edx + 0x90]
add esp, 0xc
mov dword [ebp - 4], 0x5b
mov esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
jmp 0x5259bc
mov edx, dword [esi]
push 5
mov ecx, esi
call dword [edx + 0x90]
test al, al
jne 0x52810b
mov eax, dword [esi]
push 5
lea ecx, [ebp - 0x8dc]
push ecx
mov ecx, esi
call dword [eax + 0x94]
mov esi, dword [0x646074]
mov edi, dword [esi]
mov ecx, eax
mov dword [ebp - 4], 0x5c
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x4c]
test eax, eax
jne 0x528148
mov ecx, dword [0x646304]
mov eax, dword [ecx]
push edi
call dword [eax + 0x50]
mov ecx, dword [0x64582c]
mov esi, dword [ecx]
push 0xfffffffffffffffa
call fcn.005916e0
mov ecx, dword [0x64582c]
add esp, 4
push eax
push 0x85
call dword [esi + 0x4c]
jmp 0x528280
mov ecx, dword [0x646564]
mov edx, dword [ecx]
call dword [edx + 0x50]
mov ebx, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
test al, al
je 0x5281b2
mov eax, dword [0x645858]
mov ecx, dword [eax]
push 0x5f1164
lea edx, [ebp - 0x7c]
push edx
push eax
call dword [ecx + 0x90]
add esp, 0xc
mov esi, dword [0x646074]
mov edi, dword [esi]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x5d
call dword [sym.imp.msvcp71.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Myptr_void_]
push eax
push 0x85
mov ecx, esi
call dword [edi + 0x4c]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 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_]
jmp 0x528280
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp eax, 0x1c9e2de
mov ecx, esi
jne 0x5281e4
mov edi, dword [0x646074]
mov edx, dword [esi]
mov ebx, dword [edi]
call dword [edx + 0x30]
push eax
push 0x3f0
push 0x137
mov ecx, edi
call dword [ebx + 0x40]
jmp 0x528280
mov eax, dword [esi]
call dword [eax + 0x60]
cmp eax, 0x1c9e2c7
je 0x52823b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
cmp eax, 0x1d17900
je 0x52823b
test ebx, ebx
je 0x52820b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
jmp 0x52820e
or eax, 0xffffffff
mov ecx, dword [0x645838]
lea esi, [ebp - 0x8bc]
push esi
push eax
mov dword [ebp - 0x8bc], 0xbf800000
mov dword [ebp - 0x8b8], 0xbf800000
mov edx, dword [ecx]
push edi
call dword [edx + 0x84]
jmp 0x528280
mov edi, dword [0x646074]
mov eax, dword [esi]
mov ebx, dword [edi]
mov ecx, esi
call dword [eax + 0x30]
push eax
push 0x1b66b
push 0x137
mov ecx, edi
call dword [ebx + 0x40]
jmp 0x528280
mov ecx, dword [0x645838]
mov edi, dword [ecx]
mov ecx, esi
call fcn.00420c20
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov ecx, dword [0x645838]
push eax
call dword [edi + 0x8c]
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
call fcn.005c8895
mov esp, ebp
pop ebp
ret 4