Function at 0x4d08e0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c4c62
mov eax, dword fs:[0]
push eax
mov eax, 0x26bc
call fcn.00556ea0
mov eax, dword [0x626734]
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 - 0x233c], 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 - 0x26c8], 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 0x4d9aff
mov edx, 0xfa0
mov edi, dword [ebp - 0x233c]
cmp eax, 0xfa0
cmovg eax, edx
lea edx, [ebp - 0x2338]
push edx
mov dword [ebp - 0x237c], eax
lea edx, [ebp - 0x2344]
mov ecx, dword [edi + 0x34]
push edx
lea edx, [ebp - 0x237c]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0xfb0]
push edx
mov eax, dword [eax + 8]
call eax
movsx eax, byte [ebp - 0xfb0]
dec eax
cmp eax, 0x55
ja case.0x4d0a22.2
movzx eax, byte [eax + 0x4d9bc0]
jmp dword [eax*4 + 0x4d9b28]
mov ecx, dword [0x62aae0]
lea eax, [ebp - 0xfaf]
push eax
call fcn.0050e070
test eax, eax
je 0x4d0a5b
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xa
push edx
lea edx, [ebp - 0x2350]
jmp 0x4d9ac0
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je 0x4d0ab6
nop word [eax + eax]
mov ecx, dword [ebp - 0x2328]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044e520
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.004bb8d0
mov esi, eax
test esi, esi
jne 0x4d0a80
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je 0x4d0af6
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
jne 0x4d0ad0
push 0x1502c
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2658], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4d0b1c
mov ecx, eax
call fcn.00472470
mov ecx, eax
jmp 0x4d0b1e
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.0044e180
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2438], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x243b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x243a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x243c], cl
mov byte [ebp - 0x2439], al
cmp edx, dword [ebp - 0x2330]
je 0x4d0c14
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d0c27
lea eax, [ebp - 0x243c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2577], 0
push edx
push 0
lea edx, [ebp - 0x2578]
push edx
push 6
jmp 0x4d9ac5
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
xor edi, edi
call fcn.004bb8d0
mov esi, eax
test esi, esi
je 0x4d0f8f
mov dword [ebp - 0x232c], 1
nop dword [eax]
nop word [eax + eax]
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._closing_connection:__s___s
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
add esp, 0x18
lea ecx, [ebp - 0x1d98]
call fcn.005132b0
mov ecx, dword [ebp - 0x1d90]
mov dx, word [ebp - 0x1d92]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1d90], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d0d06
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d92], dx
jmp 0x4d0d0d
mov word [ebp - 0x1d90], ax
movzx eax, word [ebp - 0x1d8e]
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 - 0x1d96]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d0d6b
cmp eax, 3
jne 0x4d0d7f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a26d0
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473190
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.00472440
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.00529cd0
push 0
push edi
mov ecx, esi
call fcn.0048a8c0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e520
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d0e34
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d0e0b
cmp dword [edi + 0x124], eax
jg 0x4d0e34
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 0x4d0e5d
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.0048b4f0
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d0f5d
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 - 0x233c]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
jne 0x4d0c80
mov edi, dword [ebp - 0x232c]
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x233c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je 0x4d0fdb
mov edi, dword [ebp - 0x233c]
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
jne 0x4d0fb0
jmp case.0x4d0a22.2
test edi, edi
jne case.0x4d0a22.2
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
add esp, 0x10
lea ecx, [ebp - 0x1da8]
call fcn.005132b0
mov ecx, dword [ebp - 0x1da0]
mov dx, word [ebp - 0x1da2]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x1da0], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov edi, eax
cmp cx, 0x18
jae 0x4d104c
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1da2], dx
jmp 0x4d1053
mov word [ebp - 0x1da0], ax
movzx eax, word [ebp - 0x1d9e]
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 - 0x1da6]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
add esp, 0x20
jmp case.0x4d0a22.2
mov eax, dword [ebp - 0x237c]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d380
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bc930
jmp case.0x4d0a22.2
mov eax, dword [str.Connecting...]
mov dword [0x629144], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c920
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044d380
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d220
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d380
mov ecx, dword [0x62aae4]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00530270
test eax, eax
je 0x4d1145
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
push edx
lea edx, [ebp - 0x2350]
jmp 0x4d9ac0
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb950
test eax, eax
je 0x4d1181
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 6
push edx
lea edx, [ebp - 0x2350]
jmp 0x4d9ac0
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004831d0
mov ecx, dword [ebp - 0xf07]
mov edi, eax
mov dword [esi + 0x14f8c], ecx
mov edx, dword [ebp - 0x2334]
mov ecx, edx
mov esi, dword [ebp - 0x2338]
cmp esi, edx
mov byte [ebp - 0x23a8], 0
cmovne ecx, esi
cmove esi, edx
mov dword [ebp - 0x2334], ecx
mov ecx, dword [ebp - 0x2344]
mov eax, ecx
sar eax, 8
mov edx, ecx
mov byte [ebp - 0x23ab], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23aa], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x18
shr edx, 8
mov byte [ebp - 0x23ac], cl
mov byte [ebp - 0x23a9], al
cmp esi, dword [ebp - 0x2330]
je 0x4d1258
mov eax, dword [ebp - 0x232c]
mov byte [esi], cl
mov byte [esi + 1], dl
mov byte [esi + 2], al
mov eax, dword [ebp - 0x2348]
mov byte [esi + 3], al
mov byte [esi + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d126b
lea eax, [ebp - 0x23ac]
push eax
push esi
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
test edi, edi
jne 0x4d129b
mov eax, dword [ebp - 0x2344]
lea edx, [ebp - 0x2338]
push edx
mov dword [ebp - 0x2383], eax
lea edx, [ebp - 0x2384]
mov eax, dword [ebp - 0x233c]
push 0
push edx
push 5
mov ecx, dword [eax + 0x34]
jmp 0x4d9ac8
cmp edi, 1
jne 0x4d12c6
mov dword [ebp - 0x234f], edi
mov eax, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4d9ac8
cmp edi, 2
jne 0x4d12d3
mov dword [ebp - 0x234f], edi
jmp 0x4d12a6
cmp edi, 3
jne 0x4d12e0
mov dword [ebp - 0x234f], edi
jmp 0x4d12a6
cmp edi, 0xa
jne 0x4d12ed
mov dword [ebp - 0x234f], edi
jmp 0x4d12a6
cmp edi, 0x14
jne 0x4d1344
mov eax, dword [ebp - 0x233c]
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 [0x62aae4]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.005304b0
mov ecx, dword [0x62aae4]
call fcn.00530430
jmp case.0x4d0a22.2
cmp edi, 0xffffffff
jne case.0x4d0a22.2
mov dword [ebp - 0x234f], edi
jmp 0x4d12a6
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2430], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2433], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2432], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2434], cl
mov byte [ebp - 0x2431], al
cmp edx, dword [ebp - 0x2330]
je 0x4d13fb
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d140e
lea eax, [ebp - 0x2434]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov eax, dword [str.Connecting...]
mov dword [0x629144], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c920
mov esi, dword [ebp - 0x233c]
mov eax, 0x3e8
mov edi, dword [0x62aae8]
push 0x20
cmp dword [esi + 0x7c], 0
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push eax
mov dword [ebp - 0x232c], edi
call fcn.0044d380
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d220
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d380
mov ecx, dword [0x62aae4]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00530270
test eax, eax
je 0x4d14a9
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 0x4d9ac8
mov ecx, dword [esi + 0x48]
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x4d151e
mov edi, dword [ebp - 0x233c]
nop dword [eax]
mov ecx, dword [esi + 0x110]
call fcn.0044e330
test eax, eax
je 0x4d150a
mov edi, dword [ebp - 0x24a0]
nop word [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14f8c]
jne 0x4d14ef
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044e3e0
test eax, eax
jne 0x4d14e0
mov dword [ebp - 0x24a0], edi
mov edi, dword [ebp - 0x233c]
mov ecx, dword [edi + 0x48]
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x4d14c0
mov edi, dword [ebp - 0x232c]
cmp dword [ebp - 0x24a0], edi
jl 0x4d1535
mov dword [ebp - 0x234f], 0xd
jmp 0x4d12a6
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5da650]
lahf
test ah, 0x44
jnp 0x4d1559
mov dword [ebp - 0x234f], 5
jmp 0x4d12a6
mov esi, dword [ebp - 0x233c]
lea eax, [ebp - 0x2328]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb950
test eax, eax
je 0x4d15a3
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 0x4d9ac8
push dword [ebp - 0x2344]
mov ecx, esi
call fcn.004bc1b0
mov edi, eax
test edi, edi
je case.0x4d0a22.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.004831d0
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
cmp dword [edi + 0x14f7c], 1
jne 0x4d161b
lea ecx, [ebp - 0x1e4c]
call fcn.005132b0
lea eax, [edi + 0x14f6c]
push eax
lea ecx, [ebp - 0x1e4c]
call fcn.00513310
test eax, eax
jg 0x4d164e
mov dword [edi + 0x14f7c], 0
test esi, esi
je 0x4d126f
cmp esi, 1
jne 0x4d165d
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
mov dword [ebp - 0x234f], 7
jmp 0x4d12a6
cmp esi, 2
jne 0x4d168c
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp esi, 3
jne 0x4d16b7
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp esi, 4
jne 0x4d16e2
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp esi, 0xffffffff
jne 0x4d170d
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp esi, 0xa
jne 0x4d1738
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp esi, 0x14
je 0x4d12f2
cmp esi, 0xb
jne case.0x4d0a22.2
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
mov eax, dword [ebp - 0x2344]
cmp dword [ebp - 0xfaf], eax
jne case.0x4d0a22.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004e5fa0
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2428], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x242b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x242a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x242c], cl
mov byte [ebp - 0x2429], al
cmp edx, dword [ebp - 0x2330]
je 0x4d1839
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d184c
lea eax, [ebp - 0x242c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d1877
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 0x4d1a05
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 0x4d1a21
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 0x4d1a81
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 0x4d1a88
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d1ade
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 0x4d1ae5
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d1b3b
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 0x4d1b42
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d1b98
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 0x4d1b9f
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d1bf5
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 0x4d1bfc
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d1c52
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 0x4d1c59
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d1caf
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 0x4d1cb6
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d1d0c
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 0x4d1d13
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 0x4d9ac5
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2420], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2423], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2422], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2424], cl
mov byte [ebp - 0x2421], al
cmp edx, dword [ebp - 0x2330]
je 0x4d1e41
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d1e54
lea eax, [ebp - 0x2424]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d1e66
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bc1b0
mov edi, eax
mov dword [ebp - 0x2358], edi
test edi, edi
je case.0x4d0a22.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d1e98
cmp eax, 7
jle 0x4d1ea2
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044d380
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d220
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044d080
lea eax, [ebp - 0xf94]
push eax
call fcn.0044da10
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d1662
lea eax, [ebp - 0xf94]
push eax
call fcn.0044f070
add esp, 4
test eax, eax
jne 0x4d1f2e
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
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.004859b0
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.0044ed50
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 - 0x233c]
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.0044e330
mov esi, eax
test esi, esi
je 0x4d21e5
mov edi, dword [ebp - 0x232c]
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e330
mov esi, eax
test esi, esi
jne 0x4d21c0
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.0044e330
mov esi, eax
test esi, esi
je 0x4d2237
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e330
mov esi, eax
test esi, esi
jne 0x4d2212
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.0044e330
mov esi, eax
test esi, esi
je 0x4d2289
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e330
mov esi, eax
test esi, esi
jne 0x4d2264
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.0044e330
mov esi, eax
test esi, esi
je 0x4d22db
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e330
mov esi, eax
test esi, esi
jne 0x4d22b6
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.004b3890
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b3890
push 0x120
call fcn.00556676
add esp, 0x14
mov dword [ebp - 0x2654], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d2366
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b040
mov esi, eax
jmp 0x4d2368
xor esi, esi
mov eax, dword [esi + 0x11c]
push esi
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [esi + 0x108], 0x3f800000
mov dword [esi + 0x10c], 0x3f800000
mov dword [esi + 0x118], 2
call fcn.0052dad0
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 4
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e180
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2650], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d23ef
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d23f1
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.0044e180
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d24ec
call fcn.00556676
add esp, 4
mov dword [ebp - 0x264c], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d2498
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d249a
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 0x4d257a
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2648], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d2516
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d2518
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.0044e180
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 [0x60c370]
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 [0x60c374]
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.0048b4f0
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d2715
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 0x4d271c
mov byte [ebp - 0x1cb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d2772
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 0x4d2779
mov byte [ebp - 0x1c93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d27cf
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 0x4d27d6
mov byte [ebp - 0x1c73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d282c
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 0x4d2833
mov byte [ebp - 0x1c53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d2889
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 0x4d2890
mov byte [ebp - 0x1c33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d28e6
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 0x4d28ed
mov byte [ebp - 0x1c13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d2943
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 0x4d294a
mov byte [ebp - 0x1bf3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d29a0
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 0x4d29a7
mov byte [ebp - 0x1bd3], 0
mov eax, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1cb4]
mov ecx, dword [eax + 0x34]
push edx
push 0x101
jmp 0x4d9ac8
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23f0], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23f3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23f2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23f4], cl
mov byte [ebp - 0x23f1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d2a6d
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d2a80
lea eax, [ebp - 0x23f4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d2aab
dec ecx
or ecx, 0xfffffff8
inc ecx
mov byte [ebp - 0xfaf], cl
movsx ecx, cl
imul eax, ecx, 0x980
add eax, esi
cmp dword [eax + 0x2c4], 0xffffffff
jle 0x4d2b96
add eax, 0x2a0
push eax
call fcn.0044f170
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.004bbfd0
test eax, eax
je 0x4d2b21
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.004bb4b0
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.0048b4f0
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 0x4d2bec
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 0x4d2bf3
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d2c49
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 0x4d2c50
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d2ca6
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 0x4d2cad
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d2d03
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 0x4d2d0a
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d2d60
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 0x4d2d67
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d2dbd
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 0x4d2dc4
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d2e1a
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 0x4d2e21
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d2e8f
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 0x4d9ac5
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x1bd3], 0
push edx
push 0
lea edx, [ebp - 0x1cb4]
push edx
push 0x101
jmp 0x4d9ac5
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23e0], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23e3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23e2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23e4], cl
mov byte [ebp - 0x23e1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d2f53
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d2f66
lea eax, [ebp - 0x23e4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d2f78
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d2fa4
cmp eax, 7
jle 0x4d2fac
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.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.0048b4f0
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d2bec
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 0x4d2bf3
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23d0], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23d3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23d2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23d4], cl
mov byte [ebp - 0x23d1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d32d2
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d32e5
lea eax, [ebp - 0x23d4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
push 0x5cd640
push str.bugs.txt
call fcn.0056632e
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0058d894
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.0058da91
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
cmp byte [ebp - 0xfad], 0
mov ecx, 0x5d5b0c
mov eax, 0x5d5b08
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfaf], 0
mov ecx, 0x5d5b0c
mov eax, 0x5d5b10
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfac], 0
mov ecx, 0x5d5b0c
mov eax, 0x5d5b14
cmove eax, ecx
push eax
push esi
call fcn.0043d340
add esp, 0x40
mov ecx, 0x5d5b0c
cmp byte [ebp - 0xfae], 0
mov eax, 0x5d5b18
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfab], 0
mov ecx, 0x5d5b0c
mov eax, 0x5d5b1c
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.00566040
add esp, 4
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.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.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23c8], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23cb], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23ca], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23cc], cl
mov byte [ebp - 0x23c9], al
cmp edx, dword [ebp - 0x2330]
je 0x4d352d
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3540
lea eax, [ebp - 0x23cc]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3553
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov byte [ebp - 0xfaf], al
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
movsx ecx, byte [ebp - 0xfaf]
imul ecx, ecx, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x2344]
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x2383], ecx
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2384]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [esi + 0x188], eax
push 0
push 0
mov eax, dword [ecx + esi + 0x308]
mov dword [esi + 0x110], eax
mov dword [esi + 0x108], eax
mov eax, dword [ecx + esi + 0x30c]
mov ecx, esi
mov dword [esi + 0x114], eax
mov dword [esi + 0x10c], eax
call fcn.0048a8c0
push dword [ebp - 0x2344]
mov ecx, edi
push 1
call fcn.004e45b0
imul ecx, dword [esi + 0x188], 0x980
add ecx, 0x358
add ecx, esi
call fcn.00513350
imul ecx, dword [esi + 0x188], 0x980
add ecx, 0x38c
add ecx, esi
call fcn.00513350
lea ecx, [ebp - 0x1e3c]
call fcn.005132b0
imul ecx, dword [esi + 0x188], 0x980
lea eax, [ebp - 0x1e3c]
push eax
add ecx, 0x324
add ecx, esi
call fcn.00513310
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*2]
add eax, eax
add dword [ecx + esi + 0x2fc], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2f8]
cmp dword [eax + esi + 0x2fc], ecx
jle 0x4d3694
mov dword [eax + esi + 0x2fc], ecx
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x18], 0
push dword [esi + 0x14f8c]
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
movzx eax, byte [esi + 0x243]
push eax
movzx eax, byte [esi + 0x242]
push eax
movzx eax, byte [esi + 0x241]
push eax
movzx eax, byte [esi + 0x240]
push eax
lea eax, [ebp - 0x13b0]
push str._new_connection_from_IP__d._d._d._d:__s___s___d
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
mov eax, dword [esi + 0x14f10]
add esp, 0x2c
cmp eax, 2
je 0x4d3720
cmp eax, 3
jne 0x4d3734
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a26d0
add esp, 8
lea ecx, [ebp - 0x1d78]
call fcn.005132b0
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 0x4d377c
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d72], dx
jmp 0x4d3783
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.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d37e1
cmp eax, 3
jne 0x4d37f5
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a26d0
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x233c]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 4
call fcn.0044e330
mov edi, eax
test edi, edi
je 0x4d387c
nop word [eax + eax]
cmp dword [edi + 0x110], 0x12
jne 0x4d385d
imul eax, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 4
call fcn.0044e520
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2dc]
add ecx, 4
call fcn.0044e3e0
mov edi, eax
test edi, edi
jne 0x4d3830
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
add ecx, 4
call fcn.0044e330
mov edi, eax
test edi, edi
je 0x4d38ec
nop dword [eax + eax]
cmp dword [edi + 0x110], 0x12
jne 0x4d38cd
imul eax, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [eax + esi + 0x2d8]
add ecx, 4
call fcn.0044e520
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
add ecx, 4
call fcn.0044e3e0
mov edi, eax
test edi, edi
jne 0x4d38a0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e330
mov edi, eax
test edi, edi
je 0x4d395c
nop dword [eax + eax]
cmp dword [edi + 0x110], 0x12
jne 0x4d393d
imul eax, dword [esi + 0x188], 0x980
push edi
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e520
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e3e0
mov edi, eax
test edi, edi
jne 0x4d3910
mov eax, dword [ebp - 0x233c]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044e210
imul ecx, dword [esi + 0x188], 0x980
mov edi, eax
mov dword [ebp - 0x2328], edi
lea eax, [ebp - 0x1d67]
lea edx, [ecx + 0x2a0]
add edx, esi
cmp dword [ecx + esi + 0x31c], 1
push edx
jle 0x4d399e
push str._s_entered_the_game.
jmp 0x4d39a3
push str.___s_begins_life___
push eax
call fcn.00472440
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.00529cd0
lea eax, [ebp - 0x1d67]
push str.Welcome_to_Blade_Mistress.__Please_check_out_the_website__http:__bm.kicks_ass.org_index.html_.
push eax
call fcn.00472440
mov edi, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [edi + 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 esi
mov ecx, edi
mov dword [esi + 0x258], 0
call fcn.004df830
mov ecx, esi
call fcn.00474b60
cmp eax, 9
jle 0x4d3e03
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0xc10], 0
jle 0x4d3e03
mov edi, dword [eax + esi + 0xc00]
mov ecx, dword [eax + esi + 0xc04]
movss xmm0, dword [eax + esi + 0xbfc]
mov dword [ebp - 0x232c], ecx
lea eax, [edi + edi*2]
movss dword [ebp - 0x2340], xmm0
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 0x4d40fc
push 0x2c4
call fcn.00556676
add esp, 4
mov dword [ebp - 0x267c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d3ab6
push 0
push 0
push dword [ebp - 0x232c]
mov ecx, eax
push edi
call fcn.00496cf0
mov edi, eax
jmp 0x4d3ab8
xor edi, edi
imul eax, dword [esi + 0x188], 0x980
lea ecx, [edi + 0x184]
mov byte [ebp - 4], 0
add eax, 0xbd4
add eax, esi
cmp eax, str.NO_NAME
je 0x4d3ae8
push 0x20
push ecx
push 0x20
push eax
call fcn.0044d1c0
add esp, 0x10
mov ecx, esi
call fcn.00474b60
cmp eax, 9
jle 0x4d3b7d
imul edx, dword [esi + 0x188], 0x980
add edx, 0x2a0
add edx, esi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x232c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d3b15
sub ecx, dword [ebp - 0x232c]
lea eax, [edi + 0x184]
push ecx
push eax
push edx
call fcn.005926c0
add esp, 0xc
test eax, eax
je 0x4d3b7d
imul eax, dword [esi + 0x188], 0x980
push dword [ebp - 0x2348]
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
lea eax, [edi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
add esp, 0x20
mov byte [edi + 0x1dd], 1
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [ebp - 0x2328]
movss xmm0, dword [ebp - 0x2340]
push edi
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x108], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x10c], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x110], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x114], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x228], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x22c], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0xc14]
mov dword [edi + 0x1b4], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0xc1c]
mov dword [edi + 0x1bc], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0xc10]
mov dword [edi + 0x1ac], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0xc10]
mov dword [edi + 0x1b0], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0xc18]
mov dword [edi + 0x1b8], eax
imul eax, dword [esi + 0x188], 0x980
mov al, byte [eax + esi + 0xbf7]
mov byte [edi + 0x1a7], al
imul eax, dword [esi + 0x188], 0x980
mov al, byte [eax + esi + 0xbf6]
mov byte [edi + 0x1a6], al
imul eax, dword [esi + 0x188], 0x980
mov al, byte [eax + esi + 0xbf5]
mov byte [edi + 0x1a5], al
imul eax, dword [esi + 0x188], 0x980
mov al, byte [eax + esi + 0xbf4]
mov byte [edi + 0x1a4], al
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [ecx + 0x118]
mov eax, dword [eax + esi + 0xbf8]
mov dword [edi + 0x1a8], eax
movss dword [edi + 0x1f4], xmm0
call fcn.00513530
mov dword [edi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, edi
mov dword [edi + 0x118], eax
mov byte [ebp - 0x2534], 0x18
mov dword [ebp - 0x2533], edi
call fcn.0044ccc0
mov ecx, dword [ebp - 0x2328]
mov byte [ebp - 0x252f], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x252e], ax
movzx eax, word [edi + 0x224]
mov word [ebp - 0x252c], ax
mov al, byte [edi + 0x108]
mov byte [ebp - 0x2529], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2528], al
lea eax, [ebp - 0x2534]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
push dword [ebp - 0x2328]
mov ecx, edi
call fcn.004974c0
mov byte [ebp - 0x2504], 0x38
mov dword [ebp - 0x2503], 0xffffffff
mov dword [ebp - 0x24ff], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x24fb], al
mov al, byte [edi + 0x10c]
mov byte [ebp - 0x24fa], al
lea eax, [ebp - 0x2504]
mov word [ebp - 0x24f9], 0xff
mov dword [ebp - 0x24f7], 0x100ff
jmp 0x4d40c6
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2f4], 9
jle 0x4d4102
mov ecx, esi
call fcn.00481c10
mov ecx, esi
mov dword [ebp - 0x2340], eax
call fcn.00481b40
mov ecx, dword [ebp - 0x2340]
mov edi, eax
cmp ecx, 1
jge 0x4d3e4b
mov ecx, 1
xor edi, edi
mov dword [ebp - 0x2340], ecx
jmp 0x4d3e6d
test edi, edi
jle 0x4d3e6d
lea eax, [ecx + ecx*2]
lea eax, [edi + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
nop dword [eax]
cmp byte [eax], 0
jne 0x4d3e6d
dec edi
sub eax, 0x64
test edi, edi
jg 0x4d3e60
lea eax, [ecx + ecx*2]
lea eax, [edi + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x232c], eax
je 0x4d40fc
push 0x2c4
call fcn.00556676
mov ecx, eax
add esp, 4
mov dword [ebp - 0x2644], ecx
mov byte [ebp - 4], 7
test ecx, ecx
je 0x4d3ec1
mov eax, dword [ebp - 0x2340]
push 0
push 0
push edi
push eax
call fcn.00496cf0
mov edi, eax
jmp 0x4d3ec3
xor edi, edi
push dword [ebp - 0x232c]
mov byte [edi + 0x1dd], 1
imul eax, dword [esi + 0x188], 0x980
mov byte [ebp - 4], 0
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
lea eax, [edi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
imul eax, dword [esi + 0x188], 0x980
add esp, 0x20
push edi
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x108], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x10c], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x110], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x114], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x308]
mov dword [edi + 0x228], eax
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x30c]
mov dword [edi + 0x22c], eax
mov eax, dword [ebp - 0x2328]
mov byte [edi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.00513530
cmp dword [edi + 0x1b4], 4
jge 0x4d3fca
mov dword [edi + 0x1b4], 4
mov dword [edi + 0x234], 1
mov dword [edi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, edi
mov dword [edi + 0x118], eax
mov dword [edi + 0x238], 0x2710
mov byte [ebp - 0x2524], 0x18
mov dword [ebp - 0x2523], edi
call fcn.0044ccc0
mov byte [ebp - 0x251f], al
movzx eax, word [edi + 0x220]
mov ecx, dword [ebp - 0x2328]
mov word [ebp - 0x251e], ax
movzx eax, word [edi + 0x224]
mov word [ebp - 0x251c], ax
mov al, byte [edi + 0x108]
mov byte [ebp - 0x2519], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2518], al
lea eax, [ebp - 0x2524]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
push dword [ebp - 0x2328]
mov ecx, edi
call fcn.004974c0
mov byte [ebp - 0x24f0], 0x38
mov dword [ebp - 0x24ef], 0xffffffff
mov dword [ebp - 0x24eb], 0xffffffff
mov al, byte [edi + 0x108]
mov byte [ebp - 0x24e7], al
mov al, byte [edi + 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 [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov dword [esi + 0x14f48], edi
mov dword [edi + 0x21c], esi
mov dword [esi + 0x184], 1
mov edi, dword [ebp - 0x233c]
mov byte [ebp - 0x255c], 0x3f
lea edx, [ebp - 0x2338]
mov eax, dword [esi + 0x238]
mov dword [ebp - 0x255b], eax
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x255c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x14f10], 1
jne 0x4d415f
mov word [ebp - 0x2620], 0x3e
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.00474b60
cmp eax, 9
jle 0x4d4190
mov word [ebp - 0x262c], 0x33e
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x262c]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x2564], 0x4f
lea edx, [ebp - 0x2338]
mov eax, dword [esi + 0x23c]
mov dword [ebp - 0x2563], eax
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2564]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x253c], 0x51
push edx
push 0
mov eax, dword [ecx + 0xc4]
lea edx, [ebp - 0x253c]
mov dword [ebp - 0x253b], eax
mov ecx, dword [ecx + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x14f84], 0
jne case.0x4d0a22.2
cmp dword [esi + 0x14f20], 0
je case.0x4d0a22.2
lea eax, [ebp - 0x1d67]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.00472440
mov esi, dword [ebp - 0x233c]
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.00472440
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 0x4d9ac8
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23c0], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23c3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23c2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23c4], cl
mov byte [ebp - 0x23c1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d4315
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4328
lea eax, [ebp - 0x23c4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
push dword [ebp - 0x2344]
mov ecx, edi
push 0
call fcn.004e45b0
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.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
mov eax, dword [esi + 0x14f10]
add esp, 0x18
cmp eax, 2
je 0x4d43a3
cmp eax, 3
jne 0x4d43b7
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a26d0
add esp, 8
lea ecx, [ebp - 0x1d88]
call fcn.005132b0
mov ecx, dword [ebp - 0x1d80]
mov dx, word [ebp - 0x1d82]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1d80], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d43ff
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d82], dx
jmp 0x4d4406
mov word [ebp - 0x1d80], ax
movzx eax, word [ebp - 0x1d7e]
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 - 0x1d86]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472410
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a26d0
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d4464
cmp eax, 3
jne 0x4d4478
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a26d0
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473190
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.00472440
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.00529cd0
push 0
push edi
mov ecx, esi
call fcn.0048a8c0
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d4521
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d44f8
cmp dword [edi + 0x124], eax
jg 0x4d4521
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 0x4d457d
mov ecx, edi
call fcn.0044ccc0
imul ecx, dword [esi + 0x188], 0x980
cmp eax, 3
jne 0x4d455e
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 0x4d4584
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.0048b4f0
mov eax, dword [esi + 0x14f48]
test eax, eax
je case.0x4d0a22.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.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23b0], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23b3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23b2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23b4], cl
mov byte [ebp - 0x23b1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d4725
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4738
lea eax, [ebp - 0x23b4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d47e4
mov eax, dword [ecx + esi + 0x2d8]
cmp dword [eax + 0x18], 0
je 0x4d47be
cmp dword [ebp - 0xfaa], 6
jne 0x4d47be
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.004dfa70
jmp case.0x4d0a22.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.004dfa70
jmp case.0x4d0a22.2
cmp al, 1
jne 0x4d47f7
push 1
push esi
mov ecx, edi
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp al, 2
jne 0x4d480a
push 2
push esi
mov ecx, edi
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp al, 3
jne 0x4d481d
push 3
push esi
mov ecx, edi
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp al, 4
jne 0x4d4830
push 4
push esi
mov ecx, edi
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp al, 0xb
jne 0x4d48e0
cmp dword [esi + 0x14f10], 3
jne 0x4d486c
push str.Trial_moderators_cannot_open_any_guild_chests.
lea eax, [ebp - 0x1d67]
push eax
call fcn.00472440
add esp, 8
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4d9ac5
lea eax, [ebp - 0x256c]
push eax
lea eax, [ecx + 0x2a0]
mov ecx, edi
add eax, esi
push eax
call fcn.004bbfd0
test eax, eax
je 0x4d48d6
mov edx, dword [ebp - 0x256c]
cmp edx, dword [ebp - 0x2328]
jne 0x4d48d6
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.004dfa70
jmp case.0x4d0a22.2
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d4846
cmp al, 9
jne 0x4d4c55
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb8d0
cmp dword [ebp - 0xfaa], 6
mov edi, eax
jne 0x4d490d
mov edi, dword [esi + 0x14f54]
test edi, edi
je case.0x4d0a22.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 0x4d4926
sub ecx, dword [ebp - 0x232c]
cmp ecx, 1
jb case.0x4d0a22.2
lea eax, [esi + 0x18c]
push eax
push edx
call fcn.0044d580
add esp, 8
test eax, eax
jne case.0x4d0a22.2
lea ecx, [ebp - 0x1e5c]
call fcn.005132b0
mov eax, dword [esi + 0x14f54]
test eax, eax
jne 0x4d4be9
cmp dword [edi + 0x14f54], eax
jne 0x4d4be9
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.00472410
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
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.004b3950
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 - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23e8], 0
cmovne eax, edx
cmove edx, ecx
mov dword [ebp - 0x2334], eax
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23eb], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23ea], al
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23ec], cl
mov byte [ebp - 0x23e9], al
cmp edx, dword [ebp - 0x2330]
je 0x4d4aed
mov byte [edx], cl
mov eax, ecx
shr eax, 8
mov byte [edx + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 2], al
shr ecx, 0x18
mov byte [edx + 3], cl
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4b00
lea eax, [ebp - 0x23ec]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
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.00472410
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
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.004b3950
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 - 0x233c]
push 9
push esi
call fcn.004dfa70
push 8
push esi
mov esi, dword [ebp - 0x233c]
mov ecx, esi
call fcn.004dfa70
push 9
push edi
mov ecx, esi
call fcn.004dfa70
push 8
push edi
mov ecx, esi
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp eax, edi
jne 0x4d4c14
cmp dword [edi + 0x14f54], esi
jne 0x4d4c14
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x233c]
push 9
push esi
mov dword [esi + 0x14ef4], eax
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp dword [edi + 0x14f54], 0
je case.0x4d0a22.2
lea eax, [ebp - 0x1d67]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.00472440
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
cmp al, 8
jne 0x4d4cc8
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb8d0
cmp dword [ebp - 0xfaa], 6
mov ecx, eax
jne 0x4d4c7e
mov ecx, dword [esi + 0x14f54]
test ecx, ecx
je case.0x4d0a22.2
cmp dword [esi + 0x14f54], ecx
jne 0x4d4cb1
cmp dword [ecx + 0x14f54], esi
jne 0x4d4cb1
mov eax, dword [ebp - 0xfaf]
mov ecx, edi
push 8
push esi
mov dword [esi + 0x14ef0], eax
call fcn.004dfa70
jmp case.0x4d0a22.2
cmp dword [ecx + 0x14f54], 0
je case.0x4d0a22.2
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d4846
cmp al, 6
jne 0x4d4dc8
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513690
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0a22.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0a22.2
mov ecx, edi
call fcn.0044ccc0
cmp eax, 2
je 0x4d4d48
mov ecx, edi
call fcn.0044ccc0
cmp eax, 3
je 0x4d4d48
mov ecx, edi
call fcn.0044ccc0
cmp eax, 0x15
jne case.0x4d0a22.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.0044ccc0
cmp eax, 2
je 0x4d4db5
mov ecx, edi
call fcn.0044ccc0
cmp eax, 0x15
je 0x4d4db5
mov ecx, edi
call fcn.0044ccc0
cmp eax, 3
jne case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
push 7
push esi
call fcn.004dfa70
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
push 6
push esi
call fcn.004dfa70
jmp case.0x4d0a22.2
test al, al
jne case.0x4d0a22.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d4dfd
lea ecx, [ebp - 0x2640]
push ecx
push eax
mov ecx, edi
call fcn.004bc210
mov edx, eax
test edx, edx
je 0x4d4e2a
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d4e09
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.004dfa70
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23b8], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23bb], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23ba], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23bc], cl
mov byte [ebp - 0x23b9], al
cmp edx, dword [ebp - 0x2330]
je 0x4d4ef4
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4f07
lea eax, [ebp - 0x23bc]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d4f8d
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2118], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
mov dword [esi + 0x258], 0
cmp dword [esi + 0x14f54], 0
jne 0x4d50b9
cmp byte [ebp - 0xfa2], 0
je 0x4d50b9
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4d50b9
cmp dword [eax + 0x20], 0
jne 0x4d50b9
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 0x4d4fe5
sub ecx, edi
cmp ecx, 1
jbe 0x4d50b3
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5000
sub ecx, edi
push ecx
push edx
push str.Demon_Amulet
call fcn.005926c0
add esp, 0xc
test eax, eax
je 0x4d50b3
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 0x4d5030
sub ecx, edi
push ecx
push edx
push str.Dragon_Orchid
call fcn.005926c0
add esp, 0xc
test eax, eax
je 0x4d50b3
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 0x4d5060
sub ecx, edi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.005926c0
add esp, 0xc
test eax, eax
je 0x4d50b3
lea eax, [ebp - 0x1d67]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.00472440
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 0x4d9ac8
mov edi, dword [ebp - 0x233c]
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.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.004e4730
cmp eax, 1
jne 0x4d526e
push esi
mov ecx, edi
call fcn.004e7450
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.004dfa70
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x20], 0
jne case.0x4d0a22.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 - 0x2340], eax
test ecx, ecx
je 0x4d519b
lea eax, [ebp - 0x2340]
push eax
push ecx
mov ecx, edi
call fcn.004bc210
mov ecx, eax
test ecx, ecx
je 0x4d5195
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x2358], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x2340]
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.0044e350
mov edx, dword [ebp - 0x2354]
push 0
push 5
test eax, eax
je 0x4d521b
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.00529cd0
jmp case.0x4d0a22.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.00529cd0
jmp case.0x4d0a22.2
cmp eax, 2
jne case.0x4d0a22.2
push esi
mov ecx, edi
call fcn.004e7450
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23f8], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23fb], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23fa], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23fc], cl
mov byte [ebp - 0x23f9], al
cmp edx, dword [ebp - 0x2330]
je 0x4d5327
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d533a
lea eax, [ebp - 0x23fc]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
lea eax, [ebp - 0xfb0]
mov ecx, edi
push eax
push esi
call fcn.004df1e0
test eax, eax
je case.0x4d0a22.2
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.0x4d0a22.2
jmp dword [eax*4 + 0x4d9c18]
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d54fb
lea ecx, [ebp - 0x2570]
push ecx
push eax
mov ecx, edi
call fcn.004bc210
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x2570]
push eax
push dword [ebp - 0xfab]
call fcn.004bb8d0
test eax, eax
je 0x4d544f
cmp dword [esi + 0x14f10], 1
je 0x4d5431
cmp byte [esi + 0x14f91], 0
je case.0x4d0a22.2
cmp byte [eax + 0x14f91], 0
je case.0x4d0a22.2
cmp dword [edi + 0x204], 0
jne 0x4d5444
mov dword [edi + 0x11c], 0
mov dword [edi + 0x204], eax
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x263c]
push eax
push dword [ebp - 0xfab]
call fcn.004bc210
mov dword [ebp - 0x2348], eax
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d54dd
cmp dword [ecx + 0x14f10], 0
jne 0x4d54dd
mov ecx, dword [ebp - 0x2328]
call fcn.0044ccc0
cmp eax, 4
jne 0x4d54a7
mov eax, dword [ebp - 0x2328]
cmp dword [eax + 0x134], 6
je 0x4d54d7
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.0x4d0a22.2
cmp byte [ecx + 0x14f91], 0
je case.0x4d0a22.2
cmp byte [esi + 0x14f91], 0
je case.0x4d0a22.2
jmp 0x4d54dd
mov eax, dword [ebp - 0x2348]
cmp dword [edi + 0x214], 0
jne 0x4d54f0
mov dword [edi + 0x11c], 0
mov dword [edi + 0x214], eax
jmp case.0x4d0a22.2
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513690
mov edi, eax
test edi, edi
je 0x4d55a1
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne 0x4d55a1
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne 0x4d55a1
mov ecx, edi
call fcn.0044ccc0
cmp eax, 1
jne 0x4d55a1
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d5588
cmp dword [eax + 0x14f10], 0
jne 0x4d5588
cmp byte [eax + 0x14f91], 0
je 0x4d55a1
cmp byte [esi + 0x14f91], 0
je 0x4d55a1
cmp dword [esi + 0x14ea0], 0
jne 0x4d559b
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x2638]
push eax
push dword [ebp - 0xfab]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
cmp byte [esi + 0x14f91], 0
je case.0x4d0a22.2
cmp byte [eax + 0x14f91], 0
je case.0x4d0a22.2
cmp dword [esi + 0x14ea4], 0
jne 0x4d55f7
cmp dword [esi + 0x14ea0], 0
jne 0x4d55f7
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea4], eax
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513690
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0a22.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0a22.2
mov ecx, edi
call fcn.0044ccc0
cmp eax, 1
jne case.0x4d0a22.2
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d56ab
cmp dword [eax + 0x14f10], 1
je 0x4d56be
cmp dword [esi + 0x14ea0], 0
jne 0x4d56be
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2400], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2403], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2402], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2404], cl
mov byte [ebp - 0x2401], al
cmp edx, dword [ebp - 0x2330]
je 0x4d576c
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d577f
lea eax, [ebp - 0x2404]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 4
call fcn.0044e2e0
test eax, eax
je 0x4d57ea
cmp dword [eax + 0x110], 6
je 0x4d584a
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, 0x60bdd0
mov ecx, str.XOKHNBC12345678GD90:
nop dword [eax]
cmp dword [ecx], esi
cmove eax, edx
add ecx, 4
add edx, 0x20
cmp ecx, 0x60bdcc
jl 0x4d5800
test eax, eax
je case.0x4d0a22.2
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e260
test eax, eax
je case.0x4d0a22.2
cmp dword [eax + 0x110], 6
jne case.0x4d0a22.2
mov ecx, eax
call fcn.0044ccd0
mov ecx, dword [ebp - 0x233c]
push eax
push edi
call fcn.004cb1f0
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2408], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x240b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x240a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x240c], cl
mov byte [ebp - 0x2409], al
cmp edx, dword [ebp - 0x2330]
je 0x4d5906
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5919
lea eax, [ebp - 0x240c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044ccc0
cmp eax, 1
jne 0x4d5ae1
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0a22.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 word [eax + eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d5a32
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d5a32
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d5a32
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d5a32
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d5a34
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 0x4d5a9c
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d5a9c
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d5a9c
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d5a9c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d5a9e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d59d2
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d59d0
mov eax, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2324]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
jmp 0x4d9ac8
mov ecx, esi
call fcn.0044ccc0
cmp eax, 3
jne case.0x4d0a22.2
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0a22.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 0x4d5bd2
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d5bd2
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d5bd2
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d5bd2
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d5bd4
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 0x4d5c3c
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d5c3c
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d5c3c
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d5c3c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d5c3e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d5b72
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d5b70
jmp 0x4d5ac1
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2410], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2413], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2412], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2414], cl
mov byte [ebp - 0x2411], al
cmp edx, dword [ebp - 0x2330]
je 0x4d5d09
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5d1c
lea eax, [ebp - 0x2414]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044ccc0
cmp eax, 1
jne 0x4d5e98
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d0a22.2
push edi
mov ecx, esi
call fcn.004ee140
test eax, eax
je case.0x4d0a22.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 0x4d5dd6
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 4
jb 0x4d5dc9
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d5f6c
cmp byte [ebp - 0xfa8], 0
je 0x4d5e07
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 0xb
jb 0x4d5dfa
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d5f6c
cmp byte [ebp - 0xfa9], 0
je 0x4d5e6d
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004ee260
test eax, eax
jns 0x4d5f66
cmp eax, 0xfffffffe
jne 0x4d5e5d
push str.Edit_outside_bounds_denied.
lea eax, [ebp - 0x1d67]
push eax
call fcn.00472440
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 0x4d9ac8
cmp eax, 0xffffffff
jne case.0x4d0a22.2
push str.That_would_close_off_parts_of_the_dungeon.
jmp 0x4d5e31
cmp byte [ebp - 0xfaa], 0
je case.0x4d0a22.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004ee260
test eax, eax
js 0x4d5e27
mov byte [ebp - 0x2366], al
jmp 0x4d5f6c
mov ecx, esi
call fcn.0044ccc0
cmp eax, 3
jne case.0x4d0a22.2
lea ecx, [esi + 0x148]
call fcn.00513350
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 0x4d5f18
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 7
jb 0x4d5dc9
xor al, al
mov byte [esi + 0x13c], 0
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d5f6c
cmp byte [ebp - 0xfa8], 0
je 0x4d5f4a
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 8
jb 0x4d5dfa
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d5f6c
cmp byte [ebp - 0xfa9], 0
je 0x4d5faf
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.0052e130
test eax, eax
js 0x4d5f93
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.00529cd0
jmp case.0x4d0a22.2
cmp eax, 0xfffffffe
je 0x4d5e2c
cmp eax, 0xffffffff
jne case.0x4d0a22.2
push str.That_would_close_off_parts_of_the_tower.
jmp 0x4d5e31
cmp byte [ebp - 0xfaa], 0
je case.0x4d0a22.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.0052e130
test eax, eax
js 0x4d5f93
mov byte [ebp - 0x2366], al
jmp 0x4d5f6c
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2418], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x241b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x241a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x241c], cl
mov byte [ebp - 0x2419], al
cmp edx, dword [ebp - 0x2330]
je 0x4d607a
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d608d
lea eax, [ebp - 0x241c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
mov edi, dword [ebp - 0x2328]
mov ecx, dword [edi + 0x110]
call fcn.0044e330
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov ecx, esi
call fcn.0044ccc0
test eax, eax
jne 0x4d60dd
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d60f3
mov ecx, dword [edi + 0x110]
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x4d60c4
jmp case.0x4d0a22.2
lea eax, [ebp - 0x1ea8]
mov byte [ebp - 0x1ea8], 9
push eax
mov ecx, esi
call fcn.00474d90
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 - 0x2340], ecx
imul eax, dword [esi + 0x188], 0x980
add eax, edi
cmp byte [eax + esi + 0x344], 0xff
je 0x4d623f
mov byte [ebp - 0x1dc8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1dc7], eax
lea eax, [ebp - 0x1dbb]
push 0x10
push eax
imul eax, dword [esi + 0x188], 0x980
push 0x10
add eax, 0x334
add eax, edi
add eax, esi
push eax
call fcn.0044d1c0
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x2338]
add esp, 0x10
add eax, edi
push edx
push 0
lea edx, [ebp - 0x1dc8]
mov al, byte [eax + esi + 0x345]
mov byte [ebp - 0x1dc2], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, edi
mov al, byte [eax + esi + 0x344]
mov byte [ebp - 0x1dc3], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
mov al, byte [eax + esi + 0x346]
mov byte [ebp - 0x1dc1], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
movss xmm1, dword [eax + esi + 0x354]
divss xmm1, dword [0x5cf5c4]
movzx eax, byte [eax + esi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x2340]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x1dc0], al
mov eax, dword [ebp - 0x2328]
addss xmm1, xmm0
movss dword [ebp - 0x1dbf], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2340]
inc ecx
add edi, 0x34
mov dword [ebp - 0x2340], ecx
cmp edi, 0x68
jl 0x4d6131
push dword [ebp - 0x2344]
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.004734b0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e330
test eax, eax
je case.0x4d0a22.2
nop dword [eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d62be
push esi
push eax
lea eax, [ebp - 0x26c8]
push eax
call fcn.004a24d0
add esp, 0xc
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x26c8]
jmp 0x4d633a
cmp ecx, 0xe
jne 0x4d6365
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 + 0x6215d8]
mov byte [ebp - 0x25c6], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6215d9]
mov byte [ebp - 0x25c5], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6215da]
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.0044e3a0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e3e0
test eax, eax
jne 0x4d6290
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2448], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x244b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x244a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x244c], cl
mov byte [ebp - 0x2449], al
cmp edx, dword [ebp - 0x2330]
je 0x4d642e
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6441
lea eax, [ebp - 0x244c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov eax, dword [ebp - 0x2328]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
mov esi, eax
test esi, esi
je 0x4d6778
mov ecx, esi
call fcn.0044ccc0
cmp eax, 4
jne case.default.0x4d64cc
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d64cc
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d64cc
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d64cc
jmp dword [eax*4 + 0x4d9c28]
mov ecx, dword [ebp - 0x233c]
push 1
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004daca0
jmp case.default.0x4d64cc
mov ecx, dword [ebp - 0x233c]
push 0
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004daca0
jmp case.default.0x4d64cc
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0x2d8]
mov esi, dword [edx + 0x14]
cmp esi, 0xb4
jge 0x4d6561
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x1d67]
push eax
call fcn.00472440
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.0x4d64cc
mov eax, dword [ecx + edi + 0x2fc]
cmp eax, dword [ecx + edi + 0x2f8]
jl 0x4d6578
push str.You_are_already_fully_healed.
jmp 0x4d6528
lea eax, [esi - 0xb4]
mov ecx, edi
mov dword [edx + 0x14], eax
call fcn.004818d0
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 0x4d65f2
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.00472440
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.00473360
push 0x5cd640
push str.healing.txt
call fcn.0056632e
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0058d894
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.0058da91
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.00566040
add esp, 0x40
jmp case.default.0x4d64cc
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 - 0x233c]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004dfa70
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x118]
call fcn.005135f0
mov esi, eax
test esi, esi
jne 0x4d6488
mov ecx, dword [ebp - 0x2328]
call fcn.0044ccc0
cmp eax, 3
jne 0x4d680a
cmp byte [ebp - 0xfaf], al
jne 0x4d680a
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bbfd0
test eax, eax
mov eax, dword [ebp - 0x2328]
je 0x4d6810
cmp dword [ebp - 0x24a4], eax
jne 0x4d6810
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 - 0x233c]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004dfa70
mov eax, dword [ebp - 0x2328]
mov ecx, eax
call fcn.0044ccc0
cmp eax, 3
jne case.0x4d0a22.2
cmp byte [ebp - 0xfaf], 0
jne case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bbfd0
test eax, eax
je case.0x4d0a22.2
mov eax, dword [ebp - 0x2328]
cmp dword [ebp - 0x24a4], eax
jne case.0x4d0a22.2
mov ecx, dword [ebp - 0x233c]
push 1
push eax
push esi
push edi
call fcn.004daca0
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.0x4d0a22.2
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d6961
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d0a22.2
lea ecx, [ebp - 0x2634]
push ecx
push eax
mov ecx, edi
call fcn.004bbcd0
mov edi, eax
test edi, edi
je case.0x4d0a22.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0048bf20
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 0x4d6919
xor ecx, ecx
jmp 0x4d6931
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 - 0x233c]
call fcn.004dfa70
push 8
push edi
jmp 0x4d69c3
cmp eax, 0xfffffffd
jne case.0x4d0a22.2
mov edx, dword [ebp - 0xfa5]
cmp edx, 0x989680
jle 0x4d697f
mov edx, 0x989680
jmp 0x4d69e5
cmp edx, 0xff676980
jge 0x4d69e1
mov edx, 0xff676980
mov eax, dword [esi + 0x14f50]
lea edi, [esi + 0x14f50]
mov ecx, dword [eax + 0x14]
mov eax, edx
neg eax
cmp eax, ecx
jle 0x4d69a7
mov edx, ecx
neg edx
imul eax, dword [esi + 0x188], 0x980
push 0xc
push esi
mov eax, dword [eax + esi + 0x2d8]
sub dword [eax + 0x14], edx
mov eax, dword [edi]
add dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x233c]
call fcn.004dfa70
mov ecx, dword [ebp - 0x233c]
push 1
push esi
call fcn.004dfa70
jmp case.0x4d0a22.2
test edx, edx
js 0x4d698c
imul eax, dword [esi + 0x188], 0x980
lea edi, [esi + 0x14f50]
mov ecx, edx
mov eax, dword [eax + esi + 0x2d8]
mov edx, dword [eax + 0x14]
cmp ecx, edx
cmovle edx, ecx
jmp 0x4d69a7
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2450], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2453], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2452], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2454], cl
mov byte [ebp - 0x2451], al
cmp edx, dword [ebp - 0x2330]
je 0x4d6aab
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6abe
lea eax, [ebp - 0x2454]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d6b42
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x20b0], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044ccc0
cmp eax, 1
jne 0x4d6c46
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.00513550
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov ecx, esi
call fcn.0044ccc0
cmp eax, 8
jne 0x4d6c2c
cmp dword [ebp - 0xfaf], esi
jne 0x4d6c2c
cmp byte [esi + 0x188], 0
jne 0x4d6bee
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.00529cd0
push esi
mov ecx, edi
call fcn.004ee2d0
jmp 0x4d6c21
lea eax, [ebp - 0x1d67]
push str.The_chest_is_open_and_empty.
push eax
call fcn.00472440
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.00513880
mov ecx, dword [edi + 0x118]
call fcn.005135f0
mov esi, eax
test esi, esi
jne 0x4d6b76
jmp case.0x4d0a22.2
lea eax, [ebp - 0x1d67]
push str.You_cant_open_it.
push eax
call fcn.00472440
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 0x4d9ac8
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x23d8], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23db], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23da], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23dc], cl
mov byte [ebp - 0x23d9], al
cmp edx, dword [ebp - 0x2330]
je 0x4d6d1a
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6d2d
lea eax, [ebp - 0x23dc]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d6db1
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2048], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
lea ecx, [ebp - 0xfb0]
push ecx
push dword [ebp - 0x2328]
mov ecx, edi
push eax
call fcn.004db350
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2458], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x245b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x245a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x245c], cl
mov byte [ebp - 0x2459], al
cmp edx, dword [ebp - 0x2330]
je 0x4d6e83
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
lea edx, [ebp - 0x2338]
add dword [ebp - 0x2334], 5
push edx
push 0
lea edx, [ebp - 0x2375]
push edx
push 1
jmp 0x4d9ac5
lea eax, [ebp - 0x245c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2375]
push edx
push 1
jmp 0x4d9ac5
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2460], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2463], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2462], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2464], cl
mov byte [ebp - 0x2461], al
cmp edx, dword [ebp - 0x2330]
je 0x4d6f50
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6f63
lea eax, [ebp - 0x2464]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d380
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d220
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044d080
add esp, 0x14
test esi, esi
je case.0x4d0a22.2
cmp byte [ebp - 0xfaf], 0
je case.0x4d0a22.2
imul edi, dword [esi + 0x188], 0x980
cmp byte [edi + esi + 0x344], 0xff
je 0x4d70dd
lea eax, [esi + 0x334]
add eax, edi
cmp byte [eax], 0
je 0x4d7018
mov ecx, str.Pet_A
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7003
test dl, dl
je 0x4d6fff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7003
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d6fe3
xor eax, eax
jmp 0x4d7008
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d70dd
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d1c0
mov byte [ebp - 0x1de8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1de7], eax
lea eax, [ebp - 0x1ddb]
push 0x10
push eax
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
call fcn.0044d1c0
mov al, byte [edi + esi + 0x345]
add esp, 0x20
mov byte [ebp - 0x1de2], al
mov al, byte [edi + esi + 0x344]
mov byte [ebp - 0x1de3], al
mov al, byte [edi + esi + 0x346]
mov byte [ebp - 0x1de1], al
movss xmm1, dword [edi + esi + 0x354]
divss xmm1, dword [0x5cf5c4]
movzx eax, byte [edi + esi + 0x347]
mov ecx, dword [ebp - 0x2328]
push 0
push 5
mov byte [ebp - 0x1de0], 0
movd xmm0, eax
lea eax, [ebp - 0x1de8]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x1ddf], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00529cd0
jmp case.0x4d0a22.2
cmp byte [edi + esi + 0x378], 0xff
je case.0x4d0a22.2
lea eax, [esi + 0x368]
add eax, edi
cmp byte [eax], 0
je 0x4d7135
mov ecx, str.Pet_B
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7120
test dl, dl
je 0x4d711c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7120
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7100
xor eax, eax
jmp 0x4d7125
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x4d0a22.2
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d1c0
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.0044d1c0
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 [0x5cf5c4]
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.00529cd0
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2468], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x246b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x246a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x246c], cl
mov byte [ebp - 0x2469], al
cmp edx, dword [ebp - 0x2330]
je 0x4d729d
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d72b0
lea eax, [ebp - 0x246c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7334
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1fe0], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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]
jmp 0x4d9ac8
push dword [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xfb0]
push eax
call fcn.004d9c40
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je 0x4d738b
cmp dword [esi + 0x14f10], 1
jne 0x4d738b
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc310
jmp case.0x4d0a22.2
mov ecx, esi
call fcn.00474b60
cmp eax, 9
jle case.0x4d0a22.2
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4d73ad
cmp al, 4
jne case.0x4d0a22.2
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc310
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
mov ecx, dword [ebp - 0xfaf]
mov dword [eax + 0x238], ecx
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2440], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2443], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2442], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2444], cl
mov byte [ebp - 0x2441], al
cmp edx, dword [ebp - 0x2330]
je 0x4d74a2
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
lea edx, [ebp - 0x2338]
add dword [ebp - 0x2334], 5
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4d9ac0
lea eax, [ebp - 0x2444]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4d9ac0
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov ecx, dword [ebp - 0x2328]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.00513690
mov edi, eax
test edi, edi
je case.0x4d0a22.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d0a22.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d0a22.2
mov ecx, edi
call fcn.0044ccc0
cmp eax, 2
jne case.0x4d0a22.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 - 0x233c]
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push edi
push esi
call fcn.004da360
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
test esi, esi
je case.0x4d0a22.2
mov al, byte [ebp - 0xfaf]
test al, al
je 0x4d75c4
cmp al, 3
jne 0x4d75c4
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d75d6
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00472c40
jmp case.0x4d0a22.2
mov dword [esi + 0x14f58], 1
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d0a22.2
lea ecx, [ebp - 0x2630]
push ecx
push eax
mov ecx, edi
call fcn.004bbcd0
test eax, eax
je case.0x4d0a22.2
cmp dword [eax + 0x14f58], 0
je case.0x4d0a22.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0047fde0
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
test eax, eax
je case.0x4d0a22.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004cfcb0
jmp case.0x4d0a22.2
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x629144], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c920
add esp, 4
mov ecx, edi
push dword [ebp - 0x2344]
call fcn.004bc1b0
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2478], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x247b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x247a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x247c], cl
mov byte [ebp - 0x2479], al
cmp edx, dword [ebp - 0x2330]
je 0x4d7722
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7735
lea eax, [ebp - 0x247c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov esi, eax
mov dword [ebp - 0x2348], esi
test esi, esi
je case.0x4d0a22.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d77c1
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f78], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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 0x4d9ac8
imul eax, dword [esi + 0x188], 0x980
xor edi, edi
mov dword [ebp - 0x2354], edi
mov eax, dword [eax + esi + 0x2d8]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x2358], eax
call fcn.0044e330
mov ecx, eax
mov dword [ebp - 0x235c], ecx
test ecx, ecx
je case.0x4d0a22.2
nop word [eax + eax]
cmp dword [ebp - 0xfaf], ecx
jne 0x4d981c
mov eax, dword [ecx + 0x110]
cmp eax, 0xd
jne 0x4d7a0d
cmp byte [esi + 0x14f91], 0
je 0x4d783c
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2f0], 0xa
jl 0x4d983c
mov eax, dword [ecx + 0x11c]
push 0x1a0
mov dword [ebp - 0x2340], eax
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2684], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d786f
push esi
mov ecx, eax
call fcn.00491920
mov edi, eax
jmp 0x4d7871
xor edi, edi
mov eax, dword [esi + 0x108]
mov ecx, dword [ebp - 0x2340]
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 - 0x2340]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [edi + 0x198], eax
call fcn.00565cd7
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x2340]
divss xmm0, dword [0x5cf5d0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4d7916
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.00513530
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.00472410
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
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.00529cd0
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
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.00529cd0
jmp 0x4d981c
cmp eax, 3
jne 0x4d8dc8
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x2360], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4d89e0
cmp ecx, 1
je 0x4d89e0
cmp ecx, 2
jne 0x4d7e5f
mov edi, dword [ebp - 0x233c]
lea ecx, [ebp - 0x2374]
push ecx
push dword [eax + 4]
mov ecx, edi
call fcn.004bc130
test eax, eax
je 0x4d8dac
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x18], 0
cmp dword [esi + 0x14f48], 0
je 0x4d7b5f
cmp dword [esi + 0x184], 0
jne 0x4d7b5f
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2608], 0x3e
cmovne eax, edx
mov byte [ebp - 0x2480], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [esi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2483], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2482], al
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2484], cl
mov byte [ebp - 0x2481], al
cmp edx, dword [ebp - 0x2330]
je 0x4d7b13
mov byte [edx], cl
mov eax, ecx
shr eax, 8
mov byte [edx + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 2], al
shr ecx, 0x18
mov byte [edx + 3], cl
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7b26
lea eax, [ebp - 0x2484]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov byte [ebp - 0x2607], 2
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 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, esi
call fcn.00474b60
cmp eax, 9
jle 0x4d7b5f
mov dword [esi + 0x184], 1
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 6
push edi
call fcn.00473190
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2488], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x248b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x248a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x248c], cl
mov byte [ebp - 0x2489], al
cmp edx, dword [ebp - 0x2330]
je 0x4d7c12
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7c25
lea eax, [ebp - 0x248c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
cmp dword [esi + 0x14f48], 0
je 0x4d7c7a
push 0
mov byte [ebp - 0x2544], 0x23
lea ecx, [ebp - 0x2544]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x2543], 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.00529cd0
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.005137d0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e520
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.0044e180
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d7d23
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.00513530
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.0044ccc0
mov ecx, dword [ebp - 0x2374]
mov byte [ebp - 0x259b], al
call fcn.0044ccc0
mov byte [ebp - 0x259a], al
lea edx, [ebp - 0x2338]
mov eax, dword [ebp - 0x233c]
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 - 0x2180], 0x17
call fcn.0044ccd0
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.00472410
push 0x64
lea eax, [ebp - 0x217f]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d1c0
mov eax, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x2180]
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.0048a8c0
mov edi, dword [ebp - 0x2374]
lea ecx, [edi + 0x148]
call fcn.00513350
push 6
push edi
mov ecx, esi
call fcn.00482b50
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d7e37
push edi
call fcn.004974c0
push 0
push 1
push edi
mov ecx, esi
call fcn.00490c70
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp ecx, 3
jne 0x4d8dac
mov edi, dword [ebp - 0x2328]
xor eax, eax
push eax
push dword [esi + 0x10c]
mov dword [ebp - 0x2340], eax
push dword [esi + 0x108]
mov ecx, dword [edi + 0x118]
call fcn.00513550
test eax, eax
je 0x4d7fd6
mov ecx, eax
call fcn.0044ccc0
cmp eax, 2
jne 0x4d7f99
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2490], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2493], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2492], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2494], cl
mov byte [ebp - 0x2491], al
cmp edx, dword [ebp - 0x2330]
je 0x4d7f49
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7f5c
lea eax, [ebp - 0x2494]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea eax, [ebp - 0x1d67]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.00472440
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 - 0x2340], 1
mov ecx, dword [edi + 0x118]
call fcn.005135f0
test eax, eax
jne 0x4d7e96
cmp dword [ebp - 0x2340], eax
je 0x4d7fd6
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
inc dword [eax + 0x118]
call fcn.0044e3a0
jmp 0x4d981c
push 0x990
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2680], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d8002
push 2
mov ecx, eax
call fcn.0049ff90
mov dword [ebp - 0x2354], eax
jmp 0x4d800c
mov dword [ebp - 0x2354], 0
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x2340], 0
mov dword [ebp - 0x232c], eax
nop word [eax + eax]
push eax
lea eax, [ebp - 0x17b0]
push str._s_Recall
push eax
call fcn.0043d370
push 0x120
call fcn.00556676
add esp, 0x10
mov dword [ebp - 0x2678], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d8073
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.0050b040
mov edi, eax
jmp 0x4d8075
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2340]
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.00565cd7
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.0050b900
mov eax, dword [ebp - 0x232c]
inc dword [ebp - 0x2340]
add eax, 0x50
mov dword [ebp - 0x232c], eax
cmp eax, str.Dirk
jl 0x4d8030
mov esi, dword [ebp - 0x2354]
xor edi, edi
call fcn.00565cd7
cdq
mov ecx, 0xc
idiv ecx
push 0x120
mov dword [ebp - 0x2340], edx
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2674], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d813a
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b040
mov edx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d8142
xor edx, edx
mov dword [ebp - 0x232c], edx
mov eax, dword [edx + 0x11c]
mov ecx, dword [ebp - 0x2340]
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 0x4d81b1
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.0052dad0
mov ecx, dword [esi + 0x180]
add esp, 4
push dword [ebp - 0x232c]
call fcn.0050b900
inc edi
cmp edi, 0x11
jl 0x4d80f2
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2670], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d820e
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.0050b040
mov edi, eax
jmp 0x4d8210
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.00565cd7
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x266c], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d828e
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.0050b040
mov ecx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d8296
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.00565cd7
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2668], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4d830c
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.0050b040
jmp 0x4d830e
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.00565cd7
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2664], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4d8377
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.0050b040
jmp 0x4d8379
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.00565cd7
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x265c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4d83e2
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.0050b040
jmp 0x4d83e4
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.0050b900
mov dword [ebp - 0x232c], 0
mov dword [ebp - 0x2340], 0x1f4
nop dword [eax]
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2660], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4d844f
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.0050b040
mov edi, eax
jmp 0x4d8451
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, dword [ebp - 0x2340]
imul eax, ecx
mov dword [edi + 0x108], 0
mov dword [ebp - 0x232c], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10c], xmm0
call fcn.00565cd7
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push edi
mov dword [edi + 0x118], edx
call fcn.0052b670
add esp, 8
push edi
mov edi, dword [ebp - 0x2354]
mov ecx, dword [edi + 0x180]
call fcn.0050b900
mov eax, dword [ebp - 0x2340]
add eax, 0x1f4
mov dword [ebp - 0x2340], eax
cmp eax, 0x7d0
jl 0x4d8420
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.00556676
add esp, 0x10
mov dword [ebp - 0x26a8], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4d8543
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d8545
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.0050b900
mov eax, dword [ebp - 0x232c]
inc esi
add eax, 0x20
mov dword [ebp - 0x232c], eax
cmp eax, str.Fiery
jl 0x4d8500
mov esi, dword [ebp - 0x2348]
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x26a4], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4d85f0
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d85f2
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x26a0], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4d8677
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d8679
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x269c], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4d86fe
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d8700
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2698], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4d8785
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d8787
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2694], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4d880c
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d880e
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2690], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4d8893
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d8895
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.0050b900
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x268c], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4d891a
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x4d891c
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.0050b900
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.00513530
push edi
push dword [esi + 0x10c]
mov ecx, esi
push dword [esi + 0x108]
call fcn.00481ce0
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp dword [esi + 0x14f48], 0
je 0x4d8ad0
cmp dword [esi + 0x184], 0
jne 0x4d8ad0
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2614], 0x3e
cmovne eax, edx
mov byte [ebp - 0x2498], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [esi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x249b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x249a], al
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x249c], cl
mov byte [ebp - 0x2499], al
cmp edx, dword [ebp - 0x2330]
je 0x4d8a7e
mov byte [edx], cl
mov eax, ecx
shr eax, 8
mov byte [edx + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 2], al
shr ecx, 0x18
mov byte [edx + 3], cl
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8a91
lea eax, [ebp - 0x249c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov eax, dword [ebp - 0x233c]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2613], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2614]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474b60
cmp eax, 9
jle 0x4d8ad0
mov dword [esi + 0x184], 1
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x233c]
push 0
call fcn.004e45b0
cmp dword [esi + 0x14f48], 0
mov edi, dword [ebp - 0x2328]
je 0x4d8b3e
push 0
mov byte [ebp - 0x254c], 0x23
lea ecx, [ebp - 0x254c]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x254b], 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.00529cd0
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.005137d0
push 0
push 0
mov ecx, esi
call fcn.0048a8c0
mov ecx, dword [ebp - 0x2334]
mov eax, ecx
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2388], 0
cmovne eax, edx
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2334], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x238b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x238a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x238c], cl
mov byte [ebp - 0x2389], al
cmp edx, dword [ebp - 0x2330]
je 0x4d8bec
mov eax, dword [ebp - 0x232c]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8bff
lea eax, [ebp - 0x238c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov ecx, edi
mov byte [ebp - 0x25b0], 0x2b
call fcn.0044ccc0
mov edi, dword [ebp - 0x233c]
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 0x4d8d27
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x60c2d0]
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 + 0x60c2d4]
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 + 0x60c2d0]
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 + 0x60c2d4]
mov dword [ecx + esi + 0x314], eax
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8d7d
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x60c2d0]
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 + 0x60c2d4]
mov dword [ecx + 0x10c], eax
jmp 0x4d8d7d
cmp eax, 1
jne 0x4d8d7d
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 0x4d8d7d
mov dword [eax + 0x108], edx
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x10c], ecx
mov ecx, dword [edi + 0x48]
push 0
call fcn.0044e210
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8d9d
push ecx
mov ecx, dword [eax + 0x118]
call fcn.00513530
push dword [ebp - 0x2344]
mov ecx, edi
push 1
call fcn.004e45b0
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp eax, 0x11
je 0x4d93b9
cmp eax, 0x14
je 0x4d93b9
cmp eax, 0x12
je 0x4d924c
cmp eax, 0x13
je 0x4d924c
cmp eax, 0x15
jne 0x4d981c
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2334]
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov dword [ebp - 0x232c], eax
mov eax, ecx
cmovne eax, edx
mov byte [ebp - 0x2470], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x2360], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2473], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2472], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2370], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2474], cl
mov byte [ebp - 0x2471], al
cmp edx, dword [ebp - 0x2330]
je 0x4d8ea4
mov eax, dword [ebp - 0x2360]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2370]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8eb7
lea eax, [ebp - 0x2474]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov eax, dword [ebp - 0x233c]
mov byte [ebp - 0x24a8], 0
mov ecx, dword [eax + 0x48]
call fcn.0044e330
cmp dword [ebp - 0x2328], eax
jne 0x4d98cf
mov ecx, 0x60c2d4
mov edi, 1
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d8f19
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 0x4d8f1f
mov edx, dword [ebp - 0x24a8]
add ecx, 0x50
cmp ecx, 0x60ca54
jl 0x4d8ee2
mov edi, dword [ebp - 0x2328]
test dl, dl
je 0x4d98cf
cmp dword [esi + 0x14f48], 0
jne 0x4d989e
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 - 0x2340], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4d939d
push 0x2c4
call fcn.00556676
add esp, 4
mov dword [ebp - 0x2688], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4d8fb9
push 0
push 0
push dword [ebp - 0x2370]
mov ecx, eax
push dword [ebp - 0x2360]
call fcn.00496cf0
mov dword [ebp - 0x2354], eax
jmp 0x4d8fc3
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.0044d1c0
mov ecx, dword [ebp - 0x2354]
add esp, 0x2c
mov edx, dword [ebp - 0x232c]
movss xmm0, dword [ebp - 0x2340]
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.00513530
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.0044ccc0
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.00529cd0
mov ecx, dword [ebp - 0x2354]
push edi
call fcn.004974c0
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.00529cd0
mov eax, dword [ebp - 0x2354]
mov ecx, dword [ebp - 0x2358]
mov dword [esi + 0x14f48], eax
mov dword [eax + 0x21c], esi
mov eax, dword [ebp - 0x235c]
mov dword [esi + 0x184], 1
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2334]
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov dword [ebp - 0x232c], eax
mov eax, ecx
cmovne eax, edx
mov byte [ebp - 0x2390], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x2393], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x2392], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2340], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x2394], cl
mov byte [ebp - 0x2391], al
cmp edx, dword [ebp - 0x2330]
je 0x4d92fb
mov eax, dword [ebp - 0x2370]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x2340]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d930e
lea eax, [ebp - 0x2394]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d938a
xor edi, edi
mov ecx, 0x60c2d4
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d9351
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, 0x60ca54
jl 0x4d9326
test edi, edi
jne 0x4d9368
push dword [ebp - 0x2328]
jmp 0x4d938b
push str.Please_leave_town_first._:_
lea eax, [ebp - 0x1d67]
push eax
call fcn.00472440
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x11c]
jmp 0x4d9800
push edi
push dword [ebp - 0x232c]
mov ecx, dword [ebp - 0x233c]
push esi
call fcn.004cc8e0
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2334]
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov dword [ebp - 0x2340], eax
mov eax, ecx
cmovne eax, edx
mov byte [ebp - 0x2398], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x239b], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x239a], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x239c], cl
mov byte [ebp - 0x2399], al
cmp edx, dword [ebp - 0x2330]
je 0x4d9468
mov eax, dword [ebp - 0x2370]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d947b
lea eax, [ebp - 0x239c]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d97e9
cmp dword [edi + 0x124], eax
jne 0x4d97e9
xor edi, edi
mov ecx, 0x60c2d4
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d94ce
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, 0x60ca54
jl 0x4d94a3
test edi, edi
jne 0x4d97df
mov eax, dword [ebp - 0x235c]
cmp dword [eax + 0x110], 0x11
je 0x4d97ae
mov edi, dword [ebp - 0x2340]
cmp dword [edi + 0x10], 0xffffffff
jle 0x4d952f
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
mov eax, dword [edi + 0xc]
cmp eax, 4
jge 0x4d9566
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
jle 0x4d959c
cmp eax, 9
jge 0x4d959c
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp eax, 0xb
jne 0x4d95d0
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp eax, 0x10
jne 0x4d9604
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
cmp eax, 0x11
jle 0x4d9638
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
mov ecx, esi
call fcn.004818d0
mov ecx, eax
cmp ecx, 1
jge 0x4d964f
mov ecx, esi
call fcn.00481ab0
mov ecx, eax
movss xmm1, dword [edi + 8]
divss xmm1, dword [0x5cf5c8]
imul eax, dword [edi + 0xc], 0x258
addss xmm1, dword [0x5cf058]
mov edx, dword [eax + 0x61a850]
mov eax, dword [edi + 4]
shr eax, 0x1f
cmp dword [edi], 0
jl 0x4d9681
cmp eax, 1
jne 0x4d9690
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5d3340]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
jge 0x4d96d2
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
sub eax, ecx
cmp eax, 9
jle 0x4d9708
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push edi
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
xor eax, eax
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e330
mov edi, eax
test edi, edi
je 0x4d97ae
nop dword [eax + eax]
mov ecx, edi
call fcn.0044ccc0
test eax, eax
jne 0x4d975d
mov eax, dword [edi + 0x108]
cmp eax, dword [esi + 0x108]
jne 0x4d975d
mov eax, dword [edi + 0x10c]
cmp eax, dword [esi + 0x10c]
jne 0x4d975d
inc dword [ebp - 0x2354]
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov edi, eax
test edi, edi
jne 0x4d9730
cmp dword [ebp - 0x2354], 1
jle 0x4d97ae
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push dword [ebp - 0x2340]
push esi
call fcn.004cd400
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x233c]
push dword [ebp - 0x2340]
push esi
call fcn.004ce790
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
call fcn.0044e3a0
jmp 0x4d981c
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4d936d
lea eax, [ebp - 0x1d67]
push str.The_EarthKey_doesnt_work_here.
push eax
call fcn.00472440
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]
call fcn.0044e3e0
mov ecx, eax
mov dword [ebp - 0x235c], eax
test ecx, ecx
jne 0x4d7800
jmp 0x4d9913
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f10], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.00472410
mov ecx, 0x18
mov eax, dword [ebp - 0x233c]
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]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x2348]
jmp 0x4d9913
push 0x64
lea eax, [ebp - 0x21e7]
mov byte [ebp - 0x21e8], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044d1c0
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x21e8]
jmp 0x4d98fe
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.0044d1c0
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2250]
mov eax, dword [ebp - 0x233c]
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.0x4d0a22.2
mov eax, dword [edi + 0x118]
cmp eax, 1
jle 0x4d9944
mov ecx, dword [ebp - 0x233c]
dec eax
push esi
mov dword [edi + 0x118], eax
call fcn.004e7450
jmp case.0x4d0a22.2
mov ecx, dword [ebp - 0x2358]
push edi
call fcn.0044e520
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x233c]
push esi
call fcn.004e7450
jmp case.0x4d0a22.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb8d0
mov ecx, eax
test ecx, ecx
je case.0x4d0a22.2
mov eax, dword [ecx + 0x14f10]
cmp eax, 1
je 0x4d99ce
cmp eax, 2
je 0x4d99ce
cmp eax, 3
je 0x4d99ce
imul eax, dword [ecx + 0x188], 0x980
test byte [eax + ecx + 0x318], 1
jne 0x4d99ce
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test edx, ecx
je 0x4d99ec
not ecx
and ecx, edx
jmp 0x4d99ec
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test edx, ecx
je 0x4d99ea
not ecx
and ecx, edx
jmp 0x4d99ec
or ecx, edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2334]
mov edx, dword [ebp - 0x2338]
cmp edx, ecx
mov byte [ebp - 0x2554], 0x4f
mov eax, dword [eax]
mov dword [ebp - 0x2553], eax
mov eax, ecx
cmovne eax, edx
mov byte [ebp - 0x23a0], 0
mov dword [ebp - 0x2334], eax
cmove edx, ecx
mov ecx, dword [ebp - 0x2344]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x23a3], al
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x23a2], al
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x23a4], cl
mov byte [ebp - 0x23a1], al
cmp edx, dword [ebp - 0x2330]
je 0x4d9aa0
mov eax, dword [ebp - 0x2370]
mov byte [edx], cl
mov byte [edx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9ab3
lea eax, [ebp - 0x23a4]
push eax
push edx
lea ecx, [ebp - 0x2338]
call fcn.0043eb20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2554]
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 - 0x233c]
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]
mov edx, 0xfa0
test eax, eax
jg 0x4d09d0
lea ecx, [ebp - 0x2338]
call fcn.00472a40
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.005566b4
mov esp, ebp
pop ebp
ret