Function at 0x4d0ad0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c7ba5
mov eax, dword fs:[0]
push eax
mov eax, 0x26d8
call fcn.00559130
mov eax, dword [0x62a780]
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 - 0x2340], eax
mov dword [ebp - 0x24a0], 0
mov byte [ebp - 0x22e4], 4
mov byte [ebp - 0x1d68], 0x17
mov byte [ebp - 0x2384], 0xd
mov byte [ebp - 0x2350], 0xe
mov byte [ebp - 0x1d00], 9
mov byte [ebp - 0x1cb4], 0x28
mov byte [ebp - 0x26e4], 0x21
mov byte [ebp - 0x24b0], 0x1a
mov byte [ebp - 0x2324], 0x2d
mov byte [ebp - 0x236c], 0x2e
mov byte [ebp - 0x2375], 0x37
mov byte [ebp - 0x2578], 0x43
mov dword [ebp - 0x2338], 0
mov dword [ebp - 0x2334], 0
mov dword [ebp - 0x2330], 0
mov dword [ebp - 0x2344], 0
lea edx, [ebp - 0x237c]
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 - 0x237c]
test eax, eax
jle 0x4da2bc
nop dword [eax + eax]
cmp eax, 0xfa0
jle 0x4d0bd1
mov dword [ebp - 0x237c], 0xfa0
mov edi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2344]
push edx
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x237c]
push edx
lea edx, [ebp - 0xfb0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movsx eax, byte [ebp - 0xfb0]
dec eax
cmp eax, 0x55
ja case.0x4d0c15.2
movzx eax, byte [eax + 0x4da37c]
jmp dword [eax*4 + 0x4da2e4]
mov ecx, dword [0x62eb84]
lea eax, [ebp - 0xfaf]
push eax
call fcn.0050e920
test eax, eax
je 0x4d0c4e
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xa
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da282
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je 0x4d0ca6
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2328]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
jne 0x4d0c70
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov esi, eax
test esi, esi
je 0x4d0ce6
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov esi, eax
test esi, esi
jne 0x4d0cc0
push 0x1502c
call fcn.00558849
add esp, 4
mov dword [ebp - 0x266c], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4d0d0c
mov ecx, eax
call fcn.004722f0
mov ecx, eax
jmp 0x4d0d0e
xor ecx, ecx
mov eax, dword [ebp - 0x2344]
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
push ecx
mov ecx, dword [edi + 0x44]
mov byte [ebp - 4], 0
call fcn.0044e1c0
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d0d77
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2454], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2453], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2452], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2451], al
mov byte [ebp - 0x2450], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d0e01
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d0e14
lea eax, [ebp - 0x2454]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2577], 0
push edx
push 0
lea edx, [ebp - 0x2578]
push edx
push 6
jmp 0x4da287
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
xor edi, edi
call fcn.004bb910
mov esi, eax
test esi, esi
je 0x4d116f
mov dword [ebp - 0x232c], 1
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.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
add esp, 0x18
lea ecx, [ebp - 0x1d78]
call fcn.00513b80
mov ecx, dword [ebp - 0x1d70]
mov dx, word [ebp - 0x1d72]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1d70], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d0ee6
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d72], dx
jmp 0x4d0eed
mov word [ebp - 0x1d70], ax
movzx eax, word [ebp - 0x1d6e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d76]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d0f4b
cmp eax, 3
jne 0x4d0f5f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2390
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473010
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1d67]
push str._s_left_the_game.
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
push 0
push edi
mov ecx, esi
call fcn.0048a5f0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e560
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d1014
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d0feb
cmp dword [edi + 0x124], eax
jg 0x4d1014
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 0x4d103d
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.0048b230
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d113d
mov dword [eax + 0x23c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x240], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x244], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x248], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x24c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x250], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x254], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x258], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x25c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x260], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x1c0], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x220], 0x19
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x124], 1
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x21c], 0
mov dword [esi + 0x14f48], 0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
jne 0x4d0e60
mov edi, dword [ebp - 0x232c]
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x2340]
call fcn.004bc1f0
mov esi, eax
test esi, esi
je 0x4d11bb
mov edi, dword [ebp - 0x2340]
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov esi, eax
test esi, esi
jne 0x4d1190
jmp case.0x4d0c15.2
test edi, edi
jne case.0x4d0c15.2
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
add esp, 0x10
lea ecx, [ebp - 0x1d88]
call fcn.00513b80
mov ecx, dword [ebp - 0x1d80]
mov dx, word [ebp - 0x1d82]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x1d80], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov edi, eax
cmp cx, 0x18
jae 0x4d122c
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d82], dx
jmp 0x4d1233
mov word [ebp - 0x1d80], ax
movzx eax, word [ebp - 0x1d7e]
cmp esi, 0x18
push eax
movzx eax, di
mov ecx, esi
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d86]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
add esp, 0x20
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x237c]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d3d0
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bc970
jmp case.0x4d0c15.2
mov eax, dword [str.Connecting...]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d3d0
mov ecx, dword [0x62eb88]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00530ad0
test eax, eax
je 0x4d1325
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da282
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb990
test eax, eax
je 0x4d1361
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 6
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da282
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov edi, eax
test edi, edi
je case.0x4d0c15.2
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, edi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00483040
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d13b7
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x244c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x244b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x244a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2449], al
mov byte [ebp - 0x2448], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d1441
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d1454
lea eax, [ebp - 0x244c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
test esi, esi
jne 0x4d1484
mov eax, dword [ebp - 0x2344]
lea edx, [ebp - 0x2338]
push edx
mov dword [ebp - 0x2383], eax
lea edx, [ebp - 0x2384]
mov eax, dword [ebp - 0x2340]
push 0
push edx
push 5
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
cmp esi, 1
jne 0x4d14af
mov dword [ebp - 0x234f], esi
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 2
jne 0x4d14bc
mov dword [ebp - 0x234f], esi
jmp 0x4d148f
cmp esi, 3
jne 0x4d14c9
mov dword [ebp - 0x234f], esi
jmp 0x4d148f
cmp esi, 0xa
jne 0x4d14d6
mov dword [ebp - 0x234f], esi
jmp 0x4d148f
cmp esi, 0x14
jne 0x4d152d
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2350]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [0x62eb88]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.00530d10
mov ecx, dword [0x62eb88]
call fcn.00530c90
jmp case.0x4d0c15.2
cmp esi, 0xffffffff
jne case.0x4d0c15.2
mov dword [ebp - 0x234f], esi
jmp 0x4d148f
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d1557
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x243c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x243b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x243a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2439], al
mov byte [ebp - 0x2438], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d15e1
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d15f4
lea eax, [ebp - 0x243c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [str.Connecting...]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
mov esi, dword [ebp - 0x2340]
mov eax, 0x3e8
mov edi, dword [0x62eb8c]
push 0x20
cmp dword [esi + 0x7c], 0
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push eax
mov dword [ebp - 0x232c], edi
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d3d0
mov ecx, dword [0x62eb88]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00530ad0
test eax, eax
je 0x4d168f
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
jmp 0x4da28a
mov ecx, dword [esi + 0x48]
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d16fe
mov edi, dword [ebp - 0x2340]
mov ecx, dword [esi + 0x110]
call fcn.0044e370
test eax, eax
je 0x4d16ea
mov edi, dword [ebp - 0x24a0]
nop dword [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14f8c]
jne 0x4d16cf
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044e420
test eax, eax
jne 0x4d16c0
mov dword [ebp - 0x24a0], edi
mov edi, dword [ebp - 0x2340]
mov ecx, dword [edi + 0x48]
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d16a3
mov edi, dword [ebp - 0x232c]
cmp dword [ebp - 0x24a0], edi
jl 0x4d1715
mov dword [ebp - 0x234f], 0xd
jmp 0x4d148f
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5dd6a0]
lahf
test ah, 0x44
jnp 0x4d1739
mov dword [ebp - 0x234f], 5
jmp 0x4d148f
mov esi, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb990
test eax, eax
je 0x4d1783
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 6
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
jmp 0x4da28a
push dword [ebp - 0x2344]
mov ecx, esi
call fcn.004bc1f0
mov edi, eax
test edi, edi
je case.0x4d0c15.2
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.00483040
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
cmp dword [edi + 0x14f7c], 1
jne 0x4d17fb
lea ecx, [ebp - 0x1e3c]
call fcn.00513b80
lea eax, [edi + 0x14f6c]
push eax
lea ecx, [ebp - 0x1e3c]
call fcn.00513be0
test eax, eax
jg 0x4d182e
mov dword [edi + 0x14f7c], 0
test esi, esi
je 0x4d1458
cmp esi, 1
jne 0x4d183d
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
mov dword [ebp - 0x234f], 7
jmp 0x4d148f
cmp esi, 2
jne 0x4d186c
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], 2
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 3
jne 0x4d1897
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 4
jne 0x4d18c2
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 0xffffffff
jne 0x4d18ed
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 0xa
jne 0x4d1918
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
cmp esi, 0x14
je 0x4d14db
cmp esi, 0xb
jne case.0x4d0c15.2
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
mov eax, dword [ebp - 0x2344]
cmp dword [ebp - 0xfaf], eax
jne case.0x4d0c15.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004e66b0
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d198c
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2434], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2433], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2432], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2431], al
mov byte [ebp - 0x2430], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d1a16
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d1a29
lea eax, [ebp - 0x2434]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov esi, eax
test esi, esi
je case.0x4d0c15.2
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d1a54
dec ecx
or ecx, 0xfffffff8
inc ecx
movsx edx, cl
imul eax, edx, 0x980
mov byte [ebp - 0xfaf], cl
cmp dword [eax + esi + 0x2c4], 0xffffffff
jle 0x4d1be2
mov dword [ebp - 0x1cff], edx
lea edx, [ebp - 0x2338]
movsx eax, cl
imul ecx, eax, 0x980
push edx
push 0
lea edx, [ebp - 0x1d00]
push edx
push 0x49
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x1cfb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x1cef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x1cee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x1ced], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x1cf7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x1cec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x1ceb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x1cea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x1cf3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x1ce9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x1ce8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x1ce7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x1ce4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x1cd4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x1ccc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x1cc8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x1cc6], al
mov byte [ebp - 0x1cc5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x1cc4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x1cc3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x1cc2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x1cc1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x1ce6], ax
cvttss2si eax, dword [ecx + esi + 0x300]
mov dword [ebp - 0x1cc0], eax
mov eax, dword [ecx + esi + 0x2d8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1cbc], eax
jmp 0x4d1bfe
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 1
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d1c5e
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d1c65
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d1cbb
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d1cc2
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d1d18
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d1d1f
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d1d75
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d1d7c
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d1dd2
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d1dd9
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d1e2f
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d1e36
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d1e8c
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d1e93
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d1ee9
movups xmm0, xmmword [esi + 0x4520]
movups xmmword [ebp - 0x1bd3], xmm0
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [esi + 0x453c]
mov word [ebp - 0x1bb7], ax
mov al, byte [esi + 0x453e]
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
jmp 0x4d1ef0
mov byte [ebp - 0x1bd3], 0
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1cb4]
mov eax, dword [ecx]
push edx
push 0x101
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x25fc], 0x4b
lea edx, [ebp - 0x2338]
movzx eax, word [esi + 0x14f5c]
mov dword [ebp - 0x25fb], eax
movzx eax, word [esi + 0x14f5e]
mov dword [ebp - 0x25f7], eax
movzx eax, word [esi + 0x14f62]
mov dword [ebp - 0x25f3], eax
movzx eax, word [esi + 0x14f60]
push edx
mov dword [ebp - 0x25ef], eax
lea edx, [ebp - 0x25fc]
movzx eax, word [esi + 0x14f64]
push 0
mov dword [ebp - 0x25eb], eax
movzx eax, word [esi + 0x14f66]
push edx
mov dword [ebp - 0x25e7], eax
push 0x19
jmp 0x4da287
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d1f91
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23e4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23e3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23e2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23e1], al
mov byte [ebp - 0x23e0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d201b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d202e
lea eax, [ebp - 0x23e4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d2040
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bc1f0
mov edi, eax
mov dword [ebp - 0x2358], edi
test edi, edi
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d2072
cmp eax, 7
jle 0x4d207c
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044d0d0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044da60
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d1842
lea eax, [ebp - 0xf94]
push eax
call fcn.0044f0a0
add esp, 4
test eax, eax
jne 0x4d2108
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], 7
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da28a
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.004858b0
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.0044ed90
add esp, 4
xor eax, eax
mov word [ebp - 0xf96], ax
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf70], eax
mov eax, dword [ebp - 0x2340]
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 0x49
mov eax, dword [eax + 4]
call eax
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2d8]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d23ba
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2395
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2dc]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d240c
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d23e7
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e0]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d2465
mov edi, dword [ebp - 0x232c]
nop dword [eax]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2440
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e4]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d24b7
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2492
mov edi, dword [ebp - 0x2358]
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.004b36d0
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b36d0
push 0x120
call fcn.00558849
add esp, 0x14
mov dword [ebp - 0x2668], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d2542
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2544
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 0x4d25f8
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2670], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d2637
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2639
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 0x4d26ed
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2664], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d272c
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d272e
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 0x4d27e2
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2660], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d2821
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2823
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 0x4d28d7
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x265c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d2916
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2918
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 0x4d29cc
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2690], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4d2a0b
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2a0d
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 0x4d2ac1
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2658], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d2b00
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2b02
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 0x4d2bb6
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2654], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d2bf5
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov esi, eax
jmp 0x4d2bf7
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 0x4d2cab
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.0052e330
push 0x120
call fcn.00558849
add esp, 8
mov dword [ebp - 0x2650], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d2cea
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d2cec
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, 4
call fcn.0044e1c0
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d2de7
call fcn.00558849
add esp, 4
mov dword [ebp - 0x264c], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d2d93
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d2d95
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 0x4d2e75
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2648], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d2e11
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d2e13
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, 4
call fcn.0044e1c0
imul eax, dword [ebp - 0xfaf], 0x980
xor ecx, ecx
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x14], 0x64
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 - 0xf68], 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 [0x610370]
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 [0x610374]
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.0048b230
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d3010
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d3017
mov byte [ebp - 0x1cb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d306d
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d3074
mov byte [ebp - 0x1c93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d30ca
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d30d1
mov byte [ebp - 0x1c73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d3127
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d312e
mov byte [ebp - 0x1c53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d3184
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d318b
mov byte [ebp - 0x1c33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d31e1
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d31e8
mov byte [ebp - 0x1c13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d323e
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d3245
mov byte [ebp - 0x1bf3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d329b
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1bd3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1bb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
jmp 0x4d32a2
mov byte [ebp - 0x1bd3], 0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1cb4]
mov ecx, dword [eax + 0x34]
push edx
push 0x101
jmp 0x4da28a
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d32db
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x246c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x246b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x246a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2469], al
mov byte [ebp - 0x2468], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3365
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3378
lea eax, [ebp - 0x246c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1f0
mov esi, eax
test esi, esi
je case.0x4d0c15.2
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d33a2
dec eax
or eax, 0xfffffff8
inc eax
mov byte [ebp - 0xfaf], al
movsx eax, al
imul eax, eax, 0x980
add eax, esi
cmp dword [eax + 0x2c4], 0xffffffff
jle 0x4d348d
add eax, 0x2a0
push eax
call fcn.0044f1a0
add esp, 4
lea eax, [ebp - 0x2568]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bc010
test eax, eax
je 0x4d3418
lea eax, [ebp - 0x2568]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bb4e0
movsx eax, byte [ebp - 0xfaf]
mov ecx, esi
imul eax, eax, 0x980
mov dword [eax + esi + 0x2c4], 0xffffffff
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + esi + 0xc10], 0
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + esi + 0xc0c], 0
call fcn.0048b230
mov dword [ebp - 0x234f], 1
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d34e3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d34ea
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d3540
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d3547
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d359d
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d35a4
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d35fa
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d3601
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d3657
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d365e
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d36b4
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d36bb
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d3711
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d3718
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d3786
movups xmm0, xmmword [esi + 0x4520]
lea edx, [ebp - 0x2338]
push edx
movups xmmword [ebp - 0x1bd3], xmm0
lea edx, [ebp - 0x1cb4]
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [esi + 0x453c]
push 0
mov word [ebp - 0x1bb7], ax
mov al, byte [esi + 0x453e]
push edx
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
push 0x101
jmp 0x4da287
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x1bd3], 0
push edx
push 0
lea edx, [ebp - 0x1cb4]
push edx
push 0x101
jmp 0x4da287
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d37bd
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23bc], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23bb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ba], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23b9], al
mov byte [ebp - 0x23b8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3847
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d385a
lea eax, [ebp - 0x23bc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d386c
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bc1f0
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d3898
cmp eax, 7
jle 0x4d38a0
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfab]
lea edx, [ebp - 0x2338]
mov dword [ecx + esi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa3]
push edx
push 0
lea edx, [ebp - 0x1d00]
push edx
push 0x49
mov byte [ecx + esi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa2]
mov byte [ecx + esi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa1]
mov byte [ecx + esi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + esi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa0]
mov byte [ecx + esi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + esi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + esi + 0x2d4], al
mov eax, dword [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [ebp - 0x1cff], eax
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x1cfb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x1cef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x1cee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x1ced], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x1cf7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x1cec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x1ceb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x1cea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x1cf3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x1ce9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x1ce8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x1ce7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x1ce4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x1cd4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x1ccc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x1cc8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x1cc6], al
mov byte [ebp - 0x1cc5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x1cc4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x1cc3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x1cc2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x1cc1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x1ce6], ax
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.0048b230
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d34e3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d34ea
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d3b39
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23f4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23f3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23f2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23f1], al
mov byte [ebp - 0x23f0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3bc3
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3bd6
lea eax, [ebp - 0x23f4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push 0x5d0640
push str.bugs.txt
call fcn.0056868c
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059027e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.005904be
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
cmp byte [ebp - 0xfad], 0
mov ecx, 0x5d8b5c
mov eax, 0x5d8b58
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfaf], 0
mov ecx, 0x5d8b5c
mov eax, 0x5d8b60
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfac], 0
mov ecx, 0x5d8b5c
mov eax, 0x5d8b64
cmove eax, ecx
push eax
push esi
call fcn.0043d340
add esp, 0x40
mov ecx, 0x5d8b5c
cmp byte [ebp - 0xfae], 0
mov eax, 0x5d8b68
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfab], 0
mov ecx, 0x5d8b5c
mov eax, 0x5d8b6c
cmove eax, ecx
push eax
push esi
call fcn.0043d340
lea eax, [ebp - 0xfaa]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0xf3b]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0xecc]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0xe5d]
push eax
push str._s__n
push esi
call fcn.0043d340
add esp, 0x40
push esi
call fcn.0056839e
add esp, 4
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
imul ecx, dword [esi + 0x188], 0x980
lea eax, [ebp - 0x22e2]
add ecx, 0x2a0
add ecx, esi
push ecx
push str.Thanks_for_your_bug_report___s_
push eax
call fcn.0043d370
add esp, 0xc
mov byte [ebp - 0x22e3], 0xfc
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2338]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x22e4]
push 0
push edx
push 0x92
mov eax, dword [eax + 4]
call eax
mov dword [esi + 0x258], 0
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d3d91
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23fc], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23fb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23fa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23f9], al
mov byte [ebp - 0x23f8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3e1b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3e2e
lea eax, [ebp - 0x23fc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3e41
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov byte [ebp - 0xfaf], al
call fcn.004bc1f0
mov edi, eax
test edi, edi
je case.0x4d0c15.2
movsx ecx, byte [ebp - 0xfaf]
imul ecx, ecx, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2383], ecx
push edx
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2384]
push 0
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [edi + 0x188], eax
push 0
push 0
mov eax, dword [ecx + edi + 0x308]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
mov eax, dword [ecx + edi + 0x30c]
mov ecx, edi
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
call fcn.0048a5f0
push dword [ebp - 0x2344]
mov ecx, esi
push 1
call fcn.004e4d00
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
call fcn.00513c20
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x38c
add ecx, edi
call fcn.00513c20
lea ecx, [ebp - 0x1e4c]
call fcn.00513b80
imul ecx, dword [edi + 0x188], 0x980
lea eax, [ebp - 0x1e4c]
push eax
add ecx, 0x324
add ecx, edi
call fcn.00513be0
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*2]
add eax, eax
add dword [ecx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d3f88
mov dword [eax + edi + 0x2fc], ecx
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x18], 0
push dword [edi + 0x14f8c]
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.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
mov eax, dword [edi + 0x14f10]
add esp, 0x2c
cmp eax, 2
je 0x4d4014
cmp eax, 3
jne 0x4d4028
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2390
add esp, 8
lea ecx, [ebp - 0x1d98]
call fcn.00513b80
mov ecx, dword [ebp - 0x1d90]
mov dx, word [ebp - 0x1d92]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x1d90], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d4070
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d92], dx
jmp 0x4d4077
mov word [ebp - 0x1d90], ax
movzx eax, word [ebp - 0x1d8e]
cmp esi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, esi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d96]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
mov eax, dword [edi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d40d5
cmp eax, 3
jne 0x4d40e9
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2390
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2340]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d416c
nop
cmp dword [esi + 0x110], 0x12
jne 0x4d414d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
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, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d4120
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d41dc
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d41bd
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e560
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, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d4190
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d424c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d422d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e560
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, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d4200
mov eax, dword [ebp - 0x2340]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044e250
imul ecx, dword [edi + 0x188], 0x980
mov esi, eax
mov dword [ebp - 0x2328], esi
lea eax, [ebp - 0x1d67]
lea edx, [ecx + 0x2a0]
add edx, edi
cmp dword [ecx + edi + 0x31c], 1
push edx
jle 0x4d428e
push str._s_entered_the_game.
jmp 0x4d4293
push str.___s_begins_life___
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
lea eax, [ebp - 0x1d67]
push str.Welcome_to_Blade_Mistress.__Check_out_our_discord_for_all_your_needs__https:__discord.gg_zh7Hrhv64B
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
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.004e0010
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d4703
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0xc10], 0
jle 0x4d4703
mov esi, dword [eax + edi + 0xc00]
mov ecx, dword [eax + edi + 0xc04]
movss xmm0, dword [eax + edi + 0xbfc]
mov dword [ebp - 0x232c], ecx
lea eax, [esi + esi*2]
movss dword [ebp - 0x2358], xmm0
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
mov dword [ebp - 0x2348], eax
cmp byte [eax + str.Ghost], 0
je 0x4d4a06
push 0x2c4
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2644], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d43a0
push 0
push 0
push dword [ebp - 0x232c]
mov ecx, eax
push esi
call fcn.00496980
mov esi, eax
jmp 0x4d43a2
xor esi, esi
imul ecx, dword [edi + 0x188], 0x980
lea eax, [esi + 0x184]
mov byte [ebp - 4], 0
mov dword [ebp - 0x233c], eax
add ecx, 0xbd4
add ecx, edi
cmp ecx, str.NO_NAME
je 0x4d43dc
push 0x20
push eax
push 0x20
push ecx
call fcn.0044d210
add esp, 0x10
jmp 0x4d43e2
mov dword [ebp - 0x233c], eax
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d447d
imul edx, dword [edi + 0x188], 0x980
add edx, 0x2a0
add edx, edi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x232c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d4410
sub ecx, dword [ebp - 0x232c]
push ecx
push dword [ebp - 0x233c]
push edx
call fcn.00595120
add esp, 0xc
test eax, eax
je 0x4d447d
mov eax, dword [ebp - 0x2348]
lea eax, [eax + str.Ghost]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
push dword [ebp - 0x233c]
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
add esp, 0x20
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2328]
movss xmm0, dword [ebp - 0x2358]
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.00513e00
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 - 0x2524], 0x18
mov dword [ebp - 0x2523], esi
call fcn.0044cd10
mov ecx, dword [ebp - 0x2328]
mov byte [ebp - 0x251f], al
movzx eax, word [esi + 0x220]
mov word [ebp - 0x251e], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x251c], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x2519], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2518], al
lea eax, [ebp - 0x2524]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00497150
mov byte [ebp - 0x2504], 0x38
mov dword [ebp - 0x2503], 0xffffffff
mov dword [ebp - 0x24ff], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x24fb], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x24fa], al
lea eax, [ebp - 0x2504]
mov word [ebp - 0x24f9], 0xff
mov dword [ebp - 0x24f7], 0x100ff
jmp 0x4d49d0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f4], 9
jle 0x4d4a0c
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov esi, eax
call fcn.004819b0
cmp esi, 1
mov ecx, 1
mov edx, esi
cmovl edx, ecx
xor ecx, ecx
cmp esi, 1
mov dword [ebp - 0x232c], edx
cmovge ecx, eax
mov dword [ebp - 0x233c], ecx
test ecx, ecx
jle 0x4d4773
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
nop
cmp byte [eax], 0
jne 0x4d476d
dec ecx
sub eax, 0x64
test ecx, ecx
jg 0x4d4760
mov dword [ebp - 0x233c], ecx
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x2348], eax
je 0x4d4a06
push 0x2c4
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2640], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4d47cb
push 0
push 0
push dword [ebp - 0x233c]
mov ecx, eax
push dword [ebp - 0x232c]
call fcn.00496980
mov esi, eax
jmp 0x4d47cd
xor esi, esi
push dword [ebp - 0x2348]
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.0043d370
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
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 - 0x2328]
mov byte [esi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.00513e00
cmp dword [esi + 0x1b4], 4
jge 0x4d48d4
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 - 0x2534], 0x18
mov dword [ebp - 0x2533], esi
call fcn.0044cd10
mov byte [ebp - 0x252f], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x2328]
mov word [ebp - 0x252e], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x252c], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x2529], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2528], al
lea eax, [ebp - 0x2534]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00497150
mov byte [ebp - 0x24f0], 0x38
mov dword [ebp - 0x24ef], 0xffffffff
mov dword [ebp - 0x24eb], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x24e7], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x24e6], al
lea eax, [ebp - 0x24f0]
mov word [ebp - 0x24e5], 0xff
mov dword [ebp - 0x24e3], 0x100ff
mov ecx, dword [ebp - 0x2328]
push 0
push 5
push eax
push 0x11
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
mov dword [edi + 0x14f48], esi
mov dword [esi + 0x21c], edi
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x2340]
mov byte [ebp - 0x2544], 0x3f
lea edx, [ebp - 0x2338]
mov eax, dword [edi + 0x238]
mov dword [ebp - 0x2543], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2544]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14f10], 1
jne 0x4d4a69
mov word [ebp - 0x2608], 0x3e
lea edx, [ebp - 0x2338]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2608]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d4a9a
mov word [ebp - 0x2614], 0x33e
lea edx, [ebp - 0x2338]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2614]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x254c], 0x4f
lea edx, [ebp - 0x2338]
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x254b], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x254c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2554], 0x51
push edx
push 0
mov eax, dword [ecx + 0xc4]
lea edx, [ebp - 0x2554]
mov dword [ebp - 0x2553], eax
mov ecx, dword [ecx + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14f84], 0
jne case.0x4d0c15.2
cmp dword [edi + 0x14f20], 0
je case.0x4d0c15.2
lea eax, [ebp - 0x1d67]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
lea eax, [ebp - 0x1d67]
push str.command_to_reward_the_player_who_introduced_you_to_Blade_Mistress.
push eax
call fcn.004722c0
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da28a
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d4b92
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2404], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2403], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2402], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2401], al
mov byte [ebp - 0x2400], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d4c1c
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4c2f
lea eax, [ebp - 0x2404]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
push dword [ebp - 0x2344]
mov ecx, edi
push 0
call fcn.004e4d00
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._log_off_character:__s___s
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
mov eax, dword [esi + 0x14f10]
add esp, 0x18
cmp eax, 2
je 0x4d4caa
cmp eax, 3
jne 0x4d4cbe
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2390
add esp, 8
lea ecx, [ebp - 0x1da8]
call fcn.00513b80
mov ecx, dword [ebp - 0x1da0]
mov dx, word [ebp - 0x1da2]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1da0], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d4d06
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1da2], dx
jmp 0x4d4d0d
mov word [ebp - 0x1da0], ax
movzx eax, word [ebp - 0x1d9e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1da6]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2390
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d4d6b
cmp eax, 3
jne 0x4d4d7f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2390
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473010
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1d67]
push str._s_left_the_game.
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
push 0
push edi
mov ecx, esi
call fcn.0048a5f0
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d4e28
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d4dff
cmp dword [edi + 0x124], eax
jg 0x4d4e28
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 0x4d4e84
mov ecx, edi
call fcn.0044cd10
imul ecx, dword [esi + 0x188], 0x980
cmp eax, 3
jne 0x4d4e65
mov eax, dword [edi + 0x12c]
mov dword [ecx + esi + 0x308], eax
mov ecx, dword [edi + 0x130]
dec ecx
imul eax, dword [esi + 0x188], 0x980
mov dword [eax + esi + 0x30c], ecx
jmp 0x4d4e8b
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.0048b230
mov eax, dword [esi + 0x14f48]
test eax, eax
je case.0x4d0c15.2
mov dword [eax + 0x23c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x240], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x244], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x248], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x24c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x250], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x254], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x258], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x25c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x260], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x1c0], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x220], 0x19
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x124], 1
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x21c], 0
mov dword [esi + 0x14f48], 0
jmp case.0x4d0c15.2
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d4f9f
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x240c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x240b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x240a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2409], al
mov byte [ebp - 0x2408], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d5029
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d503c
lea eax, [ebp - 0x240c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov dword [esi + 0x258], 0
mov edx, dword [esi + 0x188]
imul ecx, edx, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d50ea
mov eax, dword [ecx + esi + 0x2d8]
cmp dword [eax + 0x18], 0
je 0x4d50c4
cmp dword [ebp - 0xfaa], 6
jne 0x4d50c4
mov eax, dword [ebp - 0xfaf]
mov dword [esi + 0x14ee8], eax
mov eax, dword [ecx + esi + 0x2d8]
mov ecx, edi
mov eax, dword [eax + 0x18]
push dword [eax + 0x20]
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
mov ecx, dword [esi + 0x14ec8]
mov eax, dword [ebp - 0xfaf]
mov dword [esi + ecx*4 + 0x14ed0], eax
mov ecx, edi
push dword [ebp - 0xfaa]
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp al, 1
jne 0x4d50fd
push 1
push esi
mov ecx, edi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp al, 2
jne 0x4d5110
push 2
push esi
mov ecx, edi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp al, 3
jne 0x4d5123
push 3
push esi
mov ecx, edi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp al, 4
jne 0x4d5136
push 4
push esi
mov ecx, edi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp al, 0xb
jne 0x4d51eb
cmp dword [esi + 0x14f10], 3
jne 0x4d5172
push str.Trial_moderators_cannot_open_any_guild_chests.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
add esp, 8
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da287
lea eax, [ebp - 0x256c]
mov ecx, edi
push eax
imul eax, edx, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bc010
test eax, eax
je 0x4d51e1
mov edx, dword [ebp - 0x256c]
cmp edx, dword [ebp - 0x2328]
jne 0x4d51e1
imul eax, dword [esi + 0x188], 0x980
push 0xb
push esi
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [edx + 0x418]
mov dword [ecx + 0x18], eax
mov ecx, edi
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0250
jmp case.0x4d0c15.2
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d514c
cmp al, 9
jne 0x4d555d
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb910
cmp dword [ebp - 0xfaa], 6
mov edi, eax
jne 0x4d5218
mov edi, dword [esi + 0x14f54]
test edi, edi
je case.0x4d0c15.2
lea edx, [edi + 0x18c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x232c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5231
sub ecx, dword [ebp - 0x232c]
cmp ecx, 1
jb case.0x4d0c15.2
lea eax, [esi + 0x18c]
push eax
push edx
call fcn.0044d5d0
add esp, 8
test eax, eax
jne case.0x4d0c15.2
lea ecx, [ebp - 0x1e5c]
call fcn.00513b80
mov eax, dword [esi + 0x14f54]
test eax, eax
jne 0x4d54f1
cmp dword [edi + 0x14f54], eax
jne 0x4d5529
mov dword [esi + 0x14f54], edi
mov dword [edi + 0x14f54], esi
mov dword [esi + 0x14f58], eax
mov dword [edi + 0x14f58], eax
mov dword [esi + 0x14ef4], eax
mov dword [esi + 0x14ef0], eax
mov eax, dword [edi + 0x14f4c]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x14f4c]
mov dword [eax + 0x14], 0
mov byte [ebp - 0x1e2c], 0x52
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str.You_begin_trading_with__s.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [ecx + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x1e2b]
push eax
call fcn.004b3790
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov byte [ebp - 0x1e21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1e2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d5391
mov dword [ebp - 0x2334], ecx
mov edx, dword [edi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2414], dl
sar eax, 8
mov byte [ebp - 0x2413], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2412], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2411], al
mov byte [ebp - 0x2410], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d53f5
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5408
lea eax, [ebp - 0x2414]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._s_begins_trading_with_you.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1e2b]
push eax
call fcn.004b3790
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov byte [ebp - 0x1e21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1e2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2340]
push 9
push esi
call fcn.004e0250
push 8
push esi
mov esi, dword [ebp - 0x2340]
mov ecx, esi
call fcn.004e0250
push 9
push edi
mov ecx, esi
call fcn.004e0250
push 8
push edi
mov ecx, esi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp eax, edi
jne 0x4d551c
cmp dword [edi + 0x14f54], esi
jne 0x4d551c
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x2340]
push 9
push esi
mov dword [esi + 0x14ef4], eax
call fcn.004e0250
jmp case.0x4d0c15.2
cmp dword [edi + 0x14f54], 0
je case.0x4d0c15.2
lea eax, [ebp - 0x1d67]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da28a
cmp al, 8
jne 0x4d55d0
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb910
cmp dword [ebp - 0xfaa], 6
mov ecx, eax
jne 0x4d5586
mov ecx, dword [esi + 0x14f54]
test ecx, ecx
je case.0x4d0c15.2
cmp dword [esi + 0x14f54], ecx
jne 0x4d55b9
cmp dword [ecx + 0x14f54], esi
jne 0x4d55b9
mov eax, dword [ebp - 0xfaf]
mov ecx, edi
push 8
push esi
mov dword [esi + 0x14ef0], eax
call fcn.004e0250
jmp case.0x4d0c15.2
cmp dword [ecx + 0x14f54], 0
je case.0x4d0c15.2
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d514c
cmp al, 6
jne 0x4d56d0
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513f70
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0c15.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0c15.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 2
je 0x4d5650
mov ecx, edi
call fcn.0044cd10
cmp eax, 3
je 0x4d5650
mov ecx, edi
call fcn.0044cd10
cmp eax, 0x15
jne case.0x4d0c15.2
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [edi + 0x180]
mov dword [ecx + 0x18], eax
mov ecx, edi
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
call fcn.0044cd10
cmp eax, 2
je 0x4d56bd
mov ecx, edi
call fcn.0044cd10
cmp eax, 0x15
je 0x4d56bd
mov ecx, edi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
push 7
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
push 6
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
test al, al
jne case.0x4d0c15.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d5705
lea ecx, [ebp - 0x263c]
push ecx
push eax
mov ecx, edi
call fcn.004bc250
mov edx, eax
test edx, edx
je 0x4d5732
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d5711
push dword [esi + 0x10c]
push dword [esi + 0x108]
mov ecx, dword [ebp - 0x2328]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
imul ecx, dword [esi + 0x188], 0x980
mov ecx, dword [ecx + esi + 0x2d8]
mov dword [ecx + 0x18], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
push 0
push esi
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0250
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d576f
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x241c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x241b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x241a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2419], al
mov byte [ebp - 0x2418], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d57f9
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d580c
lea eax, [ebp - 0x241c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d5892
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2048], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2047]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2048]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1fe4], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
mov dword [esi + 0x258], 0
cmp dword [esi + 0x14f54], 0
jne 0x4d59b9
cmp byte [ebp - 0xfa2], 0
je 0x4d59b9
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4d59b9
cmp dword [eax + 0x20], 0
jne 0x4d59b9
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d58f0
sub ecx, edi
cmp ecx, 1
jbe 0x4d59b3
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5907
sub ecx, edi
push ecx
push edx
push str.Demon_Amulet
call fcn.00595120
add esp, 0xc
test eax, eax
je 0x4d59b3
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5935
sub ecx, edi
push ecx
push edx
push str.Dragon_Orchid
call fcn.00595120
add esp, 0xc
test eax, eax
je 0x4d59b3
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5960
sub ecx, edi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.00595120
add esp, 0xc
test eax, eax
je 0x4d59b3
lea eax, [ebp - 0x1d67]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da28a
mov edi, dword [ebp - 0x2340]
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov eax, dword [eax + esi + 0x2d8]
mov ecx, edi
push dword [eax + 0x1c]
lea eax, [ebp - 0xfb0]
push dword [ebp - 0xfaf]
push eax
push esi
call fcn.004e4e80
cmp eax, 1
jne 0x4d5b6e
push esi
mov ecx, edi
call fcn.004e7b50
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
push dword [eax + 0x20]
push esi
call fcn.004e0250
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x20], 0
jne case.0x4d0c15.2
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x14f48]
mov dword [ebp - 0x2358], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x2354], eax
xor eax, eax
mov dword [ebp - 0x233c], eax
test ecx, ecx
je 0x4d5a9b
lea eax, [ebp - 0x233c]
push eax
push ecx
mov ecx, edi
call fcn.004bc250
mov ecx, eax
test ecx, ecx
je 0x4d5a95
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x2358], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x233c]
mov edi, dword [ebp - 0x2328]
test eax, eax
cmovne edi, eax
imul eax, dword [esi + 0x188], 0x980
mov dword [ebp - 0x2328], edi
mov eax, dword [eax + esi + 0x2d8]
mov ecx, dword [eax + 0x18]
add ecx, 4
call fcn.0044e390
mov edx, dword [ebp - 0x2354]
push 0
push 5
test eax, eax
je 0x4d5b1b
imul eax, dword [esi + 0x188], 0x980
lea ecx, [ebp - 0x24b0]
push ecx
push 7
push edx
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24af], eax
mov eax, dword [ebp - 0x2358]
push eax
push 0
mov byte [ebp - 0x24ab], al
mov byte [ebp - 0x24aa], dl
call fcn.0052a580
jmp case.0x4d0c15.2
mov byte [ebp - 0x2588], 0x18
lea ecx, [ebp - 0x2588]
imul eax, dword [esi + 0x188], 0x980
push ecx
push 0xd
push edx
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x2587], eax
mov eax, dword [ebp - 0x2358]
push eax
push 0
mov byte [ebp - 0x2583], 6
mov byte [ebp - 0x257d], al
mov byte [ebp - 0x257c], dl
call fcn.0052a580
jmp case.0x4d0c15.2
cmp eax, 2
jne case.0x4d0c15.2
push esi
mov ecx, edi
call fcn.004e7b50
jmp case.0x4d0c15.2
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d5b9a
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2424], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2423], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2422], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2421], al
mov byte [ebp - 0x2420], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d5c24
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5c37
lea eax, [ebp - 0x2424]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
lea eax, [ebp - 0xfb0]
mov ecx, edi
push eax
push esi
call fcn.004df9c0
test eax, eax
je case.0x4d0c15.2
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.0x4d0c15.2
jmp dword [eax*4 + 0x4da3d4]
push 2
mov ecx, edi
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
push 3
mov ecx, edi
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d5e16
lea ecx, [ebp - 0x2570]
push ecx
push eax
mov ecx, edi
call fcn.004bc250
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2570]
push eax
push dword [ebp - 0xfab]
call fcn.004bb910
test eax, eax
je 0x4d5d6a
cmp dword [esi + 0x14f10], 1
je 0x4d5d4c
cmp byte [esi + 0x14f91], 0
je case.0x4d0c15.2
cmp byte [eax + 0x14f91], 0
je case.0x4d0c15.2
cmp dword [edi + 0x204], 0
jne 0x4d5d5f
mov dword [edi + 0x11c], 0
mov dword [edi + 0x204], eax
jmp case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2638]
push eax
push dword [ebp - 0xfab]
call fcn.004bc250
mov dword [ebp - 0x2348], eax
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d5df8
cmp dword [ecx + 0x14f10], 0
jne 0x4d5df8
mov ecx, dword [ebp - 0x2328]
call fcn.0044cd10
cmp eax, 4
jne 0x4d5dc2
mov eax, dword [ebp - 0x2328]
cmp dword [eax + 0x134], 6
je 0x4d5df2
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.0x4d0c15.2
cmp byte [ecx + 0x14f91], 0
je case.0x4d0c15.2
cmp byte [esi + 0x14f91], 0
je case.0x4d0c15.2
jmp 0x4d5df8
mov eax, dword [ebp - 0x2348]
cmp dword [edi + 0x214], 0
jne 0x4d5e0b
mov dword [edi + 0x11c], 0
mov dword [edi + 0x214], eax
jmp case.0x4d0c15.2
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513f70
mov edi, eax
test edi, edi
je 0x4d5ebc
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne 0x4d5ebc
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne 0x4d5ebc
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne 0x4d5ebc
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d5ea3
cmp dword [eax + 0x14f10], 0
jne 0x4d5ea3
cmp byte [eax + 0x14f91], 0
je 0x4d5ebc
cmp byte [esi + 0x14f91], 0
je 0x4d5ebc
cmp dword [esi + 0x14ea0], 0
jne 0x4d5eb6
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2634]
push eax
push dword [ebp - 0xfab]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
cmp byte [esi + 0x14f91], 0
je case.0x4d0c15.2
cmp byte [eax + 0x14f91], 0
je case.0x4d0c15.2
cmp dword [esi + 0x14ea4], 0
jne 0x4d5f12
cmp dword [esi + 0x14ea0], 0
jne 0x4d5f12
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea4], eax
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513f70
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0c15.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0c15.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne case.0x4d0c15.2
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d5fc6
cmp dword [eax + 0x14f10], 1
je 0x4d5fd9
cmp dword [esi + 0x14ea0], 0
jne 0x4d5fd9
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d5ffa
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x242c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x242b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x242a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2429], al
mov byte [ebp - 0x2428], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6084
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6097
lea eax, [ebp - 0x242c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 4
call fcn.0044e320
test eax, eax
je 0x4d6102
cmp dword [eax + 0x110], 6
je 0x4d615e
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, 0x60fca0
mov ecx, str.XOKHNBC12345678GD90:
cmp dword [ecx], esi
cmove eax, edx
add ecx, 4
add edx, 0x20
cmp ecx, 0x60fc9c
jl 0x4d6114
test eax, eax
je case.0x4d0c15.2
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e2a0
test eax, eax
je case.0x4d0c15.2
cmp dword [eax + 0x110], 6
jne case.0x4d0c15.2
mov ecx, eax
call fcn.0044cd20
mov ecx, dword [ebp - 0x2340]
push eax
push edi
call fcn.004cb3f0
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d618d
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x245c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x245b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x245a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2459], al
mov byte [ebp - 0x2458], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6217
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d622a
lea eax, [ebp - 0x245c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044cd10
cmp eax, 1
jne 0x4d63f1
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov byte [ebp - 0x22e9], 0
lea edi, [ebp - 0x2302]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2323], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2321], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x231f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x231d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x22e9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x22e8], al
xor eax, eax
mov dword [ebp - 0x2358], eax
nop dword [eax + eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d6342
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d6342
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d6342
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d6342
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d6344
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2358]
mov byte [edi], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d63ac
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d63ac
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d63ac
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d63ac
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d63ae
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d62e2
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d62e0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2324]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
jmp 0x4da28a
mov ecx, esi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d0c15.2
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
mov byte [ebp - 0x22e9], 0
lea edi, [ebp - 0x2302]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2323], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2321], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x231f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x231d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x22e9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x22e8], al
xor eax, eax
mov dword [ebp - 0x2358], eax
nop
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d64e2
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d64e2
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d64e2
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d64e2
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d64e4
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2358]
mov byte [edi], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d654c
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d654c
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d654c
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d654c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d654e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d6482
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d6480
jmp 0x4d63d1
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d658c
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2464], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2463], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2462], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2461], al
mov byte [ebp - 0x2460], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6616
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6629
lea eax, [ebp - 0x2464]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044cd10
cmp eax, 1
jne 0x4d67a5
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0c15.2
push edi
mov ecx, esi
call fcn.004ee880
test eax, eax
je case.0x4d0c15.2
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov dword [ebp - 0x2366], 0
mov byte [ebp - 0x2367], 0
mov word [ebp - 0x236b], cx
mov word [ebp - 0x2369], ax
je 0x4d66e3
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 4
jb 0x4d66d6
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d6879
cmp byte [ebp - 0xfa8], 0
je 0x4d6714
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 0xb
jb 0x4d6707
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d6879
cmp byte [ebp - 0xfa9], 0
je 0x4d677a
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004ee9a0
test eax, eax
jns 0x4d6873
cmp eax, 0xfffffffe
jne 0x4d676a
push str.Edit_outside_bounds_denied.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da28a
cmp eax, 0xffffffff
jne case.0x4d0c15.2
push str.That_would_close_off_parts_of_the_dungeon.
jmp 0x4d673e
cmp byte [ebp - 0xfaa], 0
je case.0x4d0c15.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004ee9a0
test eax, eax
js 0x4d6734
mov byte [ebp - 0x2366], al
jmp 0x4d6879
mov ecx, esi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d0c15.2
lea ecx, [esi + 0x148]
call fcn.00513c20
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov word [ebp - 0x2366], 0
mov byte [ebp - 0x2364], 0
mov byte [ebp - 0x2367], 0
mov word [ebp - 0x236b], cx
mov word [ebp - 0x2369], ax
je 0x4d6825
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 7
jb 0x4d66d6
xor al, al
mov byte [esi + 0x13c], 0
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d6879
cmp byte [ebp - 0xfa8], 0
je 0x4d6857
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 8
jb 0x4d6707
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d6879
cmp byte [ebp - 0xfa9], 0
je 0x4d68bc
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.0052e980
test eax, eax
js 0x4d68a0
mov byte [ebp - 0x2365], al
push 0
push 5
lea eax, [ebp - 0x236c]
mov ecx, esi
push eax
push 0xa
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
jmp case.0x4d0c15.2
cmp eax, 0xfffffffe
je 0x4d6739
cmp eax, 0xffffffff
jne case.0x4d0c15.2
push str.That_would_close_off_parts_of_the_tower.
jmp 0x4d673e
cmp byte [ebp - 0xfaa], 0
je case.0x4d0c15.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.0052e980
test eax, eax
js 0x4d68a0
mov byte [ebp - 0x2366], al
jmp 0x4d6879
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d68fa
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23ec], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23eb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ea], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23e9], al
mov byte [ebp - 0x23e8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6984
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6997
lea eax, [ebp - 0x23ec]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
mov edi, dword [ebp - 0x2328]
mov ecx, dword [edi + 0x110]
call fcn.0044e370
mov esi, eax
test esi, esi
je case.0x4d0c15.2
nop
mov ecx, esi
call fcn.0044cd10
test eax, eax
jne 0x4d69e9
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d69ff
mov ecx, dword [edi + 0x110]
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d69d0
jmp case.0x4d0c15.2
lea eax, [ebp - 0x1ea8]
mov byte [ebp - 0x1ea8], 9
push eax
mov ecx, esi
call fcn.00474c50
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1ea8]
mov eax, dword [ecx]
push edx
push 0x49
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x233c], ecx
nop dword [eax]
imul eax, dword [esi + 0x188], 0x980
add eax, esi
cmp byte [eax + edi + 0x344], 0xff
je 0x4d6b4e
mov byte [ebp - 0x1de8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1de7], eax
lea eax, [ebp - 0x1ddb]
push 0x10
push eax
imul eax, dword [esi + 0x188], 0x980
push 0x10
add eax, 0x334
add eax, esi
add eax, edi
push eax
call fcn.0044d210
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x2338]
add esp, 0x10
add eax, esi
push edx
push 0
lea edx, [ebp - 0x1de8]
mov al, byte [eax + edi + 0x345]
mov byte [ebp - 0x1de2], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, esi
mov al, byte [eax + edi + 0x344]
mov byte [ebp - 0x1de3], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
mov al, byte [eax + edi + 0x346]
mov byte [ebp - 0x1de1], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
movss xmm1, dword [eax + edi + 0x354]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [eax + edi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x233c]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x1de0], al
mov eax, dword [ebp - 0x2328]
addss xmm1, xmm0
movss dword [ebp - 0x1ddf], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x233c]
inc ecx
add edi, 0x34
mov dword [ebp - 0x233c], ecx
cmp edi, 0x68
jl 0x4d6a40
push dword [ebp - 0x2344]
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473330
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e370
test eax, eax
je case.0x4d0c15.2
nop dword [eax + eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d6bce
push esi
push eax
lea eax, [ebp - 0x26e4]
push eax
call fcn.004a2190
add esp, 0xc
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x26e4]
jmp 0x4d6c4a
cmp ecx, 0xe
jne 0x4d6c75
mov ecx, dword [eax + 0x11c]
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x25db], eax
mov byte [ebp - 0x25e0], 0x21
mov dword [ebp - 0x25df], 0x40800000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x25e0]
mov al, byte [eax + eax*2 + 0x6255e8]
mov byte [ebp - 0x25c6], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6255e9]
mov byte [ebp - 0x25c5], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6255ea]
mov byte [ebp - 0x25c4], al
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x25d7], eax
xor eax, eax
mov word [ebp - 0x25c9], ax
mov byte [ebp - 0x25c7], 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, 4
call fcn.0044e3e0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x4d6ba0
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d6cb1
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x247c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x247b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x247a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2479], al
mov byte [ebp - 0x2478], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6d3b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6d4e
lea eax, [ebp - 0x247c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov eax, dword [ebp - 0x2328]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513e20
mov esi, eax
test esi, esi
je 0x4d7085
mov ecx, esi
call fcn.0044cd10
cmp eax, 4
jne case.default.0x4d6dd9
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d6dd9
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d6dd9
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d6dd9
jmp dword [eax*4 + 0x4da3e4]
mov ecx, dword [ebp - 0x2340]
push 1
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004db360
jmp case.default.0x4d6dd9
mov ecx, dword [ebp - 0x2340]
push 0
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004db360
jmp case.default.0x4d6dd9
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0x2d8]
mov esi, dword [edx + 0x14]
cmp esi, 0xb4
jge 0x4d6e6e
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d6dd9
mov eax, dword [ecx + edi + 0x2fc]
cmp eax, dword [ecx + edi + 0x2f8]
jl 0x4d6e85
push str.You_are_already_fully_healed.
jmp 0x4d6e35
lea eax, [esi - 0xb4]
mov ecx, edi
mov dword [edx + 0x14], eax
call fcn.00481740
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 - 0x2348], 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 - 0x232c], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d6eff
mov dword [eax + edi + 0x2fc], ecx
mov byte [ebp - 0x25c0], 0x26
lea edx, [ebp - 0x2338]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0
lea edx, [ebp - 0x25c0]
push edx
push 0xd
mov eax, dword [eax + edi + 0x2fc]
mov dword [ebp - 0x25bb], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2f8]
mov dword [ebp - 0x25b7], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x25bf], eax
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push esi
lea eax, [ebp - 0x1d67]
push str.You_are_healed_for__d_points.
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0xc
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push 9
push esi
mov ecx, edi
call fcn.004731e0
push 0x5d0640
push str.healing.txt
call fcn.0056868c
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059027e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.005904be
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x232c]
push dword [ebp - 0x2348]
add eax, 0x2a0
add eax, edi
push eax
push str._s___ld___ld_n
push esi
call fcn.0043d340
push esi
call fcn.0056839e
add esp, 0x40
jmp case.default.0x4d6dd9
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f50]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0250
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x118]
call fcn.00513ed0
mov esi, eax
test esi, esi
jne 0x4d6d95
mov ecx, dword [ebp - 0x2328]
call fcn.0044cd10
cmp eax, 3
jne 0x4d711b
cmp byte [ebp - 0xfaf], al
jne 0x4d711b
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bc010
test eax, eax
mov eax, dword [ebp - 0x2328]
je 0x4d7121
cmp dword [ebp - 0x24a4], eax
jne 0x4d7121
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f50]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0250
mov eax, dword [ebp - 0x2328]
mov ecx, eax
call fcn.0044cd10
cmp eax, 3
jne case.0x4d0c15.2
cmp byte [ebp - 0xfaf], 0
jne case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bc010
test eax, eax
je case.0x4d0c15.2
mov eax, dword [ebp - 0x2328]
cmp dword [ebp - 0x24a4], eax
jne case.0x4d0c15.2
mov ecx, dword [ebp - 0x2340]
push 1
push eax
push esi
push edi
call fcn.004db360
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.0x4d0c15.2
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d728e
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d0c15.2
lea ecx, [ebp - 0x2630]
push ecx
push eax
mov ecx, edi
call fcn.004bbd10
mov edi, eax
test edi, edi
je case.0x4d0c15.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0048bc60
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [esi + 0x14f4c]
mov eax, dword [eax + 0x14]
add dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0xfa5]
test ecx, ecx
jg 0x4d722a
xor ecx, ecx
jmp 0x4d7242
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
cmp ecx, dword [eax + 0x14]
cmovg ecx, dword [eax + 0x14]
imul eax, dword [esi + 0x188], 0x980
push 9
push esi
mov eax, dword [eax + esi + 0x2d8]
sub dword [eax + 0x14], ecx
mov eax, dword [esi + 0x14f4c]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x2340]
call fcn.004e0250
mov ecx, dword [ebp - 0x2340]
push 8
push edi
call fcn.004e0250
mov ecx, dword [ebp - 0x2340]
push 1
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
cmp eax, 0xfffffffd
jne case.0x4d0c15.2
mov ecx, dword [ebp - 0xfa5]
cmp ecx, 0x989680
jle 0x4d72ae
mov ecx, 0x989680
mov edx, ecx
jmp 0x4d730c
cmp ecx, 0xff676980
jge 0x4d7306
mov ecx, 0xff676980
mov eax, dword [esi + 0x14f50]
mov edx, dword [eax + 0x14]
mov eax, ecx
neg eax
cmp eax, edx
jle 0x4d72d0
mov ecx, edx
neg ecx
imul eax, dword [esi + 0x188], 0x980
push 0xc
push esi
mov eax, dword [eax + esi + 0x2d8]
sub dword [eax + 0x14], ecx
mov eax, dword [esi + 0x14f50]
add dword [eax + 0x14], ecx
mov ecx, edi
call fcn.004e0250
push 1
mov ecx, edi
push esi
call fcn.004e0250
jmp case.0x4d0c15.2
mov edx, ecx
test ecx, ecx
js 0x4d72bb
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x14]
cmp ecx, eax
cmovle eax, edx
mov ecx, eax
jmp 0x4d72d0
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d733f
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2484], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2483], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2482], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2481], al
mov byte [ebp - 0x2480], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d73c9
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d73dc
lea eax, [ebp - 0x2484]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7460
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f10], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1f0f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1f10]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1eac], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne 0x4d7564
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.00513e20
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov ecx, esi
call fcn.0044cd10
cmp eax, 8
jne 0x4d754a
cmp dword [ebp - 0xfaf], esi
jne 0x4d754a
cmp byte [esi + 0x188], 0
jne 0x4d750c
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 - 0x24c8]
mov byte [ebp - 0x24c8], 0x33
push eax
push 6
mov dword [ebp - 0x24c7], esi
mov byte [ebp - 0x24c3], 1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
push esi
mov ecx, edi
call fcn.004eea20
jmp 0x4d753f
lea eax, [ebp - 0x1d67]
push str.The_chest_is_open_and_empty.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [edi + 0x118]
call fcn.00514150
mov ecx, dword [edi + 0x118]
call fcn.00513ed0
mov esi, eax
test esi, esi
jne 0x4d7494
jmp case.0x4d0c15.2
lea eax, [ebp - 0x1d67]
push str.You_cant_open_it.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da28a
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d75ab
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x248c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x248b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x248a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2489], al
mov byte [ebp - 0x2488], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7635
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7648
lea eax, [ebp - 0x248c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d76cc
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2118], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2117]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2118]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x20b4], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
lea ecx, [ebp - 0xfb0]
push ecx
push dword [ebp - 0x2328]
mov ecx, edi
push eax
call fcn.004dba10
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d76fc
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2494], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2493], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2492], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2491], al
mov byte [ebp - 0x2490], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d779b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
lea edx, [ebp - 0x2338]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
push edx
mov byte [ecx + 2], al
lea edx, [ebp - 0x2375]
mov eax, dword [ebp - 0x233c]
push 0
mov byte [ecx + 3], al
push edx
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
push 1
jmp 0x4da287
lea eax, [ebp - 0x2494]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2375]
push edx
push 1
jmp 0x4da287
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d77db
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x249c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x249b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x249a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2499], al
mov byte [ebp - 0x2498], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7865
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7878
lea eax, [ebp - 0x249c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044d0d0
add esp, 0x14
test esi, esi
je case.0x4d0c15.2
cmp byte [ebp - 0xfaf], 0
je case.0x4d0c15.2
imul edi, dword [esi + 0x188], 0x980
cmp byte [edi + esi + 0x344], 0xff
je 0x4d79f2
lea eax, [esi + 0x334]
add eax, edi
cmp byte [eax], 0
je 0x4d792d
mov ecx, str.Pet_A
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7918
test dl, dl
je 0x4d7914
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7918
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d78f8
xor eax, eax
jmp 0x4d791d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d79f2
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d210
mov byte [ebp - 0x1dc8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1dc7], eax
lea eax, [ebp - 0x1dbb]
push 0x10
push eax
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
call fcn.0044d210
mov al, byte [edi + esi + 0x345]
add esp, 0x20
mov byte [ebp - 0x1dc2], al
mov al, byte [edi + esi + 0x344]
mov byte [ebp - 0x1dc3], al
mov al, byte [edi + esi + 0x346]
mov byte [ebp - 0x1dc1], al
movss xmm1, dword [edi + esi + 0x354]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [edi + esi + 0x347]
mov ecx, dword [ebp - 0x2328]
push 0
push 5
mov byte [ebp - 0x1dc0], 0
movd xmm0, eax
lea eax, [ebp - 0x1dc8]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x1dbf], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
jmp case.0x4d0c15.2
cmp byte [edi + esi + 0x378], 0xff
je case.0x4d0c15.2
lea eax, [esi + 0x368]
add eax, edi
cmp byte [eax], 0
je 0x4d7a47
mov ecx, str.Pet_B
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7a32
test dl, dl
je 0x4d7a2e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7a32
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7a12
xor eax, eax
jmp 0x4d7a37
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x4d0c15.2
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d210
mov byte [ebp - 0x1e08], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1e07], eax
lea eax, [ebp - 0x1dfb]
push 0x10
push eax
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
call fcn.0044d210
mov al, byte [edi + esi + 0x379]
add esp, 0x20
mov byte [ebp - 0x1e02], al
mov al, byte [edi + esi + 0x378]
mov byte [ebp - 0x1e03], al
mov al, byte [edi + esi + 0x37a]
mov byte [ebp - 0x1e01], al
movss xmm1, dword [edi + esi + 0x388]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [edi + esi + 0x37b]
mov ecx, dword [ebp - 0x2328]
push 0
push 5
mov byte [ebp - 0x1e00], 1
movd xmm0, eax
lea eax, [ebp - 0x1e08]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x1dff], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d7b22
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x238c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x238b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x238a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2389], al
mov byte [ebp - 0x2388], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7bac
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7bbf
lea eax, [ebp - 0x238c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7c43
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x20b0], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x20af]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x20b0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x204c], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
push dword [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xfb0]
push eax
call fcn.004da400
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je 0x4d7c9a
cmp dword [esi + 0x14f10], 1
jne 0x4d7c9a
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc350
jmp case.0x4d0c15.2
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle case.0x4d0c15.2
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4d7cbc
cmp al, 4
jne case.0x4d0c15.2
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc350
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
mov ecx, dword [ebp - 0xfaf]
mov dword [eax + 0x238], ecx
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d7d14
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2444], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2443], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2442], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2441], al
mov byte [ebp - 0x2440], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7dae
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
lea edx, [ebp - 0x2338]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4da282
lea eax, [ebp - 0x2444]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4da282
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov ecx, dword [ebp - 0x2328]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.00513f70
mov edi, eax
test edi, edi
je case.0x4d0c15.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0c15.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0c15.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 2
jne case.0x4d0c15.2
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [edi + 0x180]
mov dword [ecx + 0x18], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push edi
push esi
call fcn.004daa20
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
test esi, esi
je case.0x4d0c15.2
mov al, byte [ebp - 0xfaf]
test al, al
je 0x4d7ed0
cmp al, 3
jne 0x4d7ed0
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7ee2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00472ac0
jmp case.0x4d0c15.2
mov dword [esi + 0x14f58], 1
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d0c15.2
lea ecx, [ebp - 0x268c]
push ecx
push eax
mov ecx, edi
call fcn.004bbd10
test eax, eax
je case.0x4d0c15.2
cmp dword [eax + 0x14f58], 0
je case.0x4d0c15.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0047fc90
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
test eax, eax
je case.0x4d0c15.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004cfe70
jmp case.0x4d0c15.2
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
add esp, 4
mov ecx, edi
push dword [ebp - 0x2344]
call fcn.004bc1f0
jmp case.0x4d0c15.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d7fa1
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2394], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2393], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2392], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2391], al
mov byte [ebp - 0x2390], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d802b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d803e
lea eax, [ebp - 0x2394]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov esi, eax
mov dword [ebp - 0x2348], esi
test esi, esi
je case.0x4d0c15.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d80ca
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f78], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1f77]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1f78]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1f14], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da28a
imul eax, dword [esi + 0x188], 0x980
xor edi, edi
mov dword [ebp - 0x2354], edi
mov eax, dword [eax + esi + 0x2d8]
mov dword [ebp - 0x2358], eax
lea ecx, [eax + 4]
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0x235c], ecx
test ecx, ecx
je case.0x4d0c15.2
cmp dword [ebp - 0xfaf], ecx
jne 0x4d9fd4
mov eax, dword [ecx + 0x110]
cmp eax, 0xd
jne 0x4d8311
cmp byte [esi + 0x14f91], 0
je 0x4d813d
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2f0], 0xa
jl 0x4d9ff7
mov eax, dword [ecx + 0x11c]
push 0x1a0
mov dword [ebp - 0x233c], eax
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2688], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4d8170
push esi
mov ecx, eax
call fcn.004915c0
mov edi, eax
jmp 0x4d8172
xor edi, edi
mov eax, dword [esi + 0x108]
mov ecx, dword [ebp - 0x233c]
mov dword [edi + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [edi + 0x10c], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x184], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x188], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x18c], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x190], eax
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x194], eax
mov eax, dword [ecx]
mov byte [ebp - 4], 0
mov dword [edi + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x233c]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [edi + 0x198], eax
call fcn.00568035
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x233c]
divss xmm0, dword [0x5d25f0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4d8217
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x198], eax
mov ecx, dword [ebp - 0x2328]
push edi
mov ecx, dword [ecx + 0x118]
call fcn.00513e00
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._s_sets_a_bomb_
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2328]
lea eax, [ebp - 0x1d68]
add esp, 0x1c
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a580
mov ecx, dword [ebp - 0x2358]
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2354], eax
lea ecx, [ecx + 4]
call fcn.0044e3e0
mov ecx, dword [ebp - 0x2328]
mov byte [ebp - 0x24c0], 0x18
mov eax, dword [edi + 4]
mov dword [ebp - 0x24bf], eax
xor eax, eax
mov dword [ebp - 0x24ba], eax
mov byte [ebp - 0x24b6], al
mov byte [ebp - 0x24bb], 0xc
mov al, byte [edi + 0x108]
mov byte [ebp - 0x24b5], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x24b4], al
lea eax, [ebp - 0x24c0]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
jmp 0x4d9fd4
cmp eax, 3
jne 0x4d9674
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x2360], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4d92a9
cmp ecx, 1
je 0x4d92a9
cmp ecx, 2
jne 0x4d8746
mov edi, dword [ebp - 0x2340]
lea ecx, [ebp - 0x2374]
push ecx
push dword [eax + 4]
mov ecx, edi
call fcn.004bc170
test eax, eax
je 0x4d9c37
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x18], 0
cmp dword [esi + 0x14f48], 0
je 0x4d8460
cmp dword [esi + 0x184], 0
jne 0x4d8460
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x2620], 0x3e
cmp ecx, eax
je 0x4d83b0
mov dword [ebp - 0x2334], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x239c], dl
sar eax, 8
mov byte [ebp - 0x239b], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x239a], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2399], al
mov byte [ebp - 0x2398], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d8414
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8427
lea eax, [ebp - 0x239c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov byte [ebp - 0x261f], 2
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2620]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle 0x4d8460
mov dword [esi + 0x184], 1
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 6
push edi
call fcn.00473010
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d8486
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23a4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23a3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23a2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23a1], al
mov byte [ebp - 0x23a0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d8510
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8523
lea eax, [ebp - 0x23a4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
cmp dword [esi + 0x14f48], 0
je 0x4d8578
push 0
mov byte [ebp - 0x255c], 0x23
lea ecx, [ebp - 0x255c]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x255b], eax
mov eax, dword [esi + 0x14f48]
push ecx
push 5
mov ecx, edi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052a580
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.005140a0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e560
mov ecx, dword [ebp - 0x2374]
mov dword [esi + 0x110], 4
mov dword [esi + 0x108], 4
mov dword [esi + 0x114], 4
mov dword [esi + 0x10c], 4
mov ecx, dword [ecx + 0x110]
push esi
call fcn.0044e1c0
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8621
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x110], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [ecx + 0x110]
mov dword [ecx + 0x108], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x114], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [ecx + 0x114]
mov dword [ecx + 0x10c], eax
mov eax, dword [ebp - 0x2374]
push dword [esi + 0x14f48]
mov ecx, dword [eax + 0x118]
call fcn.00513e00
mov eax, dword [ebp - 0x2374]
mov ecx, edi
mov byte [ebp - 0x258d], 0
mov byte [ebp - 0x259c], 0x2b
mov dword [ebp - 0x2591], eax
call fcn.0044cd10
mov ecx, dword [ebp - 0x2374]
mov byte [ebp - 0x259b], al
call fcn.0044cd10
mov byte [ebp - 0x259a], al
lea edx, [ebp - 0x2338]
mov eax, dword [ebp - 0x2340]
mov dword [ebp - 0x2599], 5
mov dword [ebp - 0x2595], 5
mov dword [ebp - 0x258c], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x259c]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2374]
mov byte [ebp - 0x21e8], 0x17
call fcn.0044cd20
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x21e7]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x21e8]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push dword [ebp - 0x2374]
mov ecx, esi
push edi
call fcn.0048a5f0
mov edi, dword [ebp - 0x2374]
lea ecx, [edi + 0x148]
call fcn.00513c20
push 6
push edi
mov ecx, esi
call fcn.004829c0
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8735
push edi
call fcn.00497150
push 0
push 1
push edi
mov ecx, esi
call fcn.00490910
jmp 0x4d9c37
cmp ecx, 3
jne 0x4d9c37
mov edi, dword [ebp - 0x2328]
xor eax, eax
push eax
push dword [esi + 0x10c]
mov dword [ebp - 0x233c], eax
push dword [esi + 0x108]
mov ecx, dword [edi + 0x118]
call fcn.00513e20
test eax, eax
je 0x4d88c0
nop dword [eax]
mov ecx, eax
call fcn.0044cd10
cmp eax, 2
jne 0x4d8880
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d87a6
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23ac], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23ab], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23aa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23a9], al
mov byte [ebp - 0x23a8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d8830
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8843
lea eax, [ebp - 0x23ac]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x1d67]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov dword [ebp - 0x233c], 1
mov ecx, dword [edi + 0x118]
call fcn.00513ed0
test eax, eax
jne 0x4d8780
cmp dword [ebp - 0x233c], eax
je 0x4d88c0
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
inc dword [eax + 0x118]
lea ecx, [ecx + 4]
call fcn.0044e3e0
jmp 0x4d9fd4
push 0x990
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2684], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4d88ec
push 2
mov ecx, eax
call fcn.0049fc50
mov dword [ebp - 0x2354], eax
jmp 0x4d88f6
mov dword [ebp - 0x2354], 0
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x233c], 0
mov dword [ebp - 0x232c], eax
nop
push eax
lea eax, [ebp - 0x17b0]
push str._s_Recall
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0x10
mov dword [ebp - 0x267c], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4d8953
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.0050b900
mov edi, eax
jmp 0x4d8955
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x233c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
mov dword [edi + 0x108], 0
mov dword [edi + 0x10c], 0x447a0000
call fcn.00568035
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x2354]
add edx, 0x14
mov dword [edi + 0x118], edx
push edi
mov ecx, dword [eax + 0x180]
call fcn.0050c1c0
mov eax, dword [ebp - 0x232c]
inc dword [ebp - 0x233c]
add eax, 0x50
mov dword [ebp - 0x232c], eax
cmp eax, str.Dirk
jl 0x4d8910
mov esi, dword [ebp - 0x2354]
xor edi, edi
call fcn.00568035
cdq
mov ecx, 0xc
idiv ecx
push 0x120
mov dword [ebp - 0x233c], edx
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2678], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4d8a1a
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b900
mov edx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d8a22
xor edx, edx
mov dword [ebp - 0x232c], edx
mov eax, dword [edx + 0x11c]
mov ecx, dword [ebp - 0x233c]
mov byte [ebp - 4], 0
mov dword [eax], ecx
mov ecx, edi
imul ecx, edi
mov dword [eax + 4], edi
mov dword [edx + 0x108], 0
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x10c], xmm0
cmp edi, 0xc
jbe 0x4d8a91
lea eax, [edi*8]
sub eax, edi
lea eax, [eax*2 + 0x640]
imul eax, edi
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x10c], xmm0
push edx
mov dword [edx + 0x118], 0xa
call fcn.0052e330
mov ecx, dword [esi + 0x180]
add esp, 4
push dword [ebp - 0x232c]
call fcn.0050c1c0
inc edi
cmp edi, 0x11
jl 0x4d89d2
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2674], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4d8aee
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.0050b900
mov edi, eax
jmp 0x4d8af0
xor edi, edi
mov eax, dword [edi + 0x11c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0x3f800000
mov dword [edi + 0x10c], 0x41200000
call fcn.00568035
cdq
mov ecx, 0x1e
idiv ecx
push edi
add edx, 0x32
mov dword [edi + 0x118], edx
mov edi, dword [ebp - 0x2354]
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2680], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4d8b6e
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.0050b900
mov ecx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d8b76
xor ecx, ecx
mov dword [ebp - 0x232c], 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.00568035
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26c0], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4d8bec
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.0050b900
jmp 0x4d8bee
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.00568035
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x28
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26bc], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4d8c57
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.0050b900
jmp 0x4d8c59
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.00568035
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26b8], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4d8cc2
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.0050b900
jmp 0x4d8cc4
xor eax, eax
mov dword [eax + 0x10c], 0x47435000
mov dword [eax + 0x118], 0x14
mov ecx, dword [edi + 0x180]
push eax
mov byte [ebp - 4], 0
call fcn.0050c1c0
mov dword [ebp - 0x232c], 0
mov dword [ebp - 0x233c], 0x1f4
nop dword [eax]
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26b4], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4d8d2f
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.0050b900
mov edi, eax
jmp 0x4d8d31
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x232c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
inc ecx
mov eax, ecx
mov dword [edi + 0x108], 0
imul eax, dword [ebp - 0x233c]
mov dword [ebp - 0x232c], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10c], xmm0
call fcn.00568035
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push edi
mov dword [edi + 0x118], edx
call fcn.0052bec0
add esp, 8
push edi
mov edi, dword [ebp - 0x2354]
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
mov eax, dword [ebp - 0x233c]
add eax, 0x1f4
mov dword [ebp - 0x233c], eax
cmp eax, 0x7d0
jl 0x4d8d00
mov eax, str.Plain
mov esi, 1
mov dword [ebp - 0x232c], eax
nop word [eax + eax]
push eax
lea eax, [ebp - 0x17b0]
push str._s_Bead
push eax
call fcn.0043d370
push 0x120
call fcn.00558849
add esp, 0x10
mov dword [ebp - 0x26b0], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4d8e23
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d8e25
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
xor edx, edx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [eax], 0
mov byte [ebp - 4], 0
movss dword [eax + 4], xmm0
mov eax, esi
imul eax, esi
mov dword [ecx + 0x108], 0
imul eax, eax, 0x3e8
movd xmm0, eax
mov eax, 0x190
div esi
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x10c], xmm0
mov dword [ecx + 0x118], eax
mov ecx, dword [edi + 0x180]
call fcn.0050c1c0
mov eax, dword [ebp - 0x232c]
inc esi
add eax, 0x20
mov dword [ebp - 0x232c], eax
cmp eax, str.Fiery
jl 0x4d8de0
mov esi, dword [ebp - 0x2348]
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26ac], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4d8ed0
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d8ed2
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26a8], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x4d8f57
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d8f59
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26a4], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x4d8fde
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d8fe0
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26a0], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x4d9065
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d9067
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x269c], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4d90ec
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d90ee
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2698], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4d9173
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d9175
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 [edi + 0x180]
call fcn.0050c1c0
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x2694], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4d91fa
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b900
mov ecx, eax
jmp 0x4d91fc
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 [edi + 0x180]
call fcn.0050c1c0
mov dword [edi + 0x184], 0
mov dword [edi + 0x188], 0
mov eax, dword [esi + 0x108]
mov dword [edi + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [edi + 0x10c], eax
push edi
mov edi, dword [ebp - 0x2328]
mov ecx, dword [edi + 0x118]
call fcn.00513e00
push edi
push dword [esi + 0x10c]
mov ecx, esi
push dword [esi + 0x108]
call fcn.00481b50
jmp 0x4d9c37
cmp dword [esi + 0x14f48], 0
je 0x4d9396
cmp dword [esi + 0x184], 0
jne 0x4d9396
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x262c], 0x3e
cmp ecx, eax
je 0x4d92e0
mov dword [ebp - 0x2334], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23b4], dl
sar eax, 8
mov byte [ebp - 0x23b3], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23b2], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23b1], al
mov byte [ebp - 0x23b0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d9344
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9357
lea eax, [ebp - 0x23b4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x262b], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x262c]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle 0x4d9396
mov dword [esi + 0x184], 1
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x2340]
push 0
call fcn.004e4d00
cmp dword [esi + 0x14f48], 0
mov edi, dword [ebp - 0x2328]
je 0x4d9404
push 0
mov byte [ebp - 0x2564], 0x23
lea ecx, [ebp - 0x2564]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x2563], eax
mov eax, dword [esi + 0x14f48]
push ecx
push 5
mov ecx, edi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052a580
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.005140a0
push 0
push 0
mov ecx, esi
call fcn.0048a5f0
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d9425
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23c4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23c3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23c2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23c1], al
mov byte [ebp - 0x23c0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d94af
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d94c2
lea eax, [ebp - 0x23c4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov ecx, edi
mov byte [ebp - 0x25b0], 0x2b
call fcn.0044cd10
mov edi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x25af], al
mov byte [ebp - 0x25ae], 0
mov dword [ebp - 0x25ad], 0x100
mov dword [ebp - 0x25a9], 0x100
mov dword [ebp - 0x25a0], 0
mov byte [ebp - 0x25a1], 0
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x25b0]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov edx, dword [ebp - 0x2360]
mov eax, dword [edx]
test eax, eax
jne 0x4d95ea
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [esi + 0x110], eax
mov dword [esi + 0x108], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [esi + 0x114], eax
mov dword [esi + 0x10c], eax
mov eax, dword [edx + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [ecx + esi + 0x310], eax
mov eax, dword [edx + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [ecx + esi + 0x314], eax
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9640
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [ecx + 0x108], eax
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x14f48]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [ecx + 0x10c], eax
jmp 0x4d9640
cmp eax, 1
jne 0x4d9640
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 [esi + 0x110], edx
mov dword [esi + 0x108], edx
mov dword [esi + 0x114], ecx
mov dword [esi + 0x10c], ecx
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d9640
mov dword [eax + 0x108], edx
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x10c], ecx
mov ecx, dword [edi + 0x48]
push 0
call fcn.0044e250
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9660
push ecx
mov ecx, dword [eax + 0x118]
call fcn.00513e00
push dword [ebp - 0x2344]
mov ecx, edi
push 1
call fcn.004e4d00
jmp 0x4d9c37
cmp eax, 0x11
je 0x4d9c56
cmp eax, 0x14
je 0x4d9c56
cmp eax, 0x12
je 0x4d9ae3
cmp eax, 0x13
je 0x4d9ae3
cmp eax, 0x15
jne 0x4d9fd4
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d96c3
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23cc], dl
shr eax, 8
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23cb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ca], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23c9], al
mov byte [ebp - 0x23c8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d974d
mov eax, dword [ebp - 0x2360]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2370]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9760
lea eax, [ebp - 0x23cc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0x2340]
mov byte [ebp - 0x24a8], 0
mov ecx, dword [eax + 0x48]
call fcn.0044e370
cmp dword [ebp - 0x2328], eax
jne 0x4da08d
mov ecx, 0x6102d4
mov edi, 1
nop dword [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d97c7
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x24a8]
cmp eax, 3
movzx edx, dl
cmovle edx, edi
mov dword [ebp - 0x24a8], edx
jmp 0x4d97cd
mov edx, dword [ebp - 0x24a8]
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9790
mov edi, dword [ebp - 0x2328]
test dl, dl
je 0x4da08d
cmp dword [esi + 0x14f48], 0
jne 0x4da05c
mov edx, dword [ebp - 0x232c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x2360], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x2370], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x233c], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4d9c37
push 0x2c4
call fcn.00558849
add esp, 4
mov dword [ebp - 0x26c4], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4d9867
push 0
push 0
push dword [ebp - 0x2370]
mov ecx, eax
push dword [ebp - 0x2360]
call fcn.00496980
mov dword [ebp - 0x2354], eax
jmp 0x4d9871
mov dword [ebp - 0x2354], 0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 4], 0
push eax
mov eax, dword [ebp - 0x235c]
add eax, 8
push str._s____n_
push eax
call fcn.0043dd00
lea eax, [ebp - 0x13b0]
push eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1bb0]
push str._ss__s
push eax
call fcn.0043d370
mov eax, dword [ebp - 0x2354]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x1bb0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2354]
add esp, 0x2c
mov edx, dword [ebp - 0x232c]
movss xmm0, dword [ebp - 0x233c]
mov byte [ecx + 0x1dd], 1
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x10c], eax
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x110], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x114], eax
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x228], eax
mov eax, dword [esi + 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
push ecx
mov ecx, dword [edi + 0x118]
call fcn.00513e00
mov ecx, dword [ebp - 0x2354]
mov dword [ecx + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2354]
sub eax, 0x2710
mov dword [ecx + 0x118], eax
mov byte [ebp - 0x2514], 0x18
mov dword [ebp - 0x2513], ecx
call fcn.0044cd10
mov ecx, dword [ebp - 0x2354]
mov byte [ebp - 0x250f], al
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x250e], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x250c], ax
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x2509], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x2508], al
lea eax, [ebp - 0x2514]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052a580
mov ecx, dword [ebp - 0x2354]
push edi
call fcn.00497150
mov ecx, dword [ebp - 0x2354]
mov byte [ebp - 0x24dc], 0x38
mov dword [ebp - 0x24db], 0xffffffff
mov dword [ebp - 0x24d7], 0xffffffff
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x24d3], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x24d2], al
lea eax, [ebp - 0x24dc]
push eax
push 0x11
mov word [ebp - 0x24d1], 0xff
mov dword [ebp - 0x24cf], 0x100ff
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052a580
mov eax, dword [ebp - 0x2354]
mov dword [esi + 0x14f48], eax
mov dword [eax + 0x21c], esi
mov dword [esi + 0x184], 1
jmp 0x4d9c37
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d9b05
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23d4], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23d3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23d2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23d1], al
mov byte [ebp - 0x23d0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d9b8f
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9ba2
lea eax, [ebp - 0x23d4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d9c24
xor edi, edi
mov ecx, 0x6102d4
nop
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d9beb
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle edi, eax
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9bc0
test edi, edi
jne 0x4d9c02
push dword [ebp - 0x2328]
jmp 0x4d9c25
push str.Please_leave_town_first._:_
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x11c]
jmp 0x4d9fb8
push edi
push dword [ebp - 0x232c]
mov ecx, dword [ebp - 0x2340]
push esi
call fcn.004ccae0
mov ecx, dword [ebp - 0x2358]
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2354], eax
lea ecx, [ecx + 4]
call fcn.0044e3e0
jmp 0x4d9fd4
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x233c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d9c78
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2474], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2473], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2472], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2471], al
mov byte [ebp - 0x2470], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d9d02
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9d15
lea eax, [ebp - 0x2474]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d9fa1
cmp dword [edi + 0x124], eax
jne 0x4d9fa1
xor edi, edi
mov ecx, 0x6102d4
nop dword [eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d9d6b
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle edi, eax
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9d40
test edi, edi
jne 0x4d9f97
mov eax, dword [ebp - 0x235c]
cmp dword [eax + 0x110], 0x11
je 0x4d9f7a
mov edi, dword [ebp - 0x233c]
cmp dword [edi + 0x10], 0xffffffff
jle 0x4d9db5
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
mov eax, dword [edi + 0xc]
cmp eax, 4
jge 0x4d9dd5
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
jle 0x4d9df4
cmp eax, 9
jge 0x4d9df4
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
cmp eax, 0xb
jne 0x4d9e11
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
cmp eax, 0x10
jne 0x4d9e2e
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
cmp eax, 0x11
jle 0x4d9e4b
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
mov ecx, esi
call fcn.00481740
mov ecx, eax
cmp ecx, 1
jge 0x4d9e62
mov ecx, esi
call fcn.00481920
mov ecx, eax
movss xmm1, dword [edi + 8]
divss xmm1, dword [0x5d25e8]
imul eax, dword [edi + 0xc], 0x258
addss xmm1, dword [0x5d2058]
mov edx, dword [eax + 0x61e860]
mov eax, dword [edi + 4]
shr eax, 0x1f
cmp dword [edi], 0
jl 0x4d9e94
cmp eax, 1
jne 0x4d9ea3
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5d6350]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
jge 0x4d9ece
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
sub eax, ecx
cmp eax, 9
jle 0x4d9eed
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd610
jmp 0x4d9c37
xor eax, eax
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e370
mov edi, eax
test edi, edi
je 0x4d9f7a
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d9f3d
mov eax, dword [edi + 0x108]
cmp eax, dword [esi + 0x108]
jne 0x4d9f3d
mov eax, dword [edi + 0x10c]
cmp eax, dword [esi + 0x10c]
jne 0x4d9f3d
inc dword [ebp - 0x2354]
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e420
mov edi, eax
test edi, edi
jne 0x4d9f10
cmp dword [ebp - 0x2354], 1
jle 0x4d9f7a
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push dword [ebp - 0x233c]
push esi
call fcn.004cd610
jmp 0x4d9c37
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push dword [ebp - 0x233c]
push esi
call fcn.004ce9a0
jmp 0x4d9c37
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4d9c07
lea eax, [ebp - 0x1d67]
push str.The_EarthKey_doesnt_work_here.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
mov eax, dword [ecx]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0x2358]
lea ecx, [ecx + 4]
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0x235c], eax
test ecx, ecx
jne 0x4d8101
jmp 0x4da0d1
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1fe0], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1fdf]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1fe0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1f7c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x2348]
jmp 0x4da0d1
push 0x64
lea eax, [ebp - 0x217f]
mov byte [ebp - 0x2180], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044d210
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2180]
jmp 0x4da0bc
push 0x64
lea eax, [ebp - 0x224f]
mov byte [ebp - 0x2250], 0x17
push eax
push 0xc8
push str.You_must_be_in_town_to_let_out_a_pet.
call fcn.0044d210
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2250]
mov eax, dword [ebp - 0x2340]
push 0
push edx
push 0x65
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov edi, dword [ebp - 0x2354]
test edi, edi
je case.0x4d0c15.2
mov eax, dword [edi + 0x118]
cmp eax, 1
jle 0x4da102
mov ecx, dword [ebp - 0x2340]
dec eax
push esi
mov dword [edi + 0x118], eax
call fcn.004e7b50
jmp case.0x4d0c15.2
mov ecx, dword [ebp - 0x2358]
push edi
lea ecx, [ecx + 4]
call fcn.0044e560
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x2340]
push esi
call fcn.004e7b50
jmp case.0x4d0c15.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb910
mov ecx, eax
test ecx, ecx
je case.0x4d0c15.2
mov eax, dword [ecx + 0x14f10]
cmp eax, 1
je 0x4da191
cmp eax, 2
je 0x4da191
cmp eax, 3
je 0x4da191
imul eax, dword [ecx + 0x188], 0x980
test byte [eax + ecx + 0x318], 1
jne 0x4da191
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4da1ab
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4da1b3
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4da1af
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4da1b3
or edx, ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x253c], 0x4f
mov eax, dword [eax]
mov dword [ebp - 0x253b], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4da1d8
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23dc], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23db], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23da], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23d9], al
mov byte [ebp - 0x23d8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4da262
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4da275
lea eax, [ebp - 0x23dc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x253c]
push 0
push edx
push 5
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x237c]
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 - 0x237c]
test eax, eax
jg 0x4d0bc0
lea ecx, [ebp - 0x2338]
call fcn.004728c0
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.00558887
mov esp, ebp
pop ebp
ret