Function at 0x4cf659
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b1d7b
mov eax, dword fs:[0]
push eax
mov eax, 0x4214
call fcn.00555090
mov eax, dword [0x616798]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x3e40], eax
mov dword [ebp - 0x3ea0], 0
mov byte [ebp - 0x25ec], 4
mov byte [ebp - 0x206c], 0x17
mov byte [ebp - 0x3e8c], 0xd
mov byte [ebp - 0x3e60], 0xe
mov byte [ebp - 0x2004], 9
mov byte [ebp - 0x1fb4], 0x28
mov byte [ebp - 0x4220], 0x21
mov byte [ebp - 0x3ea8], 0x1a
mov byte [ebp - 0x3e34], 0x2d
mov byte [ebp - 0x3e78], 0x2e
mov byte [ebp - 0x3e7d], 0x37
mov byte [ebp - 0x3f84], 0x44
mov dword [ebp - 0x3e50], 0
mov dword [ebp - 0x3e4c], 0
mov dword [ebp - 0x3e48], 0
mov dword [ebp - 0x3e3c], 0
lea edx, [ebp - 0x3e84]
mov ecx, dword [eax + 0x34]
push 0
push 0
push edx
mov eax, dword [ecx]
push 0
mov dword [ebp - 4], 0
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x3e84]
test eax, eax
jle 0x4d8490
mov edx, 0xfa0
mov edi, 0x1e
nop word [eax + eax]
mov esi, dword [ebp - 0x3e40]
cmp eax, 0xfa0
cmovg eax, edx
lea edx, [ebp - 0x3e50]
push edx
mov dword [ebp - 0x3e84], eax
lea edx, [ebp - 0x3e3c]
mov ecx, dword [esi + 0x34]
push edx
lea edx, [ebp - 0x3e84]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0xfb0]
push edx
mov eax, dword [eax + 8]
call eax
movsx eax, byte [ebp - 0xfb0]
dec eax
cmp eax, 0x5d
ja case.0x4cf652.2
movzx eax, byte [eax + 0x4d8568]
jmp dword [eax*4 + 0x4d84b8]
mov ecx, dword [0x61aa80]
lea eax, [ebp - 0xfaf]
push eax
call fcn.00510640
test eax, eax
je 0x4cf69a
mov dword [ebp - 0x3e5f], 0xa
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4cf652.2
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, dword [ebp - 0x3e40]
mov esi, eax
test esi, esi
je 0x4cf6fa
nop word [eax + eax]
mov ecx, dword [ebp - 0x3e38]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044dea0
test esi, esi
je 0x4cf6e0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x3e38]
mov ecx, edi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov esi, eax
test esi, esi
jne 0x4cf6c0
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.004bad70
mov esi, eax
test esi, esi
je 0x4cf73a
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044dea0
test esi, esi
je 0x4cf727
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.004bad70
mov esi, eax
test esi, esi
jne 0x4cf710
push 0x15054
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41cc], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4cf764
mov ecx, eax
call fcn.00471150
mov dword [ebp - 0x3e58], eax
jmp 0x4cf76e
mov dword [ebp - 0x3e58], 0
mov ecx, dword [ebp - 0x3e58]
mov eax, dword [ebp - 0x3e3c]
push ecx
mov byte [ebp - 4], 0
mov dword [ecx + 0x180], eax
mov dword [ecx + 0x188], 0xffffffff
mov al, byte [ebp - 0xfaf]
mov byte [ecx + 0x240], al
mov al, byte [ebp - 0xfae]
mov byte [ecx + 0x241], al
mov al, byte [ebp - 0xfad]
mov byte [ecx + 0x242], al
mov al, byte [ebp - 0xfac]
mov byte [ecx + 0x243], al
mov ecx, dword [edi + 0x44]
call fcn.0044daf0
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4084]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4084]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov byte [ebp - 0x3f83], 0
lea edx, [ebp - 0x3e50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3f84]
mov eax, dword [ecx]
push edx
push 6
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
xor edi, edi
call fcn.004ba460
mov esi, eax
test esi, esi
je 0x4cfb85
mov dword [ebp - 0x3e64], 1
nop dword [eax + eax]
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._closing_connection:__s___s
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
add esp, 0x18
lea ecx, [ebp - 0x209c]
call fcn.005157a0
mov ecx, dword [ebp - 0x2094]
add ecx, 0x13
movzx eax, cx
movzx edi, cx
mov edx, eax
mov dword [ebp - 0x3e68], edx
movzx edx, cx
mov dword [ebp - 0x3e54], edi
mov dword [ebp - 0x3e44], edx
mov word [ebp - 0x2094], cx
cmp eax, 0x18
jae 0x4cf8e3
mov dx, word [ebp - 0x2096]
mov eax, 0xffff
add dx, ax
mov word [ebp - 0x2096], dx
jmp 0x4cf8f4
lea eax, [edx - 0x18]
mov dx, word [ebp - 0x2096]
mov word [ebp - 0x2094], ax
movzx eax, word [ebp - 0x2092]
mov edi, dword [ebp - 0x3e54]
push eax
mov eax, dword [ebp - 0x3e44]
add eax, 0xffffffe8
movzx ecx, di
cmp word [ebp - 0x3e68], 0x18
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x209a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
mov eax, dword [esi + 0x14f34]
add esp, 0x20
cmp eax, 2
je 0x4cf961
cmp eax, 3
jne 0x4cf975
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a0f20
add esp, 8
mov edi, dword [ebp - 0x3e38]
mov ecx, esi
push 0
push edi
call fcn.00471e70
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x206b]
push str._s_left_the_game.
push eax
call fcn.00471010
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c140
push 0
push edi
mov ecx, esi
call fcn.00489440
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044dea0
mov ecx, edi
call fcn.0044c2c0
test eax, eax
jne 0x4cfa2a
mov ecx, edi
call fcn.0044c2c0
test eax, eax
jne 0x4cfa01
cmp dword [edi + 0x124], eax
jg 0x4cfa2a
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [esi + 0x108]
mov dword [ecx + esi + 0x308], eax
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [esi + 0x10c]
jmp 0x4cfa53
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [ecx + esi + 0x310]
mov dword [ecx + esi + 0x308], eax
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [ecx + esi + 0x314]
mov dword [ecx + esi + 0x30c], eax
mov ecx, esi
call fcn.0048a010
mov eax, dword [esi + 0x14f70]
test eax, eax
je 0x4cfb53
mov dword [eax + 0x23c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x240], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x244], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x248], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x24c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x250], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x254], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x258], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x25c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x260], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x1c0], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x220], 0x19
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x124], 1
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x21c], 0
mov dword [esi + 0x14f70], 0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3e38]
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov esi, eax
test esi, esi
jne 0x4cf850
mov edi, dword [ebp - 0x3e64]
push dword [ebp - 0x3e3c]
mov esi, dword [ebp - 0x3e40]
mov ecx, esi
call fcn.004bad70
mov dword [ebp - 0x3e58], eax
test eax, eax
jne 0x4cfc28
test edi, edi
jne case.default.0x4d415a
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
add esp, 0x10
lea ecx, [ebp - 0x20ac]
call fcn.005157a0
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x13
movzx eax, cx
movzx esi, cx
mov edi, eax
movzx edx, cx
mov dword [ebp - 0x3e54], esi
mov dword [ebp - 0x3e44], edx
mov word [ebp - 0x20a4], cx
cmp eax, 0x18
jae 0x4cfc65
mov dx, word [ebp - 0x20a6]
mov eax, 0xffff
add dx, ax
mov word [ebp - 0x20a6], dx
jmp 0x4cfc76
mov eax, dword [ebp - 0x3e58]
mov ecx, dword [esi + 0x44]
push eax
call fcn.0044dea0
mov eax, dword [ebp - 0x3e58]
test eax, eax
je 0x4cfc49
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3e58]
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004bad70
mov dword [ebp - 0x3e58], eax
test eax, eax
jne 0x4cfc22
jmp case.default.0x4d415a
lea eax, [edx - 0x18]
mov dx, word [ebp - 0x20a6]
mov word [ebp - 0x20a4], ax
movzx eax, word [ebp - 0x20a2]
mov esi, dword [ebp - 0x3e54]
push eax
mov eax, dword [ebp - 0x3e44]
add eax, 0xffffffe8
movzx ecx, si
movzx eax, ax
cmp edi, 0x18
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x20aa]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
add esp, 0x20
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e84]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044cbe0
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004bb480
jmp case.0x4cf652.2
mov eax, dword [0x608f18]
mov dword [0x6190f0], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044bf70
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044cbe0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca20
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044cbe0
mov ecx, dword [0x61aa84]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.005326f0
test eax, eax
je 0x4cfd87
mov dword [ebp - 0x3e5f], 0xc
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4cf652.2
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004ba4e0
mov dword [ebp - 0x3e58], eax
test eax, eax
je 0x4cfdd8
mov dword [ebp - 0x3e5f], 6
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4cf652.2
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, edi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00481ce0
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14fb4], ecx
mov ecx, dword [ebp - 0x3e50]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], ecx
lea ecx, [ebp - 0x408c]
call fcn.004716f0
lea eax, [ebp - 0x408c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov byte [ebp - 0x3f64], 0x3f
lea edx, [ebp - 0x3f64]
mov eax, dword [edi + 0x238]
mov edi, dword [ebp - 0x3e40]
mov dword [ebp - 0x3f63], eax
push 0
push 0
mov ecx, dword [edi + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test esi, esi
jne 0x4cfeae
mov eax, dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e8b], eax
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e8c]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d415a
cmp esi, 1
jne 0x4cfeda
mov dword [ebp - 0x3e5f], esi
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d415a
cmp esi, 2
jne 0x4cff06
mov dword [ebp - 0x3e5f], esi
lea edx, [ebp - 0x3e50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
cmp esi, 3
jne 0x4cff32
mov dword [ebp - 0x3e5f], esi
lea edx, [ebp - 0x3e50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
cmp esi, 0xa
jne 0x4cff5e
mov dword [ebp - 0x3e5f], esi
lea edx, [ebp - 0x3e50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
cmp esi, 0x14
jne 0x4cffaf
mov dword [ebp - 0x3e5f], 0xc
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [eax + 4]
push edx
push 5
call eax
mov ecx, dword [0x61aa84]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.00532930
mov ecx, dword [0x61aa84]
call fcn.005328b0
jmp case.default.0x4d415a
cmp esi, 0xffffffff
jne case.default.0x4d415a
mov dword [ebp - 0x3e5f], esi
lea edx, [ebp - 0x3e50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4094]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4094]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov eax, dword [0x608f18]
mov dword [0x6190f0], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044bf70
cmp dword [esi + 0x7c], 0
mov eax, 0x3e8
mov edi, dword [0x61aa88]
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push 0x20
push eax
mov dword [ebp - 0x3e44], edi
call fcn.0044cbe0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca20
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044cbe0
mov ecx, dword [0x61aa84]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.005326f0
test eax, eax
je 0x4d0091
mov dword [ebp - 0x3e5f], 0xc
mov ecx, dword [esi + 0x34]
jmp 0x4cfebc
mov ecx, dword [esi + 0x48]
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d00fe
mov edi, dword [ebp - 0x3e40]
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
test eax, eax
je 0x4d00ea
mov edi, dword [ebp - 0x3ea0]
nop word [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14fb4]
jne 0x4d00cf
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044dd50
test eax, eax
jne 0x4d00c0
mov dword [ebp - 0x3ea0], edi
mov edi, dword [ebp - 0x3e40]
mov ecx, dword [edi + 0x48]
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d00a5
mov edi, dword [ebp - 0x3e44]
cmp dword [ebp - 0x3ea0], edi
jl 0x4d011e
mov eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3e5f], 0xd
mov ecx, dword [eax + 0x34]
jmp 0x4cfebc
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5c7558]
lahf
test ah, 0x44
jnp 0x4d014b
mov eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3e5f], 5
mov ecx, dword [eax + 0x34]
jmp 0x4cfebc
mov esi, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3e38]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004ba4e0
mov ecx, eax
mov dword [ebp - 0x3e58], ecx
test ecx, ecx
je 0x4d018b
mov dword [ebp - 0x3e5f], 6
mov ecx, dword [esi + 0x34]
jmp 0x4cfebc
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
push dword [ebp - 0xf07]
lea eax, [ebp - 0xf8f]
mov ecx, edi
push 0
push 0
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00481ce0
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14fb4], ecx
cmp dword [edi + 0x14fa4], 1
jne 0x4d0209
lea ecx, [ebp - 0x2140]
call fcn.005157a0
lea ecx, [edi + 0x14f94]
push ecx
lea ecx, [ebp - 0x2140]
call fcn.00515800
test eax, eax
jg 0x4d0227
mov dword [edi + 0x14fa4], 0
test esi, esi
jne 0x4d023f
mov eax, dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e8b], eax
mov eax, dword [ebp - 0x3e40]
mov ecx, dword [eax + 0x34]
jmp 0x4cfe90
mov eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3e5f], 7
mov ecx, dword [eax + 0x34]
jmp 0x4cfebc
cmp esi, 1
jne 0x4d0271
mov dword [ebp - 0x3e5f], esi
mov eax, dword [ebp - 0x3e40]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d415a
cmp esi, 2
jne 0x4d027e
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
cmp esi, 3
jne 0x4d028b
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
cmp esi, 4
jne 0x4d0298
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
cmp esi, 0xffffffff
jne 0x4d02a5
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
cmp esi, 0xa
jne 0x4d02b2
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
cmp esi, 0x14
jne 0x4d02cf
mov eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3e5f], 0xc
mov ecx, dword [eax + 0x34]
jmp 0x4cff70
cmp esi, 0xb
jne case.default.0x4d415a
mov dword [ebp - 0x3e5f], esi
jmp 0x4d024a
mov eax, dword [ebp - 0x3e3c]
cmp dword [ebp - 0xfaf], eax
jne case.0x4cf652.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, esi
call fcn.004e4bf0
jmp case.0x4cf652.2
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x409c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x409c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d0368
dec eax
or eax, 0xfffffff8
inc eax
mov byte [ebp - 0xfaf], al
movsx eax, al
imul ecx, eax, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
jle 0x4d04f6
mov dword [ebp - 0x2003], eax
lea edx, [ebp - 0x3e50]
mov eax, dword [ecx + edi + 0x2c0]
mov dword [ebp - 0x1fff], eax
mov al, byte [ecx + edi + 0x2cc]
mov byte [ebp - 0x1ff3], al
mov al, byte [ecx + edi + 0x2cd]
mov byte [ebp - 0x1ff2], al
mov al, byte [ecx + edi + 0x2ce]
mov byte [ebp - 0x1ff1], al
mov eax, dword [ecx + edi + 0x2c4]
mov dword [ebp - 0x1ffb], eax
mov al, byte [ecx + edi + 0x2cf]
mov byte [ebp - 0x1ff0], al
mov al, byte [ecx + edi + 0x2d0]
mov byte [ebp - 0x1fef], al
mov al, byte [ecx + edi + 0x2d1]
mov byte [ebp - 0x1fee], al
mov eax, dword [ecx + edi + 0x2c8]
mov dword [ebp - 0x1ff7], eax
mov al, byte [ecx + edi + 0x2d2]
mov byte [ebp - 0x1fed], al
mov al, byte [ecx + edi + 0x2d3]
mov byte [ebp - 0x1fec], al
mov al, byte [ecx + edi + 0x2d4]
mov byte [ebp - 0x1feb], al
movups xmm0, xmmword [ecx + edi + 0x2a0]
push edx
push 0
movups xmmword [ebp - 0x1fe8], xmm0
lea edx, [ebp - 0x2004]
movq xmm0, qword [ecx + edi + 0x2b0]
movq qword [ebp - 0x1fd8], xmm0
mov eax, dword [ecx + edi + 0x2b8]
mov dword [ebp - 0x1fd0], eax
movzx eax, word [ecx + edi + 0x2bc]
mov word [ebp - 0x1fcc], ax
mov al, byte [ecx + edi + 0x2be]
mov byte [ebp - 0x1fca], al
mov byte [ebp - 0x1fc9], 0
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0x1fc8], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0x1fc7], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0x1fc6], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0x1fc5], al
movzx eax, word [ecx + edi + 0x318]
mov word [ebp - 0x1fea], ax
cvttss2si eax, dword [ecx + edi + 0x300]
push edx
push 0x4d
mov dword [ebp - 0x1fc4], eax
mov ecx, dword [ecx + edi + 0x2d8]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x1fc0], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x1fbc], eax
jmp 0x4d0512
lea edx, [ebp - 0x3e50]
mov dword [ebp - 0x3e5f], 1
push edx
push 0
lea edx, [ebp - 0x3e60]
push edx
push 5
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d0572
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d0579
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d05cf
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d05d6
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d062c
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d0633
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d0689
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d0690
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d06e6
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d06ed
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d0743
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d074a
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d07a0
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d07a7
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d07fd
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
jmp 0x4d0804
mov byte [ebp - 0x1ed3], 0
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x1fb4]
mov eax, dword [ecx]
push edx
push 0x101
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x4138], 0x4c
lea edx, [ebp - 0x3e50]
movzx eax, word [edi + 0x14f84]
mov dword [ebp - 0x4137], eax
movzx eax, word [edi + 0x14f86]
mov dword [ebp - 0x4133], eax
movzx eax, word [edi + 0x14f8a]
mov dword [ebp - 0x412f], eax
movzx eax, word [edi + 0x14f88]
mov dword [ebp - 0x412b], eax
movzx eax, word [edi + 0x14f8c]
mov dword [ebp - 0x4127], eax
movzx eax, word [edi + 0x14f8e]
mov dword [ebp - 0x4123], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4138]
mov eax, dword [ecx]
push edx
push 0x19
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40a4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40a4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d08da
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e3c]
mov ecx, esi
mov dword [ebp - 0xfaf], eax
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d090c
cmp eax, 7
jle 0x4d0916
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044cbe0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044ca20
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044c870
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d300
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d1b69
lea eax, [ebp - 0xf94]
push eax
call fcn.0044e9d0
add esp, 4
test eax, eax
jne 0x4d098a
mov dword [ebp - 0x3e5f], 7
mov ecx, dword [esi + 0x34]
jmp 0x4d0253
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfab]
mov dword [ecx + edi + 0x2c0], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + edi + 0x2cc], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + edi + 0x2cd], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9d]
mov byte [ecx + edi + 0x2ce], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + edi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9c]
mov byte [ecx + edi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9b]
mov byte [ecx + edi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9a]
mov byte [ecx + edi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa3]
mov dword [ecx + edi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf99]
mov byte [ecx + edi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf98]
mov byte [ecx + edi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf97]
mov byte [ecx + edi + 0x2d4], al
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf74]
mov dword [eax + edi + 0x2e8], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf73]
mov dword [eax + edi + 0x2ec], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf72]
mov dword [eax + edi + 0x2f0], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf71]
mov dword [eax + edi + 0x2f4], ecx
mov ecx, edi
push dword [ebp - 0xfaf]
call fcn.00484780
imul ecx, dword [ebp - 0xfaf], 0x980
movups xmm0, xmmword [ebp - 0xf94]
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0xf74], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0xf73], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0xf72], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0xf71], al
movups xmmword [ecx + edi + 0x2a0], xmm0
movq xmm0, qword [ebp - 0xf84]
movq qword [ecx + edi + 0x2b0], xmm0
mov eax, dword [ebp - 0xf7c]
mov dword [ecx + edi + 0x2b8], eax
mov ax, word [ebp - 0xf78]
mov word [ecx + edi + 0x2bc], ax
mov al, byte [ebp - 0xf76]
mov byte [ecx + edi + 0x2be], al
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [eax + edi + 0x2bf], 0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044e6b0
add esp, 4
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0xf6c], xmm0
mov word [ebp - 0xf96], ax
mov dword [ebp - 0xf70], eax
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 0x4d
mov eax, dword [eax + 4]
call eax
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2d8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e44], eax
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d0c3f
mov edi, dword [ebp - 0x3e44]
push esi
mov ecx, edi
call fcn.0044dea0
test esi, esi
je 0x4d0c2c
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044dcb0
mov esi, eax
test esi, esi
jne 0x4d0c16
mov edi, dword [ebp - 0x3e58]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2dc]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e44], eax
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d0c99
mov edi, dword [ebp - 0x3e44]
nop dword [eax]
push esi
mov ecx, edi
call fcn.0044dea0
test esi, esi
je 0x4d0c86
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044dcb0
mov esi, eax
test esi, esi
jne 0x4d0c70
mov edi, dword [ebp - 0x3e58]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e0]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e44], eax
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d0cef
mov edi, dword [ebp - 0x3e44]
push esi
mov ecx, edi
call fcn.0044dea0
test esi, esi
je 0x4d0cdc
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044dcb0
mov esi, eax
test esi, esi
jne 0x4d0cc6
mov edi, dword [ebp - 0x3e58]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e4]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e44], eax
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d0d49
mov edi, dword [ebp - 0x3e44]
nop dword [eax]
push esi
mov ecx, edi
call fcn.0044dea0
test esi, esi
je 0x4d0d36
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044dcb0
mov esi, eax
test esi, esi
jne 0x4d0d20
mov edi, dword [ebp - 0x3e58]
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
mov byte [eax + edi + 0x344], 0xff
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [eax + edi + 0x378], 0xff
imul eax, dword [ebp - 0xfaf], 0x980
add eax, 0x334
add eax, edi
push eax
call fcn.004b0c30
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b0c30
push 0x120
call fcn.00554883
add esp, 0x14
mov dword [ebp - 0x41b4], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d0dd4
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d0dd6
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0x40000000
mov dword [edx + 0x30], 0x3f800000
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d0e8a
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41c8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d0ec9
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d0ecb
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0x40000000
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x3f800000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d0f7f
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41c4], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d0fbe
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d0fc0
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0x3f800000
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x3f800000
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0x3f800000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d1074
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41c0], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d10b3
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d10b5
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x40000000
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x3f800000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d1169
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41bc], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d11a8
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d11aa
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x3f800000
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0x40000000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d125e
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41b8], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4d129d
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d129f
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x3f800000
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0x40000000
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d1353
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41b0], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d1392
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d1394
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x3f800000
mov dword [edx + 0x20], 0x40000000
mov dword [edx + 0x24], 0x3f800000
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x40000000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d1448
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41ac], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d1487
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d1489
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x40000000
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0x3f800000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0x40000000
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d153d
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.0052ff00
push 0x120
call fcn.00554883
add esp, 8
mov dword [ebp - 0x41a8], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d157c
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d157e
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x3f800000
mov dword [eax + 0x10], 0x3f800000
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [eax], 0x80
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 4
imul eax, dword [ebp - 0xfaf], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044daf0
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d167d
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41a4], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d1629
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d162b
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], 3
mov dword [eax + 8], 0x3f000000
mov dword [eax + 4], 1
mov dword [eax + 0x14], 0x80
mov dword [eax + 0x18], 0x80
mov dword [eax + 0x10], 0x80
mov dword [ecx + 0x108], 0x40000000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 1
jmp 0x4d170b
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41a0], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d16a7
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d16a9
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
mov dword [eax + 8], 0x40040000
mov dword [eax + 4], 1
mov dword [eax + 0x14], 0x80
mov dword [eax + 0x18], 0x80
mov dword [eax + 0x10], 0x80
mov dword [eax + 0x34], 0xf
mov dword [eax + 0x38], 0x3e8
mov dword [ecx + 0x108], 0x40000000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 1
mov dword [eax + 0x3c], 0xd
imul eax, dword [ebp - 0xfaf], 0x980
push ecx
mov byte [ebp - 4], 0
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044daf0
imul eax, dword [ebp - 0xfaf], 0x980
xor ecx, ecx
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x18], 0x64
mov dword [eax + 0x1c], 0
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2fc], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2f8], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x31c], 0
imul eax, dword [ebp - 0xfaf], 0x980
mov word [eax + edi + 0x318], cx
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [ebp - 0xf64], 1
mov dword [eax + edi + 0xbd0], 1
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [ebp - 0xf70], ecx
mov dword [eax + edi + 0x300], ecx
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x304], ecx
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [0x5fc768]
mov dword [ecx + edi + 0x310], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ecx + edi + 0x310]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [0x5fc76c]
mov dword [ecx + edi + 0x314], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ecx + edi + 0x314]
mov dword [ecx + edi + 0x30c], eax
mov ecx, edi
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0xc10], 0
call fcn.0048a010
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d18ad
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d18b4
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d190a
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d1911
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d1967
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d196e
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d19c4
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d19cb
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d1a21
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d1a28
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d1a7e
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d1a85
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d1adb
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d1ae2
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d1b38
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
jmp 0x4d1b3f
mov byte [ebp - 0x1ed3], 0
mov eax, dword [ebp - 0x3e40]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x1fb4]
mov eax, dword [eax + 4]
push edx
push 0x101
call eax
jmp case.default.0x4d415a
mov dword [ebp - 0x3e5f], 2
mov ecx, dword [esi + 0x34]
jmp 0x4d0253
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40ac]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40ac]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d1bda
dec eax
or eax, 0xfffffff8
inc eax
mov byte [ebp - 0xfaf], al
movsx eax, al
imul eax, eax, 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
jle 0x4d1cc6
add eax, 0x2a0
add eax, edi
push eax
call fcn.0044ead0
add esp, 4
lea eax, [ebp - 0x3f7c]
mov ecx, esi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bab90
test eax, eax
je 0x4d1c51
lea eax, [ebp - 0x3f7c]
mov ecx, esi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004ba000
movsx eax, byte [ebp - 0xfaf]
mov ecx, edi
imul eax, eax, 0x980
mov dword [eax + edi + 0x2c4], 0xffffffff
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + edi + 0xc10], 0
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + edi + 0xc0c], 0
call fcn.0048a010
mov dword [ebp - 0x3e5f], 1
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e60]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d1d1c
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d1d23
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d1d79
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d1d80
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d1dd6
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d1ddd
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d1e33
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d1e3a
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d1e90
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d1e97
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d1eed
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d1ef4
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d1f4a
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d1f51
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d1fad
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
mov ecx, dword [esi + 0x34]
jmp 0x4d1b48
mov byte [ebp - 0x1ed3], 0
mov ecx, dword [esi + 0x34]
jmp 0x4d1b48
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40b4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40b4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d1ffd
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e3c]
mov ecx, esi
mov dword [ebp - 0xfaf], eax
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d202f
cmp eax, 7
jle 0x4d2037
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [ebp - 0xfab]
lea edx, [ebp - 0x3e50]
mov dword [ecx + edi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa3]
push edx
push 0
lea edx, [ebp - 0x2004]
push edx
push 0x4d
mov byte [ecx + edi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa2]
mov byte [ecx + edi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa1]
mov byte [ecx + edi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + edi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa0]
mov byte [ecx + edi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + edi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + edi + 0x2d4], al
mov eax, dword [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [ebp - 0x2003], eax
mov eax, dword [ecx + edi + 0x2c0]
mov dword [ebp - 0x1fff], eax
mov al, byte [ecx + edi + 0x2cc]
mov byte [ebp - 0x1ff3], al
mov al, byte [ecx + edi + 0x2cd]
mov byte [ebp - 0x1ff2], al
mov al, byte [ecx + edi + 0x2ce]
mov byte [ebp - 0x1ff1], al
mov eax, dword [ecx + edi + 0x2c4]
mov dword [ebp - 0x1ffb], eax
mov al, byte [ecx + edi + 0x2cf]
mov byte [ebp - 0x1ff0], al
mov al, byte [ecx + edi + 0x2d0]
mov byte [ebp - 0x1fef], al
mov al, byte [ecx + edi + 0x2d1]
mov byte [ebp - 0x1fee], al
mov eax, dword [ecx + edi + 0x2c8]
mov dword [ebp - 0x1ff7], eax
mov al, byte [ecx + edi + 0x2d2]
mov byte [ebp - 0x1fed], al
mov al, byte [ecx + edi + 0x2d3]
mov byte [ebp - 0x1fec], al
mov al, byte [ecx + edi + 0x2d4]
mov byte [ebp - 0x1feb], al
movups xmm0, xmmword [ecx + edi + 0x2a0]
movups xmmword [ebp - 0x1fe8], xmm0
movq xmm0, qword [ecx + edi + 0x2b0]
movq qword [ebp - 0x1fd8], xmm0
mov eax, dword [ecx + edi + 0x2b8]
mov dword [ebp - 0x1fd0], eax
movzx eax, word [ecx + edi + 0x2bc]
mov word [ebp - 0x1fcc], ax
mov al, byte [ecx + edi + 0x2be]
mov byte [ebp - 0x1fca], al
mov byte [ebp - 0x1fc9], 0
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0x1fc8], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0x1fc7], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0x1fc6], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0x1fc5], al
movzx eax, word [ecx + edi + 0x318]
mov word [ebp - 0x1fea], ax
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.0048a010
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d1d1c
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d1d23
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40bc]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40bc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
push 0x5ba63c
push str.bugs.txt
call fcn.00561dfc
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.00581191
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0x13b0]
push eax
call fcn.00581388
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d330
add esp, 0x28
cmp byte [ebp - 0xfad], 0
je 0x4d2349
push 0x5c293c
jmp 0x4d234e
push 0x5c2940
push esi
call fcn.0043d330
add esp, 8
cmp byte [ebp - 0xfaf], 0
je 0x4d2367
push 0x5c2944
jmp 0x4d236c
push 0x5c2940
push esi
call fcn.0043d330
add esp, 8
cmp byte [ebp - 0xfac], 0
je 0x4d2385
push 0x5c2948
jmp 0x4d238a
push 0x5c2940
push esi
call fcn.0043d330
add esp, 8
cmp byte [ebp - 0xfae], 0
je 0x4d23a3
push 0x5c294c
jmp 0x4d23a8
push 0x5c2940
push esi
call fcn.0043d330
add esp, 8
cmp byte [ebp - 0xfab], 0
je 0x4d23c1
push 0x5c2950
jmp 0x4d23c6
push 0x5c2940
push esi
call fcn.0043d330
add esp, 8
lea eax, [ebp - 0xfaa]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0xf3b]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0xecc]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0xe5d]
push eax
push str._s__n
push esi
call fcn.0043d330
push esi
call fcn.00561aa9
mov esi, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3e38]
add esp, 0x34
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x25ea]
push str.Thanks_for_your_bug_report___s_
push eax
call fcn.0043d360
add esp, 0xc
mov byte [ebp - 0x25eb], 0xfc
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x25ec]
push 0
push edx
push 0x92
mov eax, dword [eax + 4]
call eax
mov dword [edi + 0x258], 0
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40c4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40c4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d24e7
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e3c]
mov ecx, esi
mov byte [ebp - 0xfaf], al
call fcn.004bad70
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e50]
mov dword [ebp - 0x3e8b], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e8c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
mov ecx, edi
mov dword [edi + 0x188], eax
imul eax, eax, 0x980
push 0
push 0
mov eax, dword [eax + edi + 0x308]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
call fcn.00489440
push dword [ebp - 0x3e3c]
mov ecx, esi
push 1
call fcn.004e31f0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
call fcn.00515840
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x38c
add ecx, edi
call fcn.00515840
lea ecx, [ebp - 0x2150]
call fcn.005157a0
imul ecx, dword [edi + 0x188], 0x980
lea eax, [ebp - 0x2150]
push eax
add ecx, 0x324
add ecx, edi
call fcn.00515800
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*2]
add eax, eax
add dword [ecx + edi + 0x2fc], eax
mov eax, dword [edi + 0x188]
imul ecx, eax, 0x980
mov edx, dword [ecx + edi + 0x2fc]
mov esi, dword [ecx + edi + 0x2f8]
cmp edx, esi
jg 0x4d2639
test edx, edx
jns 0x4d2646
mov dword [ecx + edi + 0x2fc], esi
mov eax, dword [edi + 0x188]
imul eax, eax, 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x20], 0
push dword [edi + 0x14fb4]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [edi + 0x243]
push eax
movzx eax, byte [edi + 0x242]
push eax
movzx eax, byte [edi + 0x241]
push eax
movzx eax, byte [edi + 0x240]
push eax
lea eax, [ebp - 0x13b0]
push str._new_connection_from_IP__d._d._d._d:__s___s___d
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
mov eax, dword [edi + 0x14f34]
add esp, 0x2c
cmp eax, 2
je 0x4d26ce
cmp eax, 3
jne 0x4d26e2
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a0f20
add esp, 8
lea ecx, [ebp - 0x208c]
call fcn.005157a0
mov ecx, dword [ebp - 0x2084]
add ecx, 0x13
movzx eax, cx
movzx esi, cx
mov edx, eax
mov dword [ebp - 0x3e54], edx
movzx edx, cx
mov dword [ebp - 0x3e44], edx
mov word [ebp - 0x2084], cx
cmp eax, 0x18
jae 0x4d2731
mov dx, word [ebp - 0x2086]
mov eax, 0xffff
add dx, ax
mov word [ebp - 0x2086], dx
jmp 0x4d2742
lea eax, [edx - 0x18]
mov dx, word [ebp - 0x2086]
mov word [ebp - 0x2084], ax
movzx eax, word [ebp - 0x2082]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x3e44]
add eax, 0xffffffe8
cmp word [ebp - 0x3e54], 0x18
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x208a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
mov edi, dword [ebp - 0x3e58]
add esp, 0x20
mov eax, dword [edi + 0x14f34]
cmp eax, 2
je 0x4d27ae
cmp eax, 3
jne 0x4d27c2
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a0f20
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e40]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d2843
cmp dword [esi + 0x110], 0x12
jne 0x4d2824
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d27f7
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d28ae
cmp dword [esi + 0x110], 0x12
jne 0x4d288f
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d2862
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d291c
nop dword [eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d28fd
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d28d0
mov eax, dword [ebp - 0x3e40]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044db90
imul ecx, dword [edi + 0x188], 0x980
mov esi, eax
mov dword [ebp - 0x3e38], esi
cmp dword [ecx + edi + 0x31c], 1
jle 0x4d2958
add ecx, 0x2a0
add ecx, edi
push ecx
push str._s_entered_the_game.
jmp 0x4d2966
lea eax, [edi + 0x2a0]
add eax, ecx
push eax
push str.___s_begins_life___
lea eax, [ebp - 0x206b]
push eax
call fcn.00471010
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
lea eax, [ebp - 0x206b]
push str.Welcome_to_Blade_Mistress.__Check_out_our_discord_for_all_your_needs__https:__discord.gg_zh7Hrhv64B
push eax
call fcn.00471010
mov esi, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push edi
mov ecx, esi
mov dword [edi + 0x258], 0
call fcn.004de040
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x4d2dce
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0xc10], 0
jle 0x4d2dce
mov esi, dword [eax + edi + 0xc00]
mov ecx, dword [eax + edi + 0xc04]
movss xmm0, dword [eax + edi + 0xbfc]
mov dword [ebp - 0x3e44], ecx
lea eax, [esi + esi*2]
movss dword [ebp - 0x3e68], xmm0
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x3e54], eax
je 0x4d30c4
push 0x2c8
call fcn.00554883
add esp, 4
mov dword [ebp - 0x419c], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d2a7f
push 0
push 0
push dword [ebp - 0x3e44]
mov ecx, eax
push esi
call fcn.004955d0
mov esi, eax
jmp 0x4d2a81
xor esi, esi
imul eax, dword [edi + 0x188], 0x980
lea ecx, [edi + 0xbd4]
mov byte [ebp - 4], 0
add ecx, eax
cmp ecx, str.NO_NAME
je 0x4d2ab3
push 0x20
lea eax, [esi + 0x184]
push eax
push 0x20
push ecx
call fcn.0044c9c0
add esp, 0x10
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x4d2b48
imul eax, dword [edi + 0x188], 0x980
lea edx, [edi + 0x2a0]
add edx, eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3e44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d2ae0
sub ecx, dword [ebp - 0x3e44]
lea eax, [esi + 0x184]
push ecx
push eax
push edx
call fcn.00584520
add esp, 0xc
test eax, eax
je 0x4d2b48
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x3e54]
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d360
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
add esp, 0x20
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e38]
movss xmm0, dword [ebp - 0x3e68]
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc14]
mov dword [esi + 0x1b4], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc1c]
mov dword [esi + 0x1bc], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1ac], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1b0], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc18]
mov dword [esi + 0x1b8], eax
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf7]
mov byte [esi + 0x1a7], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf6]
mov byte [esi + 0x1a6], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf5]
mov byte [esi + 0x1a5], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf4]
mov byte [esi + 0x1a4], al
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + 0x118]
mov eax, dword [eax + edi + 0xbf8]
mov dword [esi + 0x1a8], eax
movss dword [esi + 0x1f4], xmm0
call fcn.00515a10
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov byte [ebp - 0x3f0c], 0x18
mov dword [ebp - 0x3f0b], esi
call fcn.0044c2c0
mov ecx, dword [ebp - 0x3e38]
mov byte [ebp - 0x3f07], al
movzx eax, word [esi + 0x220]
mov word [ebp - 0x3f06], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x3f04], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3f01], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x3f00], al
lea eax, [ebp - 0x3f0c]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c140
push dword [ebp - 0x3e38]
mov ecx, esi
call fcn.00495dc0
mov byte [ebp - 0x3efc], 0x38
mov dword [ebp - 0x3efb], 0xffffffff
mov dword [ebp - 0x3ef7], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3ef3], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x3ef2], al
lea eax, [ebp - 0x3efc]
mov word [ebp - 0x3ef1], 0xff
mov dword [ebp - 0x3eef], 0x100ff
jmp 0x4d308e
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f4], 9
jle 0x4d30ca
mov ecx, edi
call fcn.00480790
mov ecx, edi
mov dword [ebp - 0x3e54], eax
call fcn.004806c0
mov ecx, dword [ebp - 0x3e54]
mov esi, eax
cmp ecx, 1
jge 0x4d2e16
mov ecx, 1
xor esi, esi
mov dword [ebp - 0x3e54], ecx
jmp 0x4d2e35
test esi, esi
jle 0x4d2e35
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
cmp byte [eax], 0
jne 0x4d2e35
dec esi
sub eax, 0x64
test esi, esi
jg 0x4d2e28
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x3e44], eax
je 0x4d30c4
push 0x2c8
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x4198], ecx
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x4d2e89
mov eax, dword [ebp - 0x3e54]
push 0
push 0
push esi
push eax
call fcn.004955d0
mov esi, eax
jmp 0x4d2e8b
xor esi, esi
push dword [ebp - 0x3e44]
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 4], 0
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d360
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
imul eax, dword [edi + 0x188], 0x980
add esp, 0x20
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
mov eax, dword [ebp - 0x3e38]
mov byte [esi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.00515a10
cmp dword [esi + 0x1b4], 4
jge 0x4d2f92
mov dword [esi + 0x1b4], 4
mov dword [esi + 0x234], 1
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov dword [esi + 0x238], 0x2710
mov byte [ebp - 0x3f2c], 0x18
mov dword [ebp - 0x3f2b], esi
call fcn.0044c2c0
mov byte [ebp - 0x3f27], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x3e38]
mov word [ebp - 0x3f26], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x3f24], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3f21], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x3f20], al
lea eax, [ebp - 0x3f2c]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c140
push dword [ebp - 0x3e38]
mov ecx, esi
call fcn.00495dc0
mov byte [ebp - 0x3ee8], 0x38
mov dword [ebp - 0x3ee7], 0xffffffff
mov dword [ebp - 0x3ee3], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3edf], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x3ede], al
lea eax, [ebp - 0x3ee8]
mov word [ebp - 0x3edd], 0xff
mov dword [ebp - 0x3edb], 0x100ff
mov ecx, dword [ebp - 0x3e38]
push 0
push 5
push eax
push 0x11
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c140
mov dword [edi + 0x14f70], esi
mov dword [esi + 0x21c], edi
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x3e40]
cmp dword [edi + 0x14f34], 1
jne 0x4d30f8
mov word [ebp - 0x4144], 0x3e
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4144]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x4d3129
mov word [ebp - 0x4150], 0x33e
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4150]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3f34], 0x50
lea edx, [ebp - 0x3e50]
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x3f33], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3f34]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3f3c], 0x52
lea edx, [ebp - 0x3e50]
mov eax, dword [esi + 0xc8]
mov dword [ebp - 0x3f3b], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3f3c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
lea eax, [ebp - 0x31ef]
mov byte [ebp - 0x31f0], 0x59
xor esi, esi
mov dword [ebp - 0x3e54], eax
nop dword [eax]
push 0
push eax
imul eax, dword [edi + 0x188], 0x980
lea ecx, [edi + 0x43c]
add eax, esi
add ecx, eax
call fcn.00524de0
mov eax, dword [ebp - 0x3e54]
add esi, 0x138
add eax, 0x200
mov dword [ebp - 0x3e54], eax
cmp esi, 0x750
jl 0x4d31a0
mov esi, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x31f0]
mov ecx, dword [esi + 0x34]
push edx
push 0xc01
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14fac], 0
jne case.default.0x4d415a
cmp dword [edi + 0x14f48], 0
je case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.00471010
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
push str.command_to_reward_the_player_who_introduced_you_to_Blade_Mistress.
lea eax, [ebp - 0x206b]
push eax
call fcn.00471010
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x206c]
push edx
push 0x65
call eax
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40cc]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40cc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
push dword [ebp - 0x3e3c]
mov ecx, esi
push 0
call fcn.004e31f0
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._log_off_character:__s___s
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
mov eax, dword [edi + 0x14f34]
add esp, 0x18
cmp eax, 2
je 0x4d332f
cmp eax, 3
jne 0x4d3343
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a0f20
add esp, 8
lea ecx, [ebp - 0x207c]
call fcn.005157a0
mov ecx, dword [ebp - 0x2074]
add ecx, 0x13
movzx eax, cx
movzx esi, cx
mov edx, eax
mov dword [ebp - 0x3e54], edx
movzx edx, cx
mov dword [ebp - 0x3e44], edx
mov word [ebp - 0x2074], cx
cmp eax, 0x18
jae 0x4d3392
mov dx, word [ebp - 0x2076]
mov eax, 0xffff
add dx, ax
mov word [ebp - 0x2076], dx
jmp 0x4d33a3
lea eax, [edx - 0x18]
mov dx, word [ebp - 0x2076]
mov word [ebp - 0x2074], ax
movzx eax, word [ebp - 0x2072]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x3e44]
add eax, 0xffffffe8
cmp word [ebp - 0x3e54], 0x18
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x207a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.0044c680
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a0f20
mov edi, dword [ebp - 0x3e58]
add esp, 0x20
mov eax, dword [edi + 0x14f34]
cmp eax, 2
je 0x4d340f
cmp eax, 3
jne 0x4d3423
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a0f20
add esp, 8
mov esi, dword [ebp - 0x3e38]
mov ecx, edi
push 0
push esi
call fcn.00471e70
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_left_the_game.
push eax
call fcn.00471010
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
push 0
push esi
mov ecx, edi
call fcn.00489440
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d34cc
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d34a3
cmp dword [esi + 0x124], eax
jg 0x4d34cc
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x108]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x10c]
jmp 0x4d3528
mov ecx, esi
call fcn.0044c2c0
imul ecx, dword [edi + 0x188], 0x980
cmp eax, 3
jne 0x4d3509
mov eax, dword [esi + 0x12c]
mov dword [ecx + edi + 0x308], eax
mov ecx, dword [esi + 0x130]
dec ecx
imul eax, dword [edi + 0x188], 0x980
mov dword [eax + edi + 0x30c], ecx
jmp 0x4d352f
mov eax, dword [ecx + edi + 0x310]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [ecx + edi + 0x314]
mov dword [ecx + edi + 0x30c], eax
mov ecx, edi
call fcn.0048a010
mov eax, dword [edi + 0x14f70]
test eax, eax
je case.default.0x4d415a
mov dword [eax + 0x23c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x240], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x244], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x248], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x24c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x250], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x254], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x258], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x25c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x260], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x1c0], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x220], 0x19
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x124], 1
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x21c], 0
mov dword [edi + 0x14f70], 0
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40d4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40d4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d3718
mov eax, dword [ecx + edi + 0x2d8]
cmp dword [eax + 0x20], 0
je 0x4d36f2
cmp dword [ebp - 0xfaa], 6
jne 0x4d36f2
mov eax, dword [ebp - 0xfaf]
mov ecx, esi
mov dword [edi + 0x14ee8], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
push dword [eax + 0x28]
push edi
call fcn.004de240
jmp case.default.0x4d415a
mov ecx, dword [edi + 0x14ec8]
mov eax, dword [ebp - 0xfaf]
mov dword [edi + ecx*4 + 0x14ed0], eax
mov ecx, esi
push dword [ebp - 0xfaa]
push edi
call fcn.004de240
jmp case.default.0x4d415a
cmp al, 1
jne 0x4d372b
push 1
mov ecx, esi
push edi
call fcn.004de240
jmp case.default.0x4d415a
cmp al, 2
jne 0x4d373e
push 2
push edi
mov ecx, esi
call fcn.004de240
jmp case.default.0x4d415a
cmp al, 3
jne 0x4d3751
push 3
push edi
mov ecx, esi
call fcn.004de240
jmp case.default.0x4d415a
cmp al, 4
jne 0x4d3764
push 4
push edi
mov ecx, esi
call fcn.004de240
jmp case.default.0x4d415a
cmp al, 0xb
jne 0x4d37f3
cmp dword [edi + 0x14f34], 3
jne 0x4d377f
push str.Trial_moderators_cannot_open_any_guild_chests.
jmp 0x4d324f
lea eax, [ebp - 0x3f78]
push eax
lea eax, [ecx + 0x2a0]
mov ecx, esi
add eax, edi
push eax
call fcn.004bab90
test eax, eax
je 0x4d37e9
mov edx, dword [ebp - 0x3f78]
cmp edx, dword [ebp - 0x3e38]
jne 0x4d37e9
imul eax, dword [edi + 0x188], 0x980
push 0xb
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edx + 0x418]
mov dword [ecx + 0x20], eax
mov ecx, esi
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004de240
jmp case.default.0x4d415a
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d324f
cmp al, 9
jne 0x4d3b14
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0xfaa]
call fcn.004ba460
cmp dword [ebp - 0xfaa], 6
mov esi, eax
mov dword [ebp - 0x3e54], eax
jne 0x4d382c
mov esi, dword [edi + 0x14f7c]
mov dword [ebp - 0x3e54], esi
test esi, esi
je case.default.0x4d415a
lea edx, [esi + 0x18c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3e44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3845
sub ecx, dword [ebp - 0x3e44]
cmp ecx, 1
jb case.default.0x4d415a
lea eax, [edi + 0x18c]
push eax
push edx
call fcn.0044ce60
add esp, 8
test eax, eax
jne case.default.0x4d415a
lea ecx, [ebp - 0x2160]
call fcn.005157a0
mov eax, dword [edi + 0x14f7c]
test eax, eax
jne 0x4d3abd
cmp dword [esi + 0x14f7c], eax
jne 0x4d3abd
mov dword [edi + 0x14f7c], esi
mov dword [esi + 0x14f7c], edi
mov dword [edi + 0x14f80], eax
mov dword [esi + 0x14f80], eax
mov dword [edi + 0x14ef4], eax
mov dword [edi + 0x14ef0], eax
mov eax, dword [esi + 0x14f74]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov eax, dword [edi + 0x14f74]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov byte [ebp - 0x2130], 0x53
imul eax, dword [esi + 0x188], 0x980
add esi, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str.You_begin_trading_with__s.
push eax
call fcn.0044c680
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
mov esi, dword [ebp - 0x3e38]
lea edx, [ebp - 0x3e50]
add esp, 0x1c
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e54]
imul eax, dword [ecx + 0x188], 0x980
add ecx, 0x2a0
add eax, ecx
push eax
lea eax, [ebp - 0x212f]
push eax
call fcn.004a1100
add esp, 8
mov byte [ebp - 0x2125], 0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x3e50]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x2130]
push 0
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40dc]
mov dword [ebp - 0x3e4c], eax
mov eax, dword [ebp - 0x3e54]
push dword [eax + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x40dc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._s_begins_trading_with_you.
push eax
call fcn.0044c680
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x3e50]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x212f]
push eax
call fcn.004a1100
add esp, 8
mov byte [ebp - 0x2125], 0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x3e50]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x2130]
push 0
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e40]
push 9
push edi
call fcn.004de240
mov ecx, dword [ebp - 0x3e40]
push 8
push edi
call fcn.004de240
mov esi, dword [ebp - 0x3e54]
mov ecx, dword [ebp - 0x3e40]
push 9
push esi
call fcn.004de240
mov ecx, dword [ebp - 0x3e40]
push 8
push esi
call fcn.004de240
jmp case.default.0x4d415a
cmp eax, esi
jne 0x4d3ae8
cmp dword [esi + 0x14f7c], edi
jne 0x4d3ae8
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x3e40]
push 9
push edi
mov dword [edi + 0x14ef4], eax
call fcn.004de240
jmp case.default.0x4d415a
cmp dword [esi + 0x14f7c], 0
je case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.00471010
mov eax, dword [ebp - 0x3e40]
mov ecx, dword [eax + 0x34]
jmp 0x4d325e
cmp al, 8
jne 0x4d3b85
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0xfaa]
call fcn.004ba460
cmp dword [ebp - 0xfaa], 6
jne 0x4d3b3b
mov eax, dword [edi + 0x14f7c]
test eax, eax
je case.default.0x4d415a
cmp dword [edi + 0x14f7c], eax
jne 0x4d3b6e
cmp dword [eax + 0x14f7c], edi
jne 0x4d3b6e
mov eax, dword [ebp - 0xfaf]
mov ecx, esi
push 8
push edi
mov dword [edi + 0x14ef0], eax
call fcn.004de240
jmp case.default.0x4d415a
cmp dword [eax + 0x14f7c], 0
je case.default.0x4d415a
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d324f
cmp al, 6
jne 0x4d3c85
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.default.0x4d415a
mov ecx, dword [ebp - 0x3e38]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00515b60
mov esi, eax
test esi, esi
je case.default.0x4d415a
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d415a
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d415a
mov ecx, esi
call fcn.0044c2c0
cmp eax, 2
je 0x4d3c05
mov ecx, esi
call fcn.0044c2c0
cmp eax, 3
je 0x4d3c05
mov ecx, esi
call fcn.0044c2c0
cmp eax, 0x15
jne case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [esi + 0x180]
mov dword [ecx + 0x20], eax
mov ecx, esi
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 0
call fcn.0044c2c0
cmp eax, 2
je 0x4d3c72
mov ecx, esi
call fcn.0044c2c0
cmp eax, 0x15
je 0x4d3c72
mov ecx, esi
call fcn.0044c2c0
cmp eax, 3
jne case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
push 7
push edi
call fcn.004de240
jmp case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
push 6
push edi
call fcn.004de240
jmp case.default.0x4d415a
test al, al
jne case.default.0x4d415a
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4d3cba
lea ecx, [ebp - 0x4194]
push ecx
push eax
mov ecx, esi
call fcn.004badd0
mov edx, eax
test edx, edx
je 0x4d3ce7
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d3cc6
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [ebp - 0x3e38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
push 0
push edi
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004de240
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40e4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40e4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d3dd0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x21c8], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x21c7]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x21c8]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2164], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
mov dword [edi + 0x258], 0
cmp dword [edi + 0x14f7c], 0
jne 0x4d3ee4
cmp byte [ebp - 0xfa2], 0
je 0x4d3ee4
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4d3ee4
cmp dword [eax + 0x28], 0
jne 0x4d3ee4
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3e28
sub ecx, esi
cmp ecx, 1
jbe 0x4d3ede
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3e40
sub ecx, esi
push ecx
push edx
push str.Demon_Amulet
call fcn.00584520
add esp, 0xc
test eax, eax
je 0x4d3ede
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3e70
sub ecx, esi
push ecx
push edx
push str.Dragon_Orchid
call fcn.00584520
add esp, 0xc
test eax, eax
je 0x4d3ede
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3ea0
sub ecx, esi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.00584520
add esp, 0xc
test eax, eax
je 0x4d3ede
lea eax, [ebp - 0x206b]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.00471010
mov eax, dword [ebp - 0x3e38]
mov ecx, dword [eax + 0x11c]
jmp 0x4d325e
mov esi, dword [ebp - 0x3e40]
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [eax + edi + 0x2d8]
mov ecx, esi
push dword [eax + 0x24]
lea eax, [ebp - 0xfb0]
push dword [ebp - 0xfaf]
push eax
push edi
call fcn.004e3330
cmp eax, 1
jne 0x4d40a3
push edi
mov ecx, esi
call fcn.004e6040
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
push dword [eax + 0x28]
push edi
call fcn.004de240
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
cmp dword [eax + 0x28], 0
jne case.default.0x4d415a
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x3e54], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x3e68], eax
mov eax, dword [edi + 0x14f70]
mov dword [ebp - 0x3e64], 0
test eax, eax
je 0x4d3fdb
lea ecx, [ebp - 0x3e64]
push ecx
push eax
mov ecx, esi
call fcn.004badd0
mov ecx, eax
test ecx, ecx
je 0x4d3fc2
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x3e54], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x3e68], eax
mov eax, dword [ebp - 0x3e64]
test eax, eax
mov esi, dword [ebp - 0x3e38]
cmovne esi, eax
mov dword [ebp - 0x3e38], esi
jmp 0x4d3fe1
mov esi, dword [ebp - 0x3e38]
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov ecx, dword [eax + 0x20]
add ecx, 8
call fcn.0044dcd0
mov ecx, dword [ebp - 0x3e68]
push 0
push 5
test eax, eax
je 0x4d4050
imul eax, dword [edi + 0x188], 0x980
lea edx, [ebp - 0x3ea8]
push edx
push 7
push ecx
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x3ea7], eax
mov eax, dword [ebp - 0x3e54]
push eax
mov byte [ebp - 0x3ea2], cl
mov ecx, esi
push 0
mov byte [ebp - 0x3ea3], al
call fcn.0052c140
jmp case.default.0x4d415a
mov byte [ebp - 0x3f94], 0x18
lea edx, [ebp - 0x3f94]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0xd
push ecx
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x3f93], eax
mov eax, dword [ebp - 0x3e54]
push eax
mov byte [ebp - 0x3f88], cl
mov ecx, esi
push 0
mov byte [ebp - 0x3f8f], 6
mov byte [ebp - 0x3f89], al
call fcn.0052c140
jmp case.default.0x4d415a
cmp eax, 2
jne case.default.0x4d415a
push edi
mov ecx, esi
call fcn.004e6040
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x40ec]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x40ec]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov dword [edi + 0x258], 0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push edi
call fcn.004dda50
test eax, eax
je case.default.0x4d415a
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.default.0x4d415a
jmp dword [eax*4 + 0x4d85c8]
push 2
mov ecx, esi
push edi
call fcn.004de240
jmp case.default.0x4d415a
push 3
mov ecx, esi
push edi
call fcn.004de240
jmp case.default.0x4d415a
push 4
mov ecx, esi
push edi
call fcn.004de240
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4d42e2
lea ecx, [ebp - 0x3f74]
push ecx
push eax
mov ecx, esi
call fcn.004badd0
mov esi, eax
test esi, esi
je case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3f74]
push eax
push dword [ebp - 0xfab]
call fcn.004ba460
test eax, eax
je 0x4d4236
cmp dword [edi + 0x14f34], 1
je 0x4d4218
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d415a
cmp byte [eax + 0x14fb9], 0
je case.default.0x4d415a
cmp dword [esi + 0x204], 0
jne 0x4d422b
mov dword [esi + 0x11c], 0
mov dword [esi + 0x204], eax
jmp case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x4190]
push eax
push dword [ebp - 0xfab]
call fcn.004badd0
mov dword [ebp - 0x3e54], eax
test eax, eax
je case.default.0x4d415a
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d42c4
cmp dword [ecx + 0x14f34], 0
jne 0x4d42c4
mov ecx, dword [ebp - 0x3e38]
call fcn.0044c2c0
cmp eax, 4
jne 0x4d428e
mov eax, dword [ebp - 0x3e38]
cmp dword [eax + 0x134], 6
je 0x4d42be
mov eax, dword [ebp - 0x3e54]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.default.0x4d415a
cmp byte [ecx + 0x14fb9], 0
je case.default.0x4d415a
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d415a
jmp 0x4d42c4
mov eax, dword [ebp - 0x3e54]
cmp dword [esi + 0x214], 0
jne 0x4d42d7
mov dword [esi + 0x11c], 0
mov dword [esi + 0x214], eax
jmp case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.default.0x4d415a
mov ecx, dword [ebp - 0x3e38]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00515b60
mov esi, eax
test esi, esi
je 0x4d4388
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne 0x4d4388
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne 0x4d4388
mov ecx, esi
call fcn.0044c2c0
cmp eax, 1
jne 0x4d4388
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x4d436f
cmp dword [eax + 0x14f34], 0
jne 0x4d436f
cmp byte [eax + 0x14fb9], 0
je 0x4d4388
cmp byte [edi + 0x14fb9], 0
je 0x4d4388
cmp dword [edi + 0x14ea0], 0
jne 0x4d4382
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea0], esi
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x418c]
push eax
push dword [ebp - 0xfab]
call fcn.004ba460
test eax, eax
je case.default.0x4d415a
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d415a
cmp byte [eax + 0x14fb9], 0
je case.default.0x4d415a
cmp dword [edi + 0x14ea4], 0
jne 0x4d43de
cmp dword [edi + 0x14ea0], 0
jne 0x4d43de
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea4], eax
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.default.0x4d415a
mov ecx, dword [ebp - 0x3e38]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00515b60
mov esi, eax
test esi, esi
je case.default.0x4d415a
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d415a
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d415a
mov ecx, esi
call fcn.0044c2c0
cmp eax, 1
jne case.default.0x4d415a
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x4d4498
cmp dword [eax + 0x14f34], 1
je 0x4d44ab
cmp dword [edi + 0x14ea0], 0
jne 0x4d44ab
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea0], esi
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fc4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fc4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.default.0x4d415a
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 8
call fcn.0044dc60
test eax, eax
je 0x4d456b
cmp dword [eax + 0x110], 6
jne 0x4d456b
mov ecx, eax
call fcn.0044c2d0
push eax
push edi
mov ecx, esi
call fcn.004c9d80
jmp case.default.0x4d415a
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, str.Swordsmith
xor ecx, ecx
nop word [eax + eax]
cmp dword [ecx + str.XOKHNBC12345678GD90:S], esi
jne 0x4d458b
lea eax, [edx - 0x20]
cmp dword [ecx + 0x5fe95c], esi
cmove eax, edx
cmp dword [ecx + 0x5fe960], esi
jne 0x4d459f
lea eax, [edx + 0x20]
add ecx, 0xc
add edx, 0x60
cmp ecx, 0x54
jb 0x4d4580
test eax, eax
je case.default.0x4d415a
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044dbe0
test eax, eax
je case.default.0x4d415a
cmp dword [eax + 0x110], 6
jne case.default.0x4d415a
mov ecx, eax
call fcn.0044c2d0
mov ecx, dword [ebp - 0x3e40]
push eax
push edi
call fcn.004c9d80
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fcc]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fcc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov esi, dword [ebp - 0x3e38]
mov ecx, esi
call fcn.0044c2c0
cmp eax, 1
jne 0x4d47f0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov byte [ebp - 0x3df9], 0
lea edi, [ebp - 0x3e12]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x3e33], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x3e31], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x3e2f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x3e2d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x3df9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x3df8], al
xor eax, eax
mov dword [ebp - 0x3e54], eax
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d4743
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d4743
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e68], eax
add eax, edx
mov dword [ebp - 0x3e44], eax
js 0x4d4743
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e44], eax
jge 0x4d4743
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x3e68]
mov al, byte [eax + edx]
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x3e54]
mov byte [edi], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d47a8
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d47a8
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e68], eax
add eax, edx
mov dword [ebp - 0x3e44], eax
js 0x4d47a8
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e44], eax
jge 0x4d47a8
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x3e68]
mov al, byte [eax + edx]
mov byte [edi], al
mov eax, dword [ebp - 0x3e54]
inc edx
inc edi
cmp edx, 5
jl 0x4d46e2
inc eax
mov dword [ebp - 0x3e54], eax
cmp eax, 5
jl 0x4d46e0
mov eax, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e34]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
mov ecx, esi
call fcn.0044c2c0
cmp eax, 3
jne case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
mov byte [ebp - 0x3df9], 0
lea edi, [ebp - 0x3e12]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x3e33], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x3e31], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x3e2f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x3e2d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x3df9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x3df8], al
xor eax, eax
mov dword [ebp - 0x3e54], eax
nop dword [eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d48e3
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d48e3
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e68], eax
add eax, edx
mov dword [ebp - 0x3e44], eax
js 0x4d48e3
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e44], eax
jge 0x4d48e3
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x3e68]
mov al, byte [eax + edx]
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x3e54]
mov byte [edi], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d4948
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d4948
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e68], eax
add eax, edx
mov dword [ebp - 0x3e44], eax
js 0x4d4948
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e44], eax
jge 0x4d4948
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x3e68]
mov al, byte [eax + edx]
mov byte [edi], al
mov eax, dword [ebp - 0x3e54]
inc edx
inc edi
cmp edx, 5
jl 0x4d4882
inc eax
mov dword [ebp - 0x3e54], eax
cmp eax, 5
jl 0x4d4880
jmp 0x4d47c9
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fd4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fd4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov esi, dword [ebp - 0x3e38]
mov ecx, esi
call fcn.0044c2c0
cmp eax, 1
jne 0x4d4b68
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d415a
push edi
mov ecx, esi
call fcn.004ecc10
test eax, eax
je case.default.0x4d415a
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov dword [ebp - 0x3e72], 0
mov byte [ebp - 0x3e73], 0
mov word [ebp - 0x3e77], cx
mov word [ebp - 0x3e75], ax
je 0x4d4a7d
inc byte [esi + 0x13c]
mov al, byte [esi + 0x13c]
cmp al, 4
jb 0x4d4a4e
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x3e73], al
push 0
push 5
lea eax, [ebp - 0x3e78]
mov ecx, esi
push eax
push 0xa
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
jmp case.default.0x4d415a
cmp byte [ebp - 0xfa8], 0
je 0x4d4aa9
inc byte [esi + 0x13d]
mov al, byte [esi + 0x13d]
cmp al, 0xb
jb 0x4d4a9f
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x3e70], al
jmp 0x4d4a56
cmp byte [ebp - 0xfa9], 0
je 0x4d4b13
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004ecd30
test eax, eax
js 0x4d4acd
mov byte [ebp - 0x3e71], al
jmp 0x4d4a56
cmp eax, 0xfffffffe
jne 0x4d4aee
lea eax, [ebp - 0x206b]
push str.Edit_outside_bounds_denied.
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
jmp 0x4d325e
cmp eax, 0xffffffff
jne case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_dungeon.
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
jmp 0x4d325e
cmp byte [ebp - 0xfaa], 0
je case.default.0x4d415a
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004ecd30
test eax, eax
js 0x4d4b3e
mov byte [ebp - 0x3e72], al
jmp 0x4d4a56
cmp eax, 0xfffffffe
je 0x4d4ad2
cmp eax, 0xffffffff
jne case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_dungeon.
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
jmp 0x4d325e
mov ecx, esi
call fcn.0044c2c0
cmp eax, 3
jne case.default.0x4d415a
lea ecx, [esi + 0x148]
call fcn.00515840
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov word [ebp - 0x3e72], 0
mov byte [ebp - 0x3e70], 0
mov byte [ebp - 0x3e73], 0
mov word [ebp - 0x3e77], cx
mov word [ebp - 0x3e75], ax
je 0x4d4bd2
inc byte [esi + 0x13c]
mov al, byte [esi + 0x13c]
cmp al, 7
jmp 0x4d4a43
cmp byte [ebp - 0xfa8], 0
je 0x4d4c05
inc byte [esi + 0x13d]
mov al, byte [esi + 0x13d]
cmp al, 8
jb 0x4d4a9f
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x3e70], al
jmp 0x4d4a56
cmp byte [ebp - 0xfa9], 0
je 0x4d4c5a
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.00530560
test eax, eax
js 0x4d4c2c
mov byte [ebp - 0x3e71], al
jmp 0x4d4a56
cmp eax, 0xfffffffe
je 0x4d4ad2
cmp eax, 0xffffffff
jne case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_tower.
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
jmp 0x4d325e
cmp byte [ebp - 0xfaa], 0
je case.default.0x4d415a
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.00530560
test eax, eax
js 0x4d4c2c
mov byte [ebp - 0x3e72], al
jmp 0x4d4a56
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fdc]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fdc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov ecx, eax
mov dword [ebp - 0x3e58], ecx
test ecx, ecx
je case.0x4cf652.2
mov edi, dword [ebp - 0x3e38]
mov ecx, dword [edi + 0x110]
call fcn.0044dcb0
mov esi, eax
test esi, esi
je case.default.0x4d415a
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d4d0c
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d4d22
mov ecx, dword [edi + 0x110]
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d4cf3
jmp case.default.0x4d415a
lea eax, [ebp - 0x2420]
mov byte [ebp - 0x2420], 9
push eax
mov ecx, esi
call fcn.004739a0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x2420]
mov eax, dword [ecx]
push edx
push 0x4d
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x3e54], ecx
imul eax, dword [esi + 0x188], 0x980
add eax, edi
cmp byte [eax + esi + 0x344], 0xff
je 0x4d4e6e
mov byte [ebp - 0x210c], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x210b], eax
lea eax, [ebp - 0x20ff]
push 0x10
push eax
imul eax, dword [esi + 0x188], 0x980
push 0x10
add eax, 0x334
add eax, edi
add eax, esi
push eax
call fcn.0044c9c0
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x3e50]
add esp, 0x10
add eax, edi
push edx
push 0
lea edx, [ebp - 0x210c]
mov al, byte [eax + esi + 0x345]
mov byte [ebp - 0x2106], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, edi
mov al, byte [eax + esi + 0x344]
mov byte [ebp - 0x2107], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
mov al, byte [eax + esi + 0x346]
mov byte [ebp - 0x2105], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
movss xmm1, dword [eax + esi + 0x354]
divss xmm1, dword [0x5bcbd0]
movzx eax, byte [eax + esi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x3e54]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x2104], al
mov eax, dword [ebp - 0x3e38]
addss xmm1, xmm0
movss dword [ebp - 0x2103], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e54]
inc ecx
add edi, 0x34
mov dword [ebp - 0x3e54], ecx
cmp edi, 0x68
jl 0x4d4d60
push dword [ebp - 0x3e3c]
mov edi, dword [ebp - 0x3e38]
mov ecx, esi
push 0
push edi
call fcn.00472110
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044dcb0
test eax, eax
je case.default.0x4d415a
nop dword [eax + eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d4eee
push esi
push eax
lea eax, [ebp - 0x4220]
push eax
call fcn.004ba3d0
add esp, 0xc
lea edx, [ebp - 0x3e50]
push edx
lea edx, [ebp - 0x4220]
jmp 0x4d4f6a
cmp ecx, 0xe
jne 0x4d4f95
mov ecx, dword [eax + 0x11c]
lea edx, [ebp - 0x3e50]
mov dword [ebp - 0x4117], eax
mov byte [ebp - 0x411c], 0x21
mov dword [ebp - 0x411b], 0x40800000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x411c]
mov al, byte [eax + eax*2 + 0x5fc658]
mov byte [ebp - 0x4102], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x5fc659]
mov byte [ebp - 0x4101], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x5fc65a]
mov byte [ebp - 0x4100], al
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x4113], eax
xor eax, eax
mov word [ebp - 0x4105], ax
mov byte [ebp - 0x4103], 0x80
mov ecx, dword [edi + 0x11c]
push 0
push edx
push 0x1d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044dd10
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044dd50
test eax, eax
jne 0x4d4ec0
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fe4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fe4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [ebp - 0x3e38]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00515a30
mov esi, eax
test esi, esi
je 0x4d5339
mov ecx, esi
call fcn.0044c2c0
cmp eax, 4
jne case.default.0x4d507b
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d507b
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d507b
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d507b
jmp dword [eax*4 + 0x4d85d8]
mov ecx, dword [ebp - 0x3e40]
push 1
push dword [ebp - 0x3e38]
push esi
push edi
call fcn.004d9540
jmp case.default.0x4d507b
mov ecx, dword [ebp - 0x3e40]
push 0
push dword [ebp - 0x3e38]
push esi
push edi
call fcn.004d9540
jmp case.default.0x4d507b
imul edx, dword [edi + 0x188], 0x980
mov ecx, dword [edx + edi + 0x2d8]
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x18]
test eax, eax
jg 0x4d5119
jl 0x4d50db
cmp esi, 0xb4
jae 0x4d5119
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x206b]
push eax
call fcn.00471010
mov eax, dword [ebp - 0x3e38]
lea edx, [ebp - 0x3e50]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d507b
mov eax, dword [edx + edi + 0x2fc]
cmp eax, dword [edx + edi + 0x2f8]
jl 0x4d5130
push str.You_are_already_fully_healed.
jmp 0x4d50e0
mov eax, dword [ecx + 0x1c]
sub esi, 0xb4
mov dword [ecx + 0x18], esi
sbb eax, 0
mov dword [ecx + 0x1c], eax
mov ecx, edi
call fcn.004803d0
mov esi, 0x32
lea eax, [eax + eax*2]
sub esi, eax
mov eax, 3
cmp esi, 3
cmovl esi, eax
imul ecx, dword [edi + 0x188], 0x980
mov dword [ebp - 0x3e54], esi
mov eax, dword [ecx + edi + 0x2fc]
mov edx, dword [ecx + edi + 0x2f8]
sub edx, eax
cmp edx, esi
cmovge edx, esi
add eax, esi
mov dword [ecx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0x3e44], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d51b3
mov dword [eax + edi + 0x2fc], ecx
mov byte [ebp - 0x40fc], 0x26
lea edx, [ebp - 0x3e50]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0
lea edx, [ebp - 0x40fc]
push edx
push 0xd
mov eax, dword [eax + edi + 0x2fc]
mov dword [ebp - 0x40f7], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2f8]
mov dword [ebp - 0x40f3], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x40fb], eax
mov eax, dword [ebp - 0x3e38]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push esi
lea eax, [ebp - 0x206b]
push str.You_are_healed_for__d_points.
push eax
call fcn.00471010
mov esi, dword [ebp - 0x3e38]
lea edx, [ebp - 0x3e50]
add esp, 0xc
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push 9
push esi
mov ecx, edi
call fcn.00472000
push 0x5ba63c
push str.healing.txt
call fcn.00561dfc
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.00581191
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d330
lea eax, [ebp - 0x13b0]
push eax
call fcn.00581388
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d330
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x3e44]
push dword [ebp - 0x3e54]
add eax, 0x2a0
add eax, edi
push eax
push str._s___ld___ld_n
push esi
call fcn.0043d330
push esi
call fcn.00561aa9
add esp, 0x40
jmp case.default.0x4d507b
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f78]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e40]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004de240
mov eax, dword [ebp - 0x3e38]
mov ecx, dword [eax + 0x118]
call fcn.00515ad0
mov esi, eax
test esi, esi
jne 0x4d5037
mov ecx, dword [ebp - 0x3e38]
call fcn.0044c2c0
cmp eax, 3
jne 0x4d53cf
cmp byte [ebp - 0xfaf], al
jne 0x4d53cf
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3e90]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bab90
test eax, eax
mov eax, dword [ebp - 0x3e38]
je 0x4d53d5
cmp dword [ebp - 0x3e90], eax
jne 0x4d53d5
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f78]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e40]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004de240
mov eax, dword [ebp - 0x3e38]
mov ecx, eax
call fcn.0044c2c0
cmp eax, 3
jne case.default.0x4d415a
cmp byte [ebp - 0xfaf], 0
jne case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
lea eax, [ebp - 0x3e90]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bab90
test eax, eax
je case.default.0x4d415a
mov eax, dword [ebp - 0x3e38]
cmp dword [ebp - 0x3e90], eax
jne case.default.0x4d415a
mov ecx, dword [ebp - 0x3e40]
push 1
push eax
push esi
push edi
call fcn.004d9540
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.default.0x4d415a
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d55a5
mov eax, dword [edi + 0x14f7c]
test eax, eax
je case.default.0x4d415a
lea ecx, [ebp - 0x4188]
push ecx
push eax
mov ecx, esi
call fcn.004ba890
mov dword [ebp - 0x3e68], eax
test eax, eax
je case.default.0x4d415a
push dword [ebp - 0x3e38]
mov ecx, edi
call fcn.0048ab20
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0x2d8]
mov ecx, dword [edi + 0x14f74]
mov eax, dword [ecx + 0x18]
add dword [edx + 0x18], eax
mov eax, dword [ecx + 0x1c]
adc dword [edx + 0x1c], eax
mov edx, dword [ebp - 0xfa1]
mov ecx, dword [ebp - 0xfa5]
test edx, edx
jg 0x4d5515
jl 0x4d54f6
test ecx, ecx
jne 0x4d5515
mov esi, dword [edi + 0x188]
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e9c], xmm0
mov edx, dword [ebp - 0x3e98]
mov ecx, dword [ebp - 0x3e9c]
jmp 0x4d5558
mov esi, dword [edi + 0x188]
imul eax, esi, 0x980
mov eax, dword [eax + edi + 0x2d8]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x3e54], edi
mov edi, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e44], eax
cmp edx, eax
jl 0x4d5558
mov eax, dword [ebp - 0x3e54]
jg 0x4d5550
cmp ecx, eax
jbe 0x4d5558
mov edx, dword [ebp - 0x3e44]
mov ecx, eax
imul eax, esi, 0x980
mov esi, dword [ebp - 0x3e40]
push 9
push edi
mov eax, dword [eax + edi + 0x2d8]
sub dword [eax + 0x18], ecx
sbb dword [eax + 0x1c], edx
mov eax, dword [edi + 0x14f74]
mov dword [eax + 0x18], ecx
mov ecx, esi
mov dword [eax + 0x1c], edx
call fcn.004de240
push 8
push dword [ebp - 0x3e68]
mov ecx, esi
call fcn.004de240
push 1
mov ecx, esi
push edi
call fcn.004de240
jmp case.default.0x4d415a
cmp eax, 0xfffffffd
jne case.default.0x4d415a
mov ecx, dword [ebp - 0xfa1]
mov edx, dword [ebp - 0xfa5]
test ecx, ecx
jl 0x4d5603
jg 0x4d55c4
test edx, edx
jb 0x4d5619
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp ecx, eax
jl 0x4d55e9
jg 0x4d55e5
cmp edx, esi
jbe 0x4d55e9
mov edx, esi
mov ecx, eax
mov eax, dword [edi + 0x14f78]
push ecx
push edx
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.0044d790
add esp, 0x10
mov ecx, eax
jmp 0x4d5664
test edx, edx
jne 0x4d5619
cmp ecx, 0x80000000
jne 0x4d5619
or edx, 0xffffffff
mov ecx, closesocket
jmp 0x4d5620
neg edx
adc ecx, 0
neg ecx
mov eax, dword [edi + 0x14f78]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp ecx, eax
jl 0x4d563a
jg 0x4d5636
cmp edx, esi
jbe 0x4d563a
mov edx, esi
mov ecx, eax
imul eax, dword [edi + 0x188], 0x980
push ecx
push edx
mov eax, dword [eax + edi + 0x2d8]
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.0044d790
add esp, 0x10
mov ecx, eax
neg ecx
adc edx, 0
neg edx
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov eax, dword [eax + edi + 0x2d8]
sub dword [eax + 0x18], ecx
sbb dword [eax + 0x1c], edx
mov eax, dword [edi + 0x14f78]
add dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x3e40]
adc dword [eax + 0x1c], edx
call fcn.004de240
mov ecx, dword [ebp - 0x3e40]
push 1
push edi
call fcn.004de240
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3fec]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3fec]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d576a
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x23d0], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x23cf]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x23d0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x236c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
mov edi, dword [ebp - 0x3e38]
mov ecx, edi
call fcn.0044c2c0
cmp eax, 1
jne 0x4d5870
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.00515a30
mov esi, eax
test esi, esi
je case.default.0x4d415a
nop
mov ecx, esi
call fcn.0044c2c0
cmp eax, 8
jne 0x4d5856
cmp dword [ebp - 0xfaf], esi
jne 0x4d5856
cmp byte [esi + 0x188], 0
jne 0x4d5818
mov byte [esi + 0x188], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
push 0
mov dword [esi + 0x190], eax
mov ecx, edi
push 5
lea eax, [ebp - 0x3ec0]
mov byte [ebp - 0x3ec0], 0x33
push eax
push 6
mov dword [ebp - 0x3ebf], esi
mov byte [ebp - 0x3ebb], 1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c140
push esi
mov ecx, edi
call fcn.004ecda0
jmp 0x4d584b
lea eax, [ebp - 0x206b]
push str.The_chest_is_open_and_empty.
push eax
call fcn.00471010
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x3e50]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [edi + 0x118]
call fcn.00515d30
mov ecx, dword [edi + 0x118]
call fcn.00515ad0
mov esi, eax
test esi, esi
jne 0x4d57a0
jmp case.default.0x4d415a
lea eax, [ebp - 0x206b]
push str.You_cant_open_it.
push eax
call fcn.00471010
mov ecx, dword [edi + 0x11c]
jmp 0x4d325e
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3ff4]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3ff4]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d594e
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2368], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2367]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2368]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2304], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push dword [ebp - 0x3e38]
push edi
call fcn.004d9c00
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x3ffc]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x3ffc]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3e7d]
mov eax, dword [ecx]
push edx
push 1
mov eax, dword [eax + 4]
call eax
jmp case.0x4cf652.2
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4004]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4004]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
mov dword [ebp - 0x3e58], edi
call fcn.0044cbe0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca20
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044c870
add esp, 0x14
test edi, edi
je case.default.0x4d415a
cmp byte [ebp - 0xfaf], 0
je case.default.0x4d415a
imul esi, dword [edi + 0x188], 0x980
cmp byte [esi + edi + 0x344], 0xff
je 0x4d5b57
lea eax, [edi + 0x334]
add eax, esi
cmp byte [eax], 0
je 0x4d5aa5
mov ecx, str.Pet_A
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5a90
test dl, dl
je 0x4d5a8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5a90
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5a70
xor eax, eax
jmp 0x4d5a95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d5b57
lea eax, [edi + 0x334]
add eax, esi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044c9c0
mov byte [ebp - 0x20ec], 0x3a
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x20eb], eax
lea eax, [ebp - 0x20df]
push 0x10
push eax
lea eax, [edi + 0x334]
add eax, esi
push 0x10
push eax
call fcn.0044c9c0
mov al, byte [esi + edi + 0x345]
add esp, 0x20
mov byte [ebp - 0x20e6], al
mov al, byte [esi + edi + 0x344]
mov byte [ebp - 0x20e7], al
mov al, byte [esi + edi + 0x346]
mov byte [ebp - 0x20e5], al
movss xmm1, dword [esi + edi + 0x354]
divss xmm1, dword [0x5bcbd0]
movzx eax, byte [esi + edi + 0x347]
mov ecx, dword [ebp - 0x3e38]
push 0
push 5
mov byte [ebp - 0x20e4], 0
movd xmm0, eax
lea eax, [ebp - 0x20ec]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x20e3], xmm1
jmp 0x4d4a65
cmp byte [esi + edi + 0x378], 0xff
je case.default.0x4d415a
lea eax, [edi + 0x368]
add eax, esi
cmp byte [eax], 0
je 0x4d5bac
mov ecx, str.Pet_B
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d5b97
test dl, dl
je 0x4d5b93
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5b97
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d5b77
xor eax, eax
jmp 0x4d5b9c
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4d415a
lea eax, [edi + 0x368]
add eax, esi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044c9c0
mov byte [ebp - 0x20cc], 0x3a
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x20cb], eax
lea eax, [ebp - 0x20bf]
push 0x10
push eax
lea eax, [edi + 0x368]
add eax, esi
push 0x10
push eax
call fcn.0044c9c0
mov al, byte [esi + edi + 0x379]
add esp, 0x20
mov byte [ebp - 0x20c6], al
mov al, byte [esi + edi + 0x378]
mov byte [ebp - 0x20c7], al
mov al, byte [esi + edi + 0x37a]
mov byte [ebp - 0x20c5], al
movss xmm1, dword [esi + edi + 0x388]
divss xmm1, dword [0x5bcbd0]
movzx eax, byte [esi + edi + 0x37b]
mov ecx, dword [ebp - 0x3e38]
push 0
push 5
mov byte [ebp - 0x20c4], 1
movd xmm0, eax
lea eax, [ebp - 0x20cc]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x20c3], xmm1
jmp 0x4d4a65
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x400c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x400c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d5d20
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2300], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x22ff]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2300]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x229c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
push dword [ebp - 0x3e38]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004d85f0
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je 0x4d5d7d
cmp dword [edi + 0x14f34], 1
jne 0x4d5d7d
push dword [ebp - 0x3e38]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004baed0
jmp case.default.0x4d415a
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle case.default.0x4d415a
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4d5d9f
cmp al, 4
jne case.default.0x4d415a
push dword [ebp - 0x3e38]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004baed0
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4014]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4014]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
push 5
mov dword [ebp - 0x3e58], edi
call fcn.00554883
mov edx, eax
add esp, 4
mov dword [ebp - 0x3e98], edx
test edx, edx
je 0x4d5e1f
mov byte [edx], 0x3f
jmp 0x4d5e21
xor edx, edx
test edi, edi
je case.default.0x4d415a
cmp byte [edi + 0x14fb8], 0
je case.default.0x4d415a
mov eax, dword [edi + 0x238]
mov dword [edx + 1], eax
mov ecx, dword [esi + 0x34]
lea esi, [ebp - 0x3e50]
push esi
push 0
push edx
mov eax, dword [ecx]
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [ebp - 0xfaf]
lea ecx, [ebp - 0x401c]
mov dword [edi + 0x238], eax
mov eax, dword [ebp - 0x3e50]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x401c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov ecx, dword [ebp - 0x3e38]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.00515b60
mov esi, eax
test esi, esi
je case.default.0x4d415a
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d415a
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d415a
mov ecx, esi
call fcn.0044c2c0
cmp eax, 2
jne case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [esi + 0x180]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e40]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push esi
push edi
call fcn.004d8c60
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
cmp byte [ebp - 0xfaf], 3
je 0x4d5fe0
push dword [ebp - 0x3e38]
mov ecx, edi
call fcn.00471920
jmp case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d6002
push dword [ebp - 0x3e38]
mov ecx, edi
call fcn.00471920
jmp case.default.0x4d415a
mov dword [edi + 0x14f80], 1
mov eax, dword [edi + 0x14f7c]
test eax, eax
je case.default.0x4d415a
lea ecx, [ebp - 0x4184]
push ecx
push eax
mov ecx, esi
call fcn.004ba890
test eax, eax
je case.default.0x4d415a
cmp dword [eax + 0x14f80], 0
je case.default.0x4d415a
push dword [ebp - 0x3e38]
mov ecx, edi
call fcn.0047e900
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push edi
call fcn.004ce850
jmp case.default.0x4d415a
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x6190f0], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044bf70
add esp, 4
mov ecx, esi
push dword [ebp - 0x3e3c]
call fcn.004bad70
mov dword [ebp - 0x3e58], eax
jmp case.0x4cf652.2
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4024]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4024]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d617b
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2298], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2297]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2298]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2234], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
xor esi, esi
mov dword [ebp - 0x3e64], esi
mov eax, dword [eax + edi + 0x2d8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e68], eax
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0x3e6c], ecx
test ecx, ecx
je case.default.0x4d415a
cmp dword [ebp - 0xfaf], ecx
jne 0x4d7dfb
mov eax, dword [ecx + 0x110]
cmp eax, 0xd
jne 0x4d63cb
cmp byte [edi + 0x14fb9], 0
je 0x4d61f0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f0], 0xa
jl 0x4d7e1b
mov eax, dword [ecx + 0x11c]
push 0x1a0
mov dword [ebp - 0x3e54], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x4180], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4d6229
push edi
mov ecx, eax
call fcn.00490430
mov esi, eax
mov dword [ebp - 0x3e44], eax
jmp 0x4d6231
xor esi, esi
mov dword [ebp - 0x3e44], esi
mov eax, dword [edi + 0x108]
mov ecx, dword [ebp - 0x3e54]
mov dword [esi + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [esi + 0x10c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x184], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x188], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x18c], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x190], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x194], eax
mov eax, dword [ecx]
mov byte [ebp - 4], 0
mov dword [esi + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e54]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [esi + 0x198], eax
call fcn.005619b8
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x3e54]
divss xmm0, dword [0x5bcef0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4d62d6
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x198], eax
push esi
mov esi, dword [ebp - 0x3e38]
mov ecx, dword [esi + 0x118]
call fcn.00515a10
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._s_sets_a_bomb_
push eax
call fcn.0044c680
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
add esp, 0x1c
lea eax, [ebp - 0x206c]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
mov ecx, dword [ebp - 0x3e44]
mov byte [ebp - 0x3eb8], 0x18
push 0
push 5
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3eb7], eax
xor eax, eax
mov dword [ebp - 0x3eb2], eax
mov byte [ebp - 0x3eae], al
mov byte [ebp - 0x3eb3], 0xc
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x3ead], al
mov al, byte [ecx + 0x10c]
mov byte [ebp - 0x3eac], al
lea eax, [ebp - 0x3eb8]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.0052c140
jmp 0x4d7dfb
cmp eax, 3
jne 0x4d7537
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x3e44], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4d7230
cmp ecx, 1
je 0x4d7230
cmp ecx, 2
jne 0x4d6731
mov esi, dword [ebp - 0x3e40]
lea ecx, [ebp - 0x3e7c]
push ecx
push dword [eax + 4]
mov ecx, esi
call fcn.004bacf0
test eax, eax
je 0x4d751b
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x20], 0
cmp dword [edi + 0x14f70], 0
je 0x4d64b8
cmp dword [edi + 0x184], 0
jne 0x4d64b8
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x402c]
mov dword [ebp - 0x3e4c], eax
mov byte [ebp - 0x415c], 0x3e
push dword [edi + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x402c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov byte [ebp - 0x415b], 2
lea edx, [ebp - 0x3e50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x415c]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x4d64b8
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x3e38]
mov ecx, edi
push 6
push esi
call fcn.00471e70
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4034]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4034]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
cmp dword [edi + 0x14f70], 0
je 0x4d654c
push 0
mov byte [ebp - 0x3f44], 0x23
lea ecx, [ebp - 0x3f44]
mov eax, dword [edi + 0x14f70]
push 5
mov dword [ebp - 0x3f43], eax
mov eax, dword [edi + 0x14f70]
push ecx
push 5
mov ecx, esi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052c140
push dword [edi + 0x14f70]
mov ecx, dword [esi + 0x118]
call fcn.00515c80
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044dea0
mov ecx, dword [ebp - 0x3e7c]
mov dword [edi + 0x110], 4
mov dword [edi + 0x108], 4
mov dword [edi + 0x114], 4
mov dword [edi + 0x10c], 4
mov ecx, dword [ecx + 0x110]
push edi
call fcn.0044daf0
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4d65f5
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x110], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [ecx + 0x110]
mov dword [ecx + 0x108], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x114], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [ecx + 0x114]
mov dword [ecx + 0x10c], eax
mov eax, dword [ebp - 0x3e7c]
push dword [edi + 0x14f70]
mov ecx, dword [eax + 0x118]
call fcn.00515a10
mov eax, dword [ebp - 0x3e7c]
mov ecx, esi
mov byte [ebp - 0x3fad], 0
mov byte [ebp - 0x3fbc], 0x2b
mov dword [ebp - 0x3fb1], eax
call fcn.0044c2c0
mov ecx, dword [ebp - 0x3e7c]
mov byte [ebp - 0x3fbb], al
call fcn.0044c2c0
mov byte [ebp - 0x3fba], al
lea edx, [ebp - 0x3e50]
mov eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3fb9], 5
mov dword [ebp - 0x3fb5], 5
mov dword [ebp - 0x3fac], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x3fbc]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e7c]
mov byte [ebp - 0x2488], 0x17
call fcn.0044c2d0
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.0044c680
push 0x64
lea eax, [ebp - 0x2487]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x2488]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push dword [ebp - 0x3e7c]
mov ecx, edi
push esi
call fcn.00489440
mov esi, dword [ebp - 0x3e7c]
lea ecx, [esi + 0x148]
call fcn.00515840
push 6
push esi
mov ecx, edi
call fcn.00481640
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4d6709
push esi
call fcn.00495dc0
push 0
push 1
push esi
mov ecx, edi
call fcn.0048f7c0
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp ecx, 3
jne 0x4d751b
mov esi, dword [ebp - 0x3e38]
xor eax, eax
push eax
push dword [edi + 0x10c]
mov dword [ebp - 0x3e44], eax
push dword [edi + 0x108]
mov ecx, dword [esi + 0x118]
call fcn.00515a30
test eax, eax
je 0x4d681d
mov ecx, eax
call fcn.0044c2c0
cmp eax, 2
jne 0x4d67e0
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x403c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x403c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
lea eax, [ebp - 0x206b]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x3e50]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov dword [ebp - 0x3e44], 1
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
test eax, eax
jne 0x4d6768
cmp dword [ebp - 0x3e44], eax
je 0x4d681d
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
inc dword [eax + 0x118]
call fcn.0044dd10
jmp 0x4d7dfb
push 0x990
call fcn.00554883
add esp, 4
mov dword [ebp - 0x417c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4d6849
push 2
mov ecx, eax
call fcn.0049e770
mov dword [ebp - 0x3e54], eax
jmp 0x4d6853
mov dword [ebp - 0x3e54], 0
mov edi, dword [ebp - 0x3e54]
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x3e64], 0
mov dword [ebp - 0x3e44], eax
push eax
lea eax, [ebp - 0x1ab0]
push str._s_Recall
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0x10
mov dword [ebp - 0x4178], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4d68b5
lea ecx, [ebp - 0x1ab0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d68b7
xor esi, esi
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e64]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0x447a0000
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
push esi
add edx, 0x14
mov dword [esi + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050dff0
mov eax, dword [ebp - 0x3e44]
inc dword [ebp - 0x3e64]
add eax, 0x50
mov dword [ebp - 0x3e44], eax
cmp eax, str.Dirk
jl 0x4d6872
xor edi, edi
call fcn.005619b8
cdq
mov ecx, 0xc
idiv ecx
cmp edi, 0x11
mov ecx, 0x10
mov eax, edi
mov dword [ebp - 0x3e44], edx
cmovge eax, ecx
push 0x120
mov dword [ebp - 0x3e64], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x4174], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4d697d
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d697f
xor esi, esi
mov eax, dword [esi + 0x11c]
mov edx, dword [ebp - 0x3e64]
mov ecx, dword [ebp - 0x3e44]
mov byte [ebp - 4], 0
mov dword [eax], ecx
mov ecx, edx
imul ecx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x108], 0
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
cmp edx, 0xc
jle 0x4d69f4
lea eax, [edx*8]
sub eax, edx
lea eax, [eax*2 + 0x640]
imul eax, edx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 0xa
call fcn.0052ff00
add esp, 4
push esi
mov esi, dword [ebp - 0x3e54]
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
inc edi
cmp edi, 0x11
jl 0x4d6928
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x4170], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4d6a58
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.0050d390
mov ecx, eax
mov dword [ebp - 0x3e44], eax
jmp 0x4d6a60
xor ecx, ecx
mov dword [ebp - 0x3e44], ecx
mov eax, dword [ecx + 0x11c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0x3f800000
mov dword [ecx + 0x10c], 0x41200000
call fcn.005619b8
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e44]
add edx, 0x2bc
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x416c], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4d6ae1
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.0050d390
mov ecx, eax
mov dword [ebp - 0x3e44], eax
jmp 0x4d6ae9
xor ecx, ecx
mov dword [ebp - 0x3e44], ecx
mov eax, dword [ecx + 0x11c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0x3f800000
mov dword [ecx + 0x10c], 0x41200000
call fcn.005619b8
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e44]
add edx, 0x2bc
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41e8], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4d6b62
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.0050d390
jmp 0x4d6b64
xor eax, eax
mov dword [ebp - 0x3e44], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.005619b8
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e44]
add edx, 0x28
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41e4], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4d6bcd
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.0050d390
jmp 0x4d6bcf
xor eax, eax
mov dword [ebp - 0x3e44], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.005619b8
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e44]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41e0], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4d6c38
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.0050d390
jmp 0x4d6c3a
xor eax, eax
mov dword [eax + 0x10c], 0x47435000
mov dword [eax + 0x118], 0x14
mov ecx, dword [esi + 0x180]
push eax
mov byte [ebp - 4], 0
call fcn.0050dff0
mov dword [ebp - 0x3e44], 0
mov dword [ebp - 0x3e64], 0x1f4
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x4200], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4d6ca1
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.0050d390
mov esi, eax
jmp 0x4d6ca3
xor esi, esi
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e44]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
inc ecx
mov eax, dword [ebp - 0x3e64]
imul eax, ecx
mov dword [esi + 0x108], 0
mov dword [ebp - 0x3e44], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
call fcn.005619b8
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push esi
mov dword [esi + 0x118], edx
call fcn.0052da90
add esp, 8
push esi
mov esi, dword [ebp - 0x3e54]
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
mov eax, dword [ebp - 0x3e64]
add eax, 0x1f4
mov dword [ebp - 0x3e64], eax
cmp eax, 0x7d0
jl 0x4d6c72
mov eax, str.Plain
mov edi, 1
mov dword [ebp - 0x3e44], eax
nop dword [eax + eax]
push eax
lea eax, [ebp - 0x1ab0]
push str._s_Bead
push eax
call fcn.0043d360
push 0x120
call fcn.00554883
add esp, 0x10
mov dword [ebp - 0x41fc], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4d6d93
lea ecx, [ebp - 0x1ab0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d6d95
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
xor edx, edx
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [eax], 0
mov byte [ebp - 4], 0
movss dword [eax + 4], xmm0
mov eax, edi
imul eax, edi
mov dword [ecx + 0x108], 0
imul eax, eax, 0x3e8
movd xmm0, eax
mov eax, 0x190
div edi
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x10c], xmm0
mov dword [ecx + 0x118], eax
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
mov eax, dword [ebp - 0x3e44]
inc edi
add eax, 0x20
mov dword [ebp - 0x3e44], eax
cmp eax, str.Fiery
jl 0x4d6d50
mov edi, dword [ebp - 0x3e58]
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41f8], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4d6e40
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d6e42
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x3f800000
mov dword [eax + 0x10], 0x3f800000
mov dword [eax], 0x80
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41f4], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x4d6ec7
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d6ec9
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40000000
mov dword [eax + 0x10], 0x40000000
mov dword [eax], 0xa8
mov dword [eax + 4], 0xa8
mov dword [eax + 8], 0xa8
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x40a00000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41f0], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x4d6f4e
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d6f50
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40400000
mov dword [eax + 0x10], 0x40400000
mov dword [eax], 0xe4
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x41700000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41ec], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x4d6fd5
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d6fd7
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40800000
mov dword [eax + 0x10], 0x40800000
mov dword [eax], 0x80
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0xe4
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x42480000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41dc], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4d705c
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d705e
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40a00000
mov dword [eax + 0x10], 0x40a00000
mov dword [eax], 0x80
mov dword [eax + 4], 0xe4
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x437a0000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41d8], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4d70e3
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d70e5
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40c00000
mov dword [eax + 0x10], 0x40c00000
mov dword [eax], 0x1c
mov dword [eax + 4], 0x1c
mov dword [eax + 8], 0x30
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41d4], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4d716a
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x4d716c
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40e00000
mov dword [eax + 0x10], 0x40e00000
mov dword [eax], 0xe4
mov dword [eax + 4], 0xe4
mov dword [eax + 8], 0xe4
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x461c4000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.0050dff0
mov dword [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov eax, dword [edi + 0x108]
mov dword [esi + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [esi + 0x10c], eax
push esi
mov esi, dword [ebp - 0x3e38]
mov ecx, dword [esi + 0x118]
call fcn.00515a10
push esi
push dword [edi + 0x10c]
mov ecx, edi
push dword [edi + 0x108]
call fcn.00480860
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp dword [edi + 0x14f70], 0
je 0x4d72bf
cmp dword [edi + 0x184], 0
jne 0x4d72bf
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x4044]
mov dword [ebp - 0x3e4c], eax
mov byte [ebp - 0x4168], 0x3e
push dword [edi + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x4044]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov eax, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
mov byte [ebp - 0x4167], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x4168]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00473770
cmp eax, 9
jle 0x4d72bf
mov dword [edi + 0x184], 1
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e40]
push 0
call fcn.004e31f0
cmp dword [edi + 0x14f70], 0
mov esi, dword [ebp - 0x3e38]
je 0x4d732d
push 0
mov byte [ebp - 0x3f4c], 0x23
lea ecx, [ebp - 0x3f4c]
mov eax, dword [edi + 0x14f70]
push 5
mov dword [ebp - 0x3f4b], eax
mov eax, dword [edi + 0x14f70]
push ecx
push 5
mov ecx, esi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052c140
push dword [edi + 0x14f70]
mov ecx, dword [esi + 0x118]
call fcn.00515c80
push 0
push 0
mov ecx, edi
call fcn.00489440
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x404c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x404c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov ecx, esi
mov byte [ebp - 0x3f99], 0
mov byte [ebp - 0x3fa8], 0x2b
call fcn.0044c2c0
mov esi, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e50]
mov byte [ebp - 0x3fa7], al
mov byte [ebp - 0x3fa6], 0
mov dword [ebp - 0x3fa5], 0x100
mov dword [ebp - 0x3fa1], 0x100
mov dword [ebp - 0x3f98], 0
mov byte [ebp - 0x3f99], 0
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3fa8]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov edx, dword [ebp - 0x3e44]
mov eax, dword [edx]
test eax, eax
jne 0x4d7496
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6c8]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6cc]
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
mov eax, dword [edx + 4]
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6c8]
mov dword [ecx + edi + 0x310], eax
mov eax, dword [edx + 4]
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6cc]
mov dword [ecx + edi + 0x314], eax
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4d74ec
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6c8]
mov dword [ecx + 0x108], eax
mov eax, dword [edx + 4]
mov ecx, dword [edi + 0x14f70]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x5fc6cc]
mov dword [ecx + 0x10c], eax
jmp 0x4d74ec
cmp eax, 1
jne 0x4d74ec
cmp dword [edx + 4], eax
mov ecx, 0x35
mov edx, 0xdc
mov eax, 0xdc
cmovne ecx, edx
mov edx, 0x5a
cmovne edx, eax
mov dword [edi + 0x110], edx
mov dword [edi + 0x108], edx
mov dword [edi + 0x114], ecx
mov dword [edi + 0x10c], ecx
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4d74ec
mov dword [eax + 0x108], edx
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x10c], ecx
mov ecx, dword [esi + 0x48]
push 0
call fcn.0044db90
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4d750c
push ecx
mov ecx, dword [eax + 0x118]
call fcn.00515a10
push dword [ebp - 0x3e3c]
mov ecx, esi
push 1
call fcn.004e31f0
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp eax, 0x11
je 0x4d7a28
cmp eax, 0x14
je 0x4d7a28
cmp eax, 0x12
je 0x4d7941
cmp eax, 0x13
je 0x4d7941
cmp eax, 0x15
jne 0x4d7dfb
mov eax, dword [ecx + 0x11c]
lea ecx, [ebp - 0x4054]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e44], eax
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4054]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov eax, dword [ebp - 0x3e40]
mov byte [ebp - 0x3e94], 0
mov ecx, dword [eax + 0x48]
call fcn.0044dcb0
cmp dword [ebp - 0x3e38], eax
jne 0x4d7eae
mov ecx, 0x5fc6cc
mov esi, 1
nop word [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d7607
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x3e94]
cmp eax, 3
movzx edx, dl
cmovle edx, esi
mov dword [ebp - 0x3e94], edx
jmp 0x4d760d
mov edx, dword [ebp - 0x3e94]
add ecx, 0x50
cmp ecx, 0x5fce4c
jl 0x4d75d0
mov esi, dword [ebp - 0x3e38]
test dl, dl
je 0x4d7eae
cmp dword [edi + 0x14f70], 0
jne 0x4d7e7d
mov edx, dword [ebp - 0x3e44]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x3e64], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x3e54], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x3e98], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4d7a0c
push 0x2c8
call fcn.00554883
add esp, 4
mov dword [ebp - 0x41d0], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4d76a7
push 0
push 0
push dword [ebp - 0x3e54]
mov ecx, eax
push dword [ebp - 0x3e64]
call fcn.004955d0
mov dword [ebp - 0x3e64], eax
jmp 0x4d76b1
mov dword [ebp - 0x3e64], 0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 4], 0
push eax
mov eax, dword [ebp - 0x3e6c]
add eax, 8
push str._s____n_
push eax
call fcn.0043dcf0
lea eax, [ebp - 0x13b0]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x1eb0]
push str._ss__s
push eax
call fcn.0043d360
mov eax, dword [ebp - 0x3e64]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x1eb0]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [ebp - 0x3e64]
add esp, 0x2c
mov edx, dword [ebp - 0x3e44]
movss xmm0, dword [ebp - 0x3e98]
mov byte [ecx + 0x1dd], 1
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x10c], eax
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x110], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x114], eax
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x22c], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1b4], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x1bc], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1ac], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1b0], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1b8], eax
mov al, byte [edx + 0x27]
mov byte [ecx + 0x1a7], al
mov al, byte [edx + 0x26]
mov byte [ecx + 0x1a6], al
mov al, byte [edx + 0x25]
mov byte [ecx + 0x1a5], al
mov al, byte [edx + 0x24]
mov byte [ecx + 0x1a4], al
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x1a8], eax
movss dword [ecx + 0x1f4], xmm0
mov byte [ecx + 0x1dd], 1
push ecx
mov ecx, dword [esi + 0x118]
call fcn.00515a10
mov ecx, dword [ebp - 0x3e64]
mov dword [ecx + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e64]
sub eax, 0x2710
mov dword [ecx + 0x118], eax
mov byte [ebp - 0x3f1c], 0x18
mov dword [ebp - 0x3f1b], ecx
call fcn.0044c2c0
mov ecx, dword [ebp - 0x3e64]
mov byte [ebp - 0x3f17], al
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x3f16], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x3f14], ax
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x3f11], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x3f10], al
lea eax, [ebp - 0x3f1c]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.0052c140
mov ecx, dword [ebp - 0x3e64]
push esi
call fcn.00495dc0
mov ecx, dword [ebp - 0x3e64]
mov byte [ebp - 0x3ed4], 0x38
mov dword [ebp - 0x3ed3], 0xffffffff
mov dword [ebp - 0x3ecf], 0xffffffff
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x3ecb], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x3eca], al
lea eax, [ebp - 0x3ed4]
push eax
push 0x11
mov word [ebp - 0x3ec9], 0xff
mov dword [ebp - 0x3ec7], 0x100ff
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.0052c140
mov eax, dword [ebp - 0x3e64]
mov ecx, dword [ebp - 0x3e68]
mov dword [edi + 0x14f70], eax
mov dword [eax + 0x21c], edi
mov eax, dword [ebp - 0x3e6c]
mov dword [edi + 0x184], 1
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
mov eax, dword [ecx + 0x11c]
lea ecx, [ebp - 0x405c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e44], eax
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x405c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov esi, dword [ebp - 0x3e38]
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d79f9
xor esi, esi
mov ecx, 0x5fc6cc
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d79bf
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle esi, eax
add ecx, 0x50
cmp ecx, 0x5fce4c
jl 0x4d7994
test esi, esi
jne 0x4d79d7
mov ecx, dword [ebp - 0x3e38]
push ecx
jmp 0x4d79fa
lea eax, [ebp - 0x206b]
push str.Please_leave_town_first._:_
push eax
call fcn.00471010
mov ecx, dword [ebp - 0x3e38]
mov ecx, dword [ecx + 0x11c]
jmp 0x4d7ddf
push esi
push dword [ebp - 0x3e44]
mov ecx, dword [ebp - 0x3e40]
push edi
call fcn.004cb380
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
mov eax, dword [ecx + 0x11c]
lea ecx, [ebp - 0x4064]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e54], eax
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x4064]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov esi, dword [ebp - 0x3e38]
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d7dc8
cmp dword [esi + 0x124], eax
jne 0x4d7dc8
xor esi, esi
mov ecx, 0x5fc6cc
nop dword [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d7abb
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle esi, eax
add ecx, 0x50
cmp ecx, 0x5fce4c
jl 0x4d7a90
mov dword [ebp - 0x3e44], esi
cmp dword [ebp - 0x3e44], 0
mov esi, dword [ebp - 0x3e38]
jne 0x4d7dc1
mov eax, dword [ebp - 0x3e6c]
cmp dword [eax + 0x110], 0x11
jne 0x4d7af6
push 1
push esi
jmp 0x4d7d96
mov eax, dword [ebp - 0x3e54]
cmp dword [eax + 0x10], 0xffffffff
jle 0x4d7b2c
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
mov ecx, dword [eax + 0xc]
cmp ecx, 4
jge 0x4d7b5e
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
jle 0x4d7b8f
cmp ecx, 9
jge 0x4d7b8f
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp ecx, 0xb
jne 0x4d7bbe
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp ecx, 0x10
jne 0x4d7bed
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
cmp ecx, 0x11
jle 0x4d7c1c
mov ecx, dword [ebp - 0x3e40]
push esi
push eax
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
mov ecx, edi
call fcn.004803d0
mov edx, eax
cmp edx, 1
jge 0x4d7c33
mov ecx, edi
call fcn.00480630
mov edx, eax
mov ecx, dword [ebp - 0x3e54]
movss xmm1, dword [ecx + 8]
divss xmm1, dword [0x5bcee4]
imul eax, dword [ecx + 0xc], 0x258
addss xmm1, dword [0x5bc028]
mov eax, dword [eax + 0x60a920]
mov dword [ebp - 0x3e98], eax
mov eax, dword [ecx + 4]
shr eax, 0x1f
cmp dword [ecx], 0
jl 0x4d7c71
cmp eax, 1
jne 0x4d7c80
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5c00e8]
cvtpd2ps xmm1, xmm0
movd xmm0, dword [ebp - 0x3e98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, edx
jge 0x4d7cc1
push esi
push ecx
mov ecx, dword [ebp - 0x3e40]
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
sub eax, edx
cmp eax, 9
jle 0x4d7cf2
push esi
push ecx
mov ecx, dword [ebp - 0x3e40]
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
mov ecx, dword [esi + 0x110]
xor eax, eax
mov dword [ebp - 0x3e64], eax
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4d7d8e
nop
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x4d7d3d
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x4d7d3d
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x4d7d3d
inc dword [ebp - 0x3e64]
mov eax, dword [ebp - 0x3e38]
mov ecx, dword [eax + 0x110]
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4d7d10
cmp dword [ebp - 0x3e64], 1
jle 0x4d7d8e
push dword [ebp - 0x3e38]
mov ecx, dword [ebp - 0x3e40]
push dword [ebp - 0x3e54]
push edi
call fcn.004cbe90
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
push 0
push dword [ebp - 0x3e38]
push dword [ebp - 0x3e54]
mov ecx, dword [ebp - 0x3e40]
push edi
call fcn.004cd2e0
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e68]
mov dword [ebp - 0x3e64], eax
call fcn.0044dd10
jmp 0x4d7dfb
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4d7dcd
push str.The_EarthKey_doesnt_work_here.
lea eax, [ebp - 0x206b]
push eax
call fcn.00471010
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e50]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x206c]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0x3e68]
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0x3e6c], eax
test ecx, ecx
jne 0x4d61b4
jmp 0x4d7ef2
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2230], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.0044c680
mov ecx, 0x18
mov eax, dword [ebp - 0x3e40]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x222f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2230]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x21cc], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov edi, dword [ebp - 0x3e58]
jmp 0x4d7ef2
push 0x64
lea eax, [ebp - 0x2557]
mov byte [ebp - 0x2558], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044c9c0
add esp, 0x10
lea edx, [ebp - 0x3e50]
push edx
lea edx, [ebp - 0x2558]
jmp 0x4d7edd
push 0x64
lea eax, [ebp - 0x24ef]
mov byte [ebp - 0x24f0], 0x17
push eax
push 0xc8
push str.You_must_be_in_town_to_let_out_a_pet.
call fcn.0044c9c0
add esp, 0x10
lea edx, [ebp - 0x3e50]
push edx
lea edx, [ebp - 0x24f0]
mov eax, dword [ebp - 0x3e40]
push 0
push edx
push 0x65
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x3e64]
test esi, esi
je case.default.0x4d415a
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x4d7f23
mov ecx, dword [ebp - 0x3e40]
dec eax
push edi
mov dword [esi + 0x118], eax
call fcn.004e6040
jmp case.default.0x4d415a
mov ecx, dword [ebp - 0x3e68]
push esi
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x3e40]
push edi
call fcn.004e6040
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je case.default.0x4d415a
mov eax, dword [edi + 0x14f34]
cmp eax, 1
je 0x4d7fad
cmp eax, 2
je 0x4d7fad
cmp eax, 3
je 0x4d7fad
imul eax, dword [edi + 0x188], 0x980
test byte [eax + edi + 0x318], 1
jne 0x4d7fad
mov ecx, dword [edi + 0x23c]
mov eax, dword [ebp - 0xfaf]
test ecx, eax
je 0x4d7fc5
not eax
and eax, ecx
jmp 0x4d7fc5
mov ecx, dword [edi + 0x23c]
mov eax, dword [ebp - 0xfaf]
test ecx, eax
je 0x4d7fc3
not eax
and eax, ecx
jmp 0x4d7fc5
or eax, ecx
mov dword [edi + 0x23c], eax
lea ecx, [ebp - 0x406c]
push dword [ebp - 0x3e3c]
mov byte [ebp - 0x3f54], 0x50
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x3f53], eax
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x406c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3f54]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov byte [ebp - 0x3df4], 0x59
push eax
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3f70], 0
mov dword [ebp - 0x3e58], edi
mov dword [ebp - 0x3f68], 0
push dword [ebp - 0x3e3c]
lea ecx, [ebp - 0x4074]
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x3f6c], 0
call fcn.004716f0
lea eax, [ebp - 0x4074]
push eax
lea ecx, [ebp - 0x3f70]
call fcn.00490370
lea eax, [ebp - 0x3df3]
xor esi, esi
mov dword [ebp - 0x3e44], eax
nop dword [eax]
nop dword [eax + eax]
imul ecx, dword [edi + 0x188], 0x980
push 0
push eax
add ecx, 0x43c
add ecx, esi
add ecx, edi
call fcn.00524de0
mov eax, dword [ebp - 0x3e44]
add esi, 0x138
add eax, 0x200
mov dword [ebp - 0x3e44], eax
cmp esi, 0x750
jl 0x4d80b0
mov eax, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3f70]
push edx
push 0
lea edx, [ebp - 0x3df4]
mov ecx, dword [eax + 0x34]
push edx
push 0xc01
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
lea ecx, [ebp - 0x3f70]
mov byte [ebp - 4], 0
call fcn.00471720
jmp case.default.0x4d415a
mov eax, dword [ebp - 0x3e50]
lea ecx, [ebp - 0x407c]
push dword [ebp - 0x3e3c]
mov dword [ebp - 0x3e4c], eax
call fcn.004716f0
lea eax, [ebp - 0x407c]
push eax
lea ecx, [ebp - 0x3e50]
call fcn.00490370
mov edx, esi
mov byte [ebp - 0x3f5c], 0x5b
mov eax, edi
mov ecx, dword [edx + 0xb0]
test ecx, ecx
cmovg eax, ecx
mov dword [ebp - 0x3f5b], eax
mov ecx, dword [edx + 0x34]
lea edx, [ebp - 0x3e50]
push edx
push 0
lea edx, [ebp - 0x3f5c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4cf652.2
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je 0x4d8490
lea eax, [ebp - 0x1430]
push eax
call fcn.00581191
lea eax, [ebp - 0x1430]
push eax
lea eax, [ebp - 0x16b0]
push 0x5bb3c4
push eax
call fcn.0043d360
lea eax, [ebp - 0x16b0]
push eax
push str.MacroDetection.csv
call fcn.004a0f20
lea eax, [ebp - 0x1430]
push eax
call fcn.00581388
lea eax, [ebp - 0x1430]
push eax
lea eax, [ebp - 0x16b0]
push str.__s_
push eax
call fcn.0043d360
lea eax, [ebp - 0x16b0]
push eax
push str.MacroDetection.csv
call fcn.004a0f20
lea eax, [ebp - 0x1430]
push eax
call fcn.00581388
cmp byte [ebp - 0xfa3], 0
mov ecx, str.not_booted
mov eax, str.booted
cmove eax, ecx
push eax
push dword [ebp - 0xfa7]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [ebp - 0xfa8]
push eax
movzx eax, byte [ebp - 0xfa9]
push eax
movzx eax, byte [ebp - 0xfaa]
push eax
movzx eax, byte [ebp - 0xfab]
push eax
lea eax, [ebp - 0x16b0]
push str._d._d._d._d__s__s__d__s_n
push eax
call fcn.0043d360
add esp, 0x5c
lea eax, [ebp - 0x16b0]
push eax
push str.MacroDetection.csv
call fcn.004a0f20
add esp, 8
cmp byte [ebp - 0xfa3], 0
je case.default.0x4d415a
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_is_inactive__logged_off.
push eax
call fcn.00471010
add esp, 0xc
jmp 0x4d8426
mov edi, dword [ebp - 0x3e58]
test edi, edi
je case.default.0x4d415a
mov dword [edi + 0x258], 0
jmp case.default.0x4d415a
lea eax, [ebp - 0x3e38]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
call fcn.004ba460
mov edi, eax
mov dword [ebp - 0x3e58], edi
test edi, edi
je 0x4d8490
cmp dword [edi + 0x14f34], 1
je case.default.0x4d415a
lea eax, [ebp - 0x14b0]
push eax
call fcn.00581191
lea eax, [ebp - 0x14b0]
push eax
lea eax, [ebp - 0x15b0]
push 0x5bb3c4
push eax
call fcn.0043d360
lea eax, [ebp - 0x15b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a0f20
lea eax, [ebp - 0x14b0]
push eax
call fcn.00581388
lea eax, [ebp - 0x14b0]
push eax
lea eax, [ebp - 0x15b0]
push str.__s_
push eax
call fcn.0043d360
lea eax, [ebp - 0x15b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a0f20
lea eax, [ebp - 0x14b0]
push eax
call fcn.00581388
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [ebp - 0xfa8]
push eax
movzx eax, byte [ebp - 0xfa9]
push eax
movzx eax, byte [ebp - 0xfaa]
push eax
movzx eax, byte [ebp - 0xfab]
push eax
lea eax, [ebp - 0x15b0]
push str._d._d._d._d__s__s_n
push eax
call fcn.0043d360
add esp, 0x54
lea eax, [ebp - 0x15b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a0f20
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_is_inactive__logged_off.
push eax
call fcn.00471010
add esp, 0x14
mov esi, dword [ebp - 0x3e38]
lea eax, [ebp - 0x206c]
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov ecx, dword [ebp - 0x3e40]
push esi
push edi
call fcn.004cf290
mov edi, 0x1e
mov eax, dword [ebp - 0x3e40]
lea edx, [ebp - 0x3e84]
push 0
push 0
push edx
mov ecx, dword [eax + 0x34]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x3e84]
mov edx, 0xfa0
test eax, eax
jg 0x4cf600
lea ecx, [ebp - 0x3e50]
call fcn.00471720
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005548c1
mov esp, ebp
pop ebp
ret