Function at 0x517896
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
cmp dword [ebp + 0x14], 0
je 0x519ab1
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x44], edx
cmp dword [edx + 0x1c], 0
mov eax, dword [ebp + 0x10]
sete byte [eax]
mov eax, dword [edx + 0x18]
cmp eax, 0xffffffff
je 0x5178cd
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x178], ecx
mov ebx, dword [ebp + 0x14]
add ebx, 0x34
mov dword [ebp - 0x198], ebx
cmp ecx, ebx
jne 0x5178f5
mov byte [ebp - 0x1a1], 1
jmp 0x51959a
mov eax, dword [ebp + 8]
add eax, 0x390
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp + 0xc]
add edx, 0x330
mov dword [ebp - 0x1a0], edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x19c], ecx
mov ebx, dword [ebp + 0x14]
add ebx, 0x44
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x1a1], 1
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x188], eax
cmp dword [eax + 8], 0x1a
ja case.0x517947.0
mov eax, dword [eax + 8]
jmp dword [eax*4 + 0x7e16d8]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov byte [ebp - 0x1a1], 0
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xc], edx
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
jmp case.0x517947.0
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], edx
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x1c], edx
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
movzx esi, word [eax + 0x10]
lea ebx, [ebp - 0x52]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [eax + 0x1f0]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0x8e00c0
call fcn.004585d8
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
add ebx, 0x14
mov dword [esp + 4], str.SELLPRICE
mov dword [esp], ebx
call fcn.006dc90c
test eax, eax
jne 0x517a2f
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0xc]
mov dword [eax + 8], edx
jmp case.0x517947.0
mov dword [esp + 4], str.BUYPRICE
mov dword [esp], ebx
call fcn.006dc90c
test eax, eax
jne 0x517a51
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x10]
mov dword [eax + 8], edx
jmp case.0x517947.0
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], edx
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0x1c]
mov word [ebp - 0xa0], ax
mov dword [esp + 4], str.TEMPLE
mov eax, ebx
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x517ac2
mov eax, dword [ebp + 0xc]
mov dx, word [eax + 0x272]
mov ecx, dword [eax + 0x270]
mov eax, dword [eax + 0x274]
mov word [ebp - 0xa0], ax
mov word [ebp - 0xa2], dx
mov word [ebp - 0xa4], cx
cmp dword [ebp + 0xc], 0
jne 0x517acf
mov eax, 0
jmp 0x517ad9
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
add eax, edx
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
lea ecx, [ebp - 0xa4]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045de68
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
cmp dword [ebx + 0x10], 0
mov eax, dword [ebp + 0x10]
setne byte [eax]
jmp case.0x517947.0
mov dword [esp + 4], str.SPELLLEVEL
mov eax, dword [ebp - 0x188]
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x517b82
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], 0xffffffff
mov eax, dword [ebp + 0x10]
add eax, 0x30
mov dword [esp + 4], eax
mov ebx, dword [0x8e0f68]
mov dword [esp], ebx
call fcn.0056d09e
test eax, eax
je case.0x517947.0
mov edx, dword [eax + 0x40]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], edx
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], edx
jmp case.0x517947.0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x7e0993
mov eax, dword [ebp + 0x10]
add eax, 0x30
mov dword [esp], eax
call fcn.0070342c
mov ebx, dword [ebp - 0x188]
add ebx, 0x14
mov dword [esp + 4], ebx
mov esi, dword [0x8e0f68]
mov dword [esp], esi
call fcn.0056d09e
test eax, eax
je case.0x517947.0
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
add eax, 0x30
mov dword [esp], eax
call fcn.00703510
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
add eax, 0x14
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
add eax, 0x34
mov dword [esp], eax
call fcn.00703510
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
add eax, 0x14
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
add eax, 0x38
mov dword [esp], eax
call fcn.00703510
jmp case.0x517947.0
mov edx, dword [ebp - 0x188]
mov ebx, dword [edx + 0x10]
mov dword [esp + 4], str.AMOUNT
mov eax, edx
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x517c56
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x14], ebx
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
add ebx, 0x14
mov dword [esp + 4], ebx
lea ecx, [ebp - 0xa4]
mov dword [esp], ecx
call fcn.00704290
mov dword [esp + 4], str.SPELL
mov dword [esp], ebx
call fcn.006dc90c
test eax, eax
jne 0x517ca8
mov eax, dword [ebp + 0x10]
add eax, 0x30
mov dword [esp + 4], eax
lea ebx, [ebp - 0xa4]
mov dword [esp], ebx
call fcn.00703510
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.00529ca8
jmp 0x517cd7
lea ecx, [ebp - 0xa4]
mov dword [esp], ecx
call fcn.0070479c
jmp case.0x517947.0
mov ebx, dword [ebp - 0x188]
add ebx, 0x14
mov dword [esp + 4], ebx
lea eax, [ebp - 0xa4]
mov dword [esp], eax
call fcn.00704290
mov dword [esp + 4], str.SPELL
mov dword [esp], ebx
call fcn.006dc90c
test eax, eax
jne 0x517d31
mov eax, dword [ebp + 0x10]
add eax, 0x30
mov dword [esp + 4], eax
lea edx, [ebp - 0xa4]
mov dword [esp], edx
call fcn.00703510
lea ecx, [ebp - 0xa4]
mov dword [esp + 4], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp], ebx
call fcn.0052eef6
jmp 0x517d60
lea eax, [ebp - 0xa4]
mov dword [esp], eax
call fcn.0070479c
jmp case.0x517947.0
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0xc]
test eax, eax
jle case.0x517947.0
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx]
add edx, 0x14
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ecx + 0xe4]
jmp case.0x517947.0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x220]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x390]
mov edx, dword [ebp - 0x1a8]
cmp edx, eax
je 0x519a95
cmp esi, dword [eax + 8]
je case.0x517947.0
mov eax, dword [eax]
jmp 0x517dba
mov dword [ebx + 8], esi
mov ecx, dword [ebp - 0x1a8]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00716f88
mov eax, dword [ebp + 0x10]
mov byte [eax + 1], 1
jmp case.0x517947.0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x8d2580
call fcn.004b287a
mov ebx, eax
cmp word [eax + 0x5a], 0
je case.0x517947.0
mov eax, dword [ebp - 0x188]
mov edi, dword [eax + 0x10]
mov dword [esp + 4], str.PRICE
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x517e3d
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x14]
imul edi, dword [eax + 8]
mov eax, dword [ebx + 0x317c]
cmp eax, 0xc
je 0x517e61
cmp eax, 0xb
je 0x517e61
cmp byte [ebx + 6], 0
jne 0x517e61
mov esi, 0xffffffff
cmp dword [ebx + 0xac], 0
je 0x517e67
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x1c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [esp + 8], esi
movzx eax, word [ebx + 0x5a]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [edx + 0x280]
mov ecx, eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
cmp ecx, edx
jl case.0x517947.0
movzx eax, word [ebx + 0x5a]
cmp dword [ebp + 0xc], 0
je 0x519a66
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov ebx, dword [ebp - 0x1a0]
mov dword [esp + 4], ebx
mov dword [esp], 0x8e00c0
call fcn.0045fdc6
mov eax, 0
mov edx, ebx
mov dword [esp + 0x10], 1
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov dword [esp], 0x8e00c0
call fcn.0045d326
jmp case.0x517947.0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x8d2580
call fcn.004b287a
mov esi, eax
cmp word [eax + 0x5a], 0
je case.0x517947.0
mov eax, dword [ebp - 0x188]
mov ebx, dword [eax + 0x10]
add eax, 0x14
mov dword [ebp - 0x18c], eax
mov dword [esp + 4], str.PRICE
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
je 0x517f49
mov dword [ebp - 0x188], ebx
mov edx, ebx
sar edx, 0x1f
mov dword [ebp - 0x184], edx
jmp 0x517f64
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
imul edx, dword [eax + 8]
mov dword [ebp - 0x188], edx
mov ecx, edx
sar ecx, 0x1f
mov dword [ebp - 0x184], ecx
mov eax, dword [esi + 0x317c]
cmp eax, 0xc
je 0x517f88
cmp eax, 0xb
je 0x517f88
cmp byte [esi + 6], 0
jne 0x517f88
mov ebx, 0xffffffff
cmp dword [esi + 0xac], 0
je 0x517f8e
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x1c]
cmp dword [ebp + 0xc], 0
jne 0x517f9b
mov eax, 0
jmp 0x517fa1
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.004601a2
cmp dword [ebp - 0x184], edx
ja case.0x517947.0
jb 0x517fcb
cmp dword [ebp - 0x188], eax
ja case.0x517947.0
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x14]
cmp byte [esi + 6], 0
jne 0x517ff7
mov dword [ebp - 0x17c], 0
movzx ebx, bx
mov dword [ebp - 0x190], ebx
test edi, edi
jg 0x518084
jmp 0x5180f5
test edi, edi
jle 0x5180f5
mov dword [ebp - 0x17c], esi
cmp edi, 0x63
jle 0x518011
mov esi, 0x64
jmp 0x518013
mov esi, edi
movzx ebx, si
mov dword [esp + 4], ebx
mov ebx, dword [ebp - 0x17c]
movzx eax, word [ebx + 0x5a]
mov dword [esp], eax
call fcn.004a7580
mov ebx, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x19c]
mov dword [esp + 4], edx
mov dword [esp], 0x8e00c0
call fcn.0045d5a6
cmp eax, 1
je 0x51807c
test ebx, ebx
je 0x518070
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
sub eax, edi
mov edi, eax
jmp 0x5180f5
sub edi, esi
test edi, edi
jg 0x518005
jmp 0x5180f5
mov ecx, dword [ebp - 0x190]
mov dword [esp + 4], ecx
movzx eax, word [esi + 0x5a]
mov dword [esp], eax
call fcn.004a7580
mov ebx, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x19c]
mov dword [esp + 4], edx
mov dword [esp], 0x8e00c0
call fcn.0045d5a6
cmp eax, 1
je 0x5180e7
test ebx, ebx
je 0x5180de
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 4]
mov edi, dword [ebp - 0x17c]
inc edi
jmp 0x5180f5
inc dword [ebp - 0x17c]
cmp edi, dword [ebp - 0x17c]
jg 0x518084
mov dword [esp + 4], str.PRICE
mov ecx, dword [ebp - 0x18c]
mov dword [esp], ecx
call fcn.006dc90c
test eax, eax
jne 0x518127
mov eax, dword [ebp + 0x10]
imul edi, dword [eax + 8]
mov dword [ebp - 0x188], edi
mov ebx, edi
sar ebx, 0x1f
mov dword [ebp - 0x184], ebx
cmp dword [ebp + 0xc], 0
setne al
movzx eax, al
neg eax
and eax, dword [ebp - 0x1a0]
mov dword [esp + 0x10], 0
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045f92c
jmp case.0x517947.0
mov ecx, dword [ebp - 0x188]
mov esi, dword [ecx + 0x10]
mov dword [esp + 4], str.ITEM
mov eax, ecx
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x518192
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x18]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x8d2580
call fcn.004b287a
mov ebx, eax
cmp word [eax + 0x5a], 0
je case.0x517947.0
mov eax, dword [eax + 0x317c]
cmp eax, 0xc
je 0x5181d9
cmp eax, 0xb
je 0x5181d9
cmp byte [ebx + 6], 0
jne 0x5181d9
mov edi, 0xffffffff
cmp dword [ebx + 0xac], 0
je 0x5181df
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x1c]
movzx esi, si
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x280]
mov edx, eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x14]
cmp edx, ecx
jl case.0x517947.0
test ebx, ebx
setne al
movzx eax, al
neg eax
and eax, dword [ebp - 0x1a0]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045fdc6
jmp case.0x517947.0
mov eax, dword [ebp - 0x188]
mov ebx, dword [eax + 0x10]
mov dword [esp + 4], str.ITEM
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x51825f
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x18]
mov dword [esp + 4], ebx
mov dword [esp], 0x8d2580
call fcn.004b287a
mov edi, eax
cmp word [eax + 0x5a], 0
je case.0x517947.0
mov eax, dword [eax + 0x317c]
cmp eax, 0xc
je 0x5182a0
cmp eax, 0xb
je 0x5182a0
cmp byte [edi + 6], 0
jne 0x5182a0
mov ebx, 0xffffffff
cmp dword [edi + 0xac], 0
je 0x5182a6
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x14], 0
jle case.0x517947.0
mov esi, 0
movzx ebx, bx
mov dword [ebp - 0x17c], ebx
mov edx, dword [ebp - 0x17c]
mov dword [esp + 4], edx
movzx eax, word [edi + 0x5a]
mov dword [esp], eax
call fcn.004a7580
mov ebx, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x19c]
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045d5a6
cmp eax, 1
je 0x51831b
test ebx, ebx
je 0x51831b
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 4]
inc esi
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x14], esi
jg 0x5182c1
jmp case.0x517947.0
mov dword [esp + 4], str.PRICE
mov eax, dword [ebp - 0x188]
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x518352
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x14]
imul ebx, dword [eax + 8]
jmp 0x51835b
mov edx, dword [ebp - 0x188]
mov ebx, dword [edx + 0x10]
cmp dword [ebp + 0xc], 0
jne 0x518368
mov eax, 0
jmp 0x51836e
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045f92c
jmp case.0x517947.0
mov dword [esp + 4], str.PRICE
mov eax, dword [ebp - 0x188]
add eax, 0x14
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x5183c0
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x14]
imul ebx, dword [eax + 8]
jmp 0x5183c9
mov ecx, dword [ebp - 0x188]
mov ebx, dword [ecx + 0x10]
cmp dword [ebp + 0xc], 0
jne 0x5183d6
mov eax, 0
jmp 0x5183dc
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], 0x8e00c0
call fcn.0045d326
jmp case.0x517947.0
lea ebx, [ebp - 0xa4]
mov dword [esp], ebx
call fcn.0050a6fc
lea eax, [ebp - 0x41]
mov dword [esp + 8], eax
mov dword [esp + 4], str.npc_lib_npc.lua
lea edx, [ebp - 0x48]
mov dword [esp], edx
call fcn.007041ec
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.0058a893
sub esp, 4
mov dword [esp + 8], 0
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004d4460
jmp 0x518472
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call fcn.0070479c
jmp 0x518491
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.0070479c
jmp 0x5184a5
mov eax, dword [0x7b9010]
lea edx, [eax + 1]
mov dword [0x7b9010], edx
cmp edx, 0x14
jle 0x5184c2
mov dword [0x7b9010], eax
jmp 0x519566
cmp edx, 0x14
jbe 0x5184e3
mov dword [esp + 8], 0x108
mov dword [esp + 4], 0x7e0b16
mov dword [esp], 0x7e0b28
call sub.msvcrt.dll__assert
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
lea ebx, [eax*8 + 0x8def60]
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call fcn.007507e0
mov dword [ebp - 0x12c], 0x839710
mov dword [ebp - 0xbc], 0
mov byte [ebp - 0xb8], 0
mov byte [ebp - 0xb7], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov edx, dword [0x8221c8]
mov dword [ebp - 0x160], edx
sub edx, 0xc
mov dword [ebp - 0x1ac], edx
mov eax, dword [edx]
mov ecx, dword [0x8221cc]
mov dword [ebp + eax - 0x160], ecx
mov dword [ebp - 0x15c], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x160]
add edx, dword [eax - 0xc]
mov dword [esp], edx
call fcn.007518a0
jmp 0x51859e
mov ecx, dword [0x8221d0]
mov dword [ebp - 0x158], ecx
sub ecx, 0xc
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ecx]
mov edx, dword [0x8221d4]
mov dword [ebp + eax - 0x158], edx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x158]
lea ecx, [ebp - 0x158]
add ecx, dword [eax - 0xc]
mov dword [esp], ecx
call fcn.007518a0
jmp 0x518614
mov eax, dword [0x8221c4]
mov dword [ebp - 0x160], eax
sub eax, 0xc
mov dword [ebp - 0x1b4], eax
mov eax, dword [eax]
mov ecx, dword [0x8221d8]
mov dword [ebp + eax - 0x160], ecx
mov dword [ebp - fcn.0071df38], 0x83908c
mov dword [ebp - 0x12c], 0x8390b4
mov dword [ebp - 0x158], 0x8390a0
mov dword [ebp - method.c_streambufIwSt11char_traitsIwEE.virtual_0], vtable.c_streambufIwSt11char_traitsIwEE.0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0072de18
mov dword [ebp - fcn.00718768], 0x838ce8
mov dword [ebp - 0x134], 0x18
mov dword [ebp - 0x130], 0x7bf7b0
lea eax, [ebp - 0x154]
mov dword [esp + 4], eax
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call fcn.007518a0
jmp 0x51871a
cmp dword [ebp + 0xc], 0
jne 0x518727
mov eax, 0
jmp 0x518731
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
add eax, edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004db9ca
mov ebx, eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x7e14fe
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00701d98
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 8], 0xe
mov dword [esp + 4], str.local_text___
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov eax, dword [ebx + 0x3c]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov dword [esp], ebx
call fcn.0075c288
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 0x28]
mov ebx, eax
mov dword [esp + 8], 0xe
mov dword [esp + 4], str.local_name___
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov eax, dword [ebx]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov dword [esp], ebx
call fcn.0075c288
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x360]
mov dword [esp + 8], 0x11
mov dword [esp + 4], str.local_idletime_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov dword [esp], eax
call fcn.0075c288
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x364]
mov dword [esp + 8], 0x15
mov dword [esp + 4], str.local_idleinterval_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov dword [esp], eax
call fcn.0075c288
mov dword [esp + 8], 0x12
mov dword [esp + 4], str.local_itemlist__
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.0075c288
mov eax, dword [ebp + 0x14]
mov esi, dword [eax + 0x44]
cmp esi, dword [ebp - 0x180]
je 0x518a8b
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x18c], esi
mov edx, dword [esi + 8]
mov dword [ebp - 0x194], edx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x190], ecx
mov edi, dword [esi + 0x14]
mov ebx, dword [esi + 0x10]
mov dword [esp + 8], 6
mov dword [esp + 4], str.id_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov ebx, eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], str.__subType_
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00702728
mov ebx, eax
mov dword [esp + 8], 8
mov dword [esp + 4], str.__buy_
mov dword [esp], eax
call fcn.00757358
mov ecx, dword [ebp - 0x190]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00702728
mov ebx, eax
mov dword [esp + 8], 9
mov dword [esp + 4], str.__sell_
mov dword [esp], eax
call fcn.00757358
mov eax, dword [ebp - 0x194]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00702728
mov ebx, eax
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.__name__
mov dword [esp], eax
call fcn.00757358
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0x1c]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [esp + 8], 2
mov dword [esp + 4], 0x7e1598
mov dword [esp], eax
call fcn.00757358
inc dword [ebp - 0x17c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x44]
cmp eax, dword [ebp - 0x180]
jne 0x518a3d
mov ebx, 0
jmp 0x518a4f
mov ebx, 0
mov edx, dword [ebp - 0x180]
mov eax, dword [eax]
inc ebx
cmp eax, edx
jne 0x518a48
cmp dword [ebp - 0x17c], ebx
je 0x518a7d
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e159b
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], ebx
call fcn.0075c288
mov esi, dword [esi]
cmp esi, dword [ebp - 0x180]
jne 0x518908
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e0b14
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.0075c288
mov dword [esp + 8], 0xa
mov dword [esp + 4], str._state__
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], ebx
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 4]
mov dword [esp + 8], 8
mov dword [esp + 4], str.topic_
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
mov dword [esp + 4], ebx
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x18]
mov dword [esp + 8], 9
mov dword [esp + 4], str.itemid_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x1c]
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.subtype_
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
movzx ebx, byte [eax + 2]
mov dword [esp + 8], 0xc
mov dword [esp + 4], str.ignorecap_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.0070162c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
movzx ebx, byte [eax + 3]
mov dword [esp + 8], 0xe
mov dword [esp + 4], str.inbackpacks_
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.0070162c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp + 8], 9
mov dword [esp + 4], str.amount_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 8]
mov dword [esp + 8], 8
mov dword [esp + 4], str.price_
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x20]
mov dword [esp + 8], 8
mov dword [esp + 4], str.level_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov dword [esp + 4], ebx
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 8], 0xd
mov dword [esp + 4], str.spellname___
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov eax, dword [ebx + 0x30]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea eax, [ebp - 0x53]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 4], str.listname___
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.0076107c
mov edx, eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax - 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00757358
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.0076107c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 4], str.listpname___
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.0076107c
mov edx, eax
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax - 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00757358
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.0076107c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x4c]
mov dword [esp + 4], str.n1_
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.0076107c
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x50]
mov dword [esp + 4], str.n2_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.0076107c
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x54]
mov dword [esp + 4], str.n3_
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.0076107c
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00702728
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x48], 0
jne 0x518fda
mov ebx, 0x7e1639
jmp 0x518fdf
mov ebx, 0x7e163f
mov dword [esp + 4], str.b1_
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.0076107c
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0076107c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x49], 0
jne 0x519034
mov ebx, 0x7e1639
jmp 0x519039
mov ebx, 0x7e163f
mov dword [esp + 4], str.b2_
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.0076107c
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0076107c
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea edx, [ebp - 0x53]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x4a], 0
jne 0x51908e
mov esi, 0x7e1639
jmp 0x519093
mov esi, 0x7e163f
mov dword [esp + 4], str.b3_
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.0076107c
mov ebx, eax
test esi, esi
jne 0x5190cb
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
lea eax, [ebx + ecx]
mov edx, dword [eax + 0x14]
or edx, 1
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.007518f0
jmp 0x5190eb
mov edi, esi
mov al, 0
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, ecx
not eax
dec eax
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00757358
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea eax, [ebp - 0x53]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 8], 6
mov dword [esp + 4], str.s1___
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov eax, dword [ebx + 0x58]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea eax, [ebp - 0x53]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 8], 6
mov dword [esp + 4], str.s2___
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov byte [ebp - 0x53], 0x2c
mov dword [esp + 8], 1
lea eax, [ebp - 0x53]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [esp], eax
call fcn.0075c288
mov ebx, dword [ebp + 0x10]
mov dword [esp + 8], 6
mov dword [esp + 4], str.s3___
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00757358
mov eax, dword [ebx + 0x60]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [ebp - 0x158]
mov dword [esp], edx
call fcn.00757358
mov ebx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e151a
mov dword [esp], eax
call fcn.00757358
mov dword [esp], ebx
call fcn.0075c288
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7e0b14
lea ecx, [ebp - 0x158]
mov dword [esp], ecx
call fcn.00757358
lea ebx, [ebp - 0x158]
mov dword [esp], ebx
call fcn.0075c288
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x14]
mov edx, dword [eax - 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00757358
mov dword [ebp - 0x40], 0x7bf7b0
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x51936f
mov edx, dword [ebp - 0x148]
cmp eax, edx
jbe 0x51931d
lea edx, [ebp - 0x1d]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x144]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call fcn.00704498
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.00703510
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call fcn.0070479c
jmp 0x519398
lea eax, [ebp - 0x25]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x144]
mov dword [esp + 4], eax
lea eax, [ebp - 0x24]
mov dword [esp], eax
call fcn.00704498
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.00703510
lea eax, [ebp - 0x24]
mov dword [esp], eax
call fcn.0070479c
jmp 0x519398
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.00703510
jmp 0x519398
mov ebx, dword [ebp + 8]
mov dword [esp + 8], ebx
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa4]
mov dword [esp], eax
call fcn.004d4624
mov bl, al
lea eax, [ebp - 0x40]
mov dword [esp], eax
call fcn.0070479c
jmp 0x5193d2
test bl, bl
je 0x519403
mov ebx, dword [ebp - 0xa0]
mov dword [esp + 8], str._state
mov dword [esp + 4], 0xffffd8ee
mov dword [esp], ebx
call sym.TheForgottenServer.exe_lua_getfield
lea eax, [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00509ef2
mov edx, dword [0x7b9010]
test edx, edx
js 0x51943f
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
lea eax, [eax*8 + 0x8def60]
mov dword [esp], eax
call fcn.004c157e
dec dword [0x7b9010]
jmp 0x51943f
mov dword [ebp - fcn.0071df38], 0x83908c
mov dword [ebp - 0x12c], 0x8390b4
mov dword [ebp - 0x158], 0x8390a0
mov dword [ebp - fcn.00718768], 0x838ce8
lea eax, [ebp - 0x130]
mov dword [esp], eax
call fcn.0070479c
jmp 0x5194b0
mov dword [ebp - method.c_streambufIwSt11char_traitsIwEE.virtual_0], vtable.c_streambufIwSt11char_traitsIwEE.0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0072e050
mov edx, dword [0x8221c4]
mov dword [ebp - 0x160], edx
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ecx]
mov ebx, dword [0x8221d8]
mov dword [ebp + eax - 0x160], ebx
mov eax, dword [0x8221d0]
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x1b0]
mov eax, dword [edx]
mov ecx, dword [0x8221d4]
mov dword [ebp + eax - 0x158], ecx
mov ebx, dword [0x8221c8]
mov dword [ebp - 0x160], ebx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
mov ecx, dword [0x8221cc]
mov dword [ebp + eax - 0x160], ecx
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x12c], 0x839710
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call fcn.00750944
jmp 0x519566
mov dword [ebp - 0xa4], fcn.006b0a04
lea ebx, [ebp - 0xa4]
mov dword [esp], ebx
call fcn.004e2680
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
mov edx, dword [ebp - 0x198]
cmp eax, edx
jne 0x51792e
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 0xc], 0
jne 0x51965b
lea eax, [ebp - 0xa4]
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xc], edx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 8], ebx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.005106d8
sub esp, 4
mov eax, dword [ebp - 0xa4]
cmp dword [eax - 0xc], 0
je 0x519648
mov ecx, dword [ebp + 0x14]
cmp byte [ecx + 4], 0
jne 0x519609
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 5
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.0050a9dc
jmp 0x519648
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0050a9dc
jmp 0x519648
lea eax, [ebp - 0xa4]
mov dword [esp], eax
call fcn.0070479c
jmp 0x519a02
mov ebx, dword [ebp + 0x14]
add ebx, 0x28
mov edi, dword [ebp + 8]
add edi, 0x3b8
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.007433d0
mov esi, dword [ebp + 8]
add esi, 0x3bc
mov dword [ebp - 0x178], esi
cmp esi, eax
je 0x519697
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x17c], eax
jmp 0x519739
mov dword [esp + 4], ebx
mov edx, dword [0x8dfcb8]
mov dword [esp], edx
call fcn.004c28f2
mov dword [ebp - 0x17c], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x3c0]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00742f90
mov esi, eax
cmp eax, dword [ebp - 0x178]
je 0x5196e9
lea eax, [eax + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.006dc960
test eax, eax
jns 0x519730
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x30]
mov dword [esp], ebx
call fcn.00704290
mov dword [ebp - 0x2c], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00743150
mov esi, eax
mov dword [esp], ebx
call fcn.0070479c
jmp 0x519730
mov ebx, dword [ebp - 0x17c]
mov dword [esi + 0x14], ebx
cmp dword [ebp - 0x17c], 0xffffffff
je 0x519a02
mov eax, dword [0x7b9010]
lea edx, [eax + 1]
mov dword [ebp - 0x178], edx
mov dword [0x7b9010], edx
cmp edx, 0x14
jle 0x519785
mov dword [0x7b9010], eax
mov dword [esp + 4], str._Error__Call_stack_overflow.
mov dword [esp], 0x7bfa20
call fcn.0076107c
mov dword [esp], eax
call fcn.0075c288
jmp 0x519a02
cmp dword [ebp - 0x178], 0x14
jbe 0x5197aa
mov dword [esp + 8], 0x108
mov dword [esp + 4], 0x7e0b16
mov dword [esp], 0x7e0b28
call sub.msvcrt.dll__assert
imul ebx, dword [ebp - 0x178], 0x58
lea ecx, [ebx + 0x8def60]
mov dword [ebp - 0x18c], ecx
mov eax, dword [0x8dfcb8]
mov edi, dword [eax + 4]
mov edx, dword [ebp - 0x17c]
mov dword [ebx + 0x8def68], edx
mov dword [ebx + 0x8def64], eax
lea esi, [ebx + 0x8defb4]
mov ecx, dword [esi]
mov dword [ebp - 0x180], ecx
lea edx, [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [eax + 0x1f0]
sub esp, 4
mov eax, 0x8defa0
mov edx, dword [ebp - 0x3c]
mov dword [ebx + eax + 0xe], edx
mov edx, dword [ebp - 0x38]
mov word [ebx + eax + 0x12], dx
mov ebx, dword [ebp + 8]
mov dword [esi], ebx
mov eax, dword [ebp - 0x17c]
mov dword [esp + 4], eax
mov ebx, dword [0x8dfcb8]
mov dword [esp], ebx
call fcn.004c10f2
mov edx, dword [ebp + 0x14]
mov ebx, dword [edx + 0x34]
mov dword [ebp - 0x17c], 0
cmp ebx, dword [ebp - 0x198]
je 0x519931
mov esi, ebx
cmp dword [ebx + 8], 0x18
jne 0x519923
lea ecx, [ebx + 0x14]
mov dword [ebp - 0x188], ecx
mov dword [esp + 4], 0x7e168f
mov dword [esp], ecx
call fcn.006dc90c
test eax, eax
jne 0x5198ba
cmp dword [ebp + 0xc], 0
je 0x519883
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
add eax, edx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x18c]
mov dword [esp], ecx
call fcn.004db9ca
mov edx, 0
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
fild qword [ebp - 0x170]
fstp qword [esp + 4]
mov dword [esp], edi
call sym.TheForgottenServer.exe_lua_pushnumber
jmp 0x51991d
mov dword [esp + 4], str.TEXT
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call fcn.006dc90c
test eax, eax
jne 0x5198e8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.TheForgottenServer.exe_lua_pushstring
jmp 0x51991d
mov dword [esp + 4], str._Warning___Npc::executeResponse__Unknown_script_param:
mov dword [esp], 0x7bfa20
call fcn.0076107c
add esi, 0x14
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.007612c8
mov dword [esp + 4], fcn.0075c288
mov dword [esp], eax
call fcn.0070253c
jmp 0x519931
inc dword [ebp - 0x17c]
mov ebx, dword [ebx]
cmp dword [ebp - 0x198], ebx
jne 0x51984a
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0050a210
mov dword [esp + 8], str._state
mov dword [esp + 4], 0xffffd8ee
mov dword [esp], edi
call sym.TheForgottenServer.exe_lua_setfield
mov edx, dword [ebp - 0x17c]
mov dword [esp + 4], edx
mov ebx, dword [0x8dfcb8]
mov dword [esp], ebx
call fcn.004d4126
mov dword [esp + 8], str._state
mov dword [esp + 4], 0xffffd8ee
mov dword [esp], edi
call sym.TheForgottenServer.exe_lua_getfield
lea eax, [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00509ef2
cmp dword [ebp - 0x180], 0
je 0x5199e3
lea edx, [ebp - 0x36]
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx]
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [eax + 0x1f0]
sub esp, 4
mov edx, 0x8defa0
imul eax, dword [ebp - 0x178], 0x58
mov ecx, dword [ebp - 0x36]
mov dword [eax + edx + 0xe], ecx
mov cx, word [ebp - 0x32]
mov word [eax + edx + 0x12], cx
mov ebx, dword [ebp - 0x180]
mov dword [eax + 0x8defb4], ebx
mov eax, dword [0x7b9010]
test eax, eax
js 0x519a02
imul eax, eax, 0x58
add eax, 0x8def60
mov dword [esp], eax
call fcn.004c157e
dec dword [0x7b9010]
cmp byte [ebp - 0x1a1], 0
je 0x519a20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [ebp + 0x14]
cmp edx, dword [ecx + 0x14]
jne 0x519a20
mov dword [eax + 4], 0xffffffff
mov ebx, dword [ebp + 0x10]
lea eax, [ebp - 0xa4]
mov dword [esp], eax
call sub.msvcrt.dll__ftime
mov ecx, 0x3e8
mov eax, dword [ebp - 0xa4]
imul ecx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
movsx eax, word [ebp - 0xa0]
cdq
add eax, dword [ebp - 0x178]
adc edx, dword [ebp - 0x174]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
jmp 0x519ab1
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0x8e00c0
call fcn.0045fdc6
mov eax, 0
mov edx, 0
jmp 0x517ec8
mov dword [esp], 0xc
call fcn.0076790c
mov ebx, eax
cmp eax, 0xfffffff8
jne 0x517dcf
jmp 0x517dd2
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret