Function at 0x4d11c0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c9180
mov eax, dword fs:[0]
push eax
mov eax, 0x32f8
call fcn.0055a790
mov eax, dword [0x62b768]
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 - 0x2f58], eax
mov dword [ebp - 0x30bc], 0
mov byte [ebp - 0x2efc], 4
mov byte [ebp - 0x2968], 0x17
mov byte [ebp - 0x2f98], 0xd
mov byte [ebp - 0x2f68], 0xe
mov byte [ebp - 0x2900], 9
mov byte [ebp - 0x28b4], 0x28
mov byte [ebp - 0x3304], 0x21
mov byte [ebp - 0x30cc], 0x1a
mov byte [ebp - 0x2f3c], 0x2d
mov byte [ebp - 0x2f80], 0x2e
mov byte [ebp - 0x2f89], 0x37
mov byte [ebp - 0x3198], 0x44
mov dword [ebp - 0x2f50], 0
mov dword [ebp - 0x2f4c], 0
mov dword [ebp - 0x2f48], 0
mov dword [ebp - 0x2f5c], 0
lea edx, [ebp - 0x2f90]
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 - 0x2f90]
test eax, eax
jle 0x4dac16
nop dword [eax + eax]
cmp eax, 0xfa0
jle 0x4d12c1
mov dword [ebp - 0x2f90], 0xfa0
mov edi, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0x2f5c]
push edx
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2f90]
push edx
lea edx, [ebp - 0xfb0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movsx eax, byte [ebp - 0xfb0]
dec eax
cmp eax, 0x56
ja case.0x4d1305.2
movzx eax, byte [eax + 0x4dacd8]
jmp dword [eax*4 + 0x4dac3c]
mov ecx, dword [0x62fb24]
lea eax, [ebp - 0xfaf]
push eax
call fcn.00510b00
test eax, eax
je 0x4d133e
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 0xa
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je 0x4d1396
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2f40]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
jne 0x4d1360
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov esi, eax
test esi, esi
je 0x4d13d6
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov esi, eax
test esi, esi
jne 0x4d13b0
push 0x1502c
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x3270], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4d13fc
mov ecx, eax
call fcn.00472620
mov ecx, eax
jmp 0x4d13fe
xor ecx, ecx
mov eax, dword [ebp - 0x2f5c]
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.0044e350
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d1467
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3088], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3087], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3086], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3085], al
mov byte [ebp - 0x3084], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d14f1
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d1504
lea eax, [ebp - 0x3088]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea edx, [ebp - 0x2f50]
mov byte [ebp - 0x3197], 0
push edx
push 0
lea edx, [ebp - 0x3198]
push edx
push 6
jmp 0x4dabe1
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x2f40]
push eax
push dword [ebp - 0x2f5c]
xor edi, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je 0x4d185f
mov dword [ebp - 0x2f44], 1
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._closing_connection:__s___s
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
add esp, 0x18
lea ecx, [ebp - 0x2978]
call fcn.00515d40
mov ecx, dword [ebp - 0x2970]
mov dx, word [ebp - 0x2972]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x2970], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2f60], eax
cmp cx, 0x18
jae 0x4d15d6
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2972], dx
jmp 0x4d15dd
mov word [ebp - 0x2970], ax
movzx eax, word [ebp - 0x296e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2f60]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x2976]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d163b
cmp eax, 3
jne 0x4d164f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2860
add esp, 8
mov edi, dword [ebp - 0x2f40]
mov ecx, esi
push 0
push edi
call fcn.00473340
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x2967]
push str._s_left_the_game.
push eax
call fcn.004725f0
add esp, 0xc
lea eax, [ebp - 0x2968]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
push 0
push edi
mov ecx, esi
call fcn.0048aaf0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e6f0
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4d1704
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4d16db
cmp dword [edi + 0x124], eax
jg 0x4d1704
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 0x4d172d
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.0048b720
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d182d
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 - 0x2f58]
lea eax, [ebp - 0x2f40]
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
jne 0x4d1550
mov edi, dword [ebp - 0x2f44]
push dword [ebp - 0x2f5c]
mov ecx, dword [ebp - 0x2f58]
call fcn.004bca90
mov esi, eax
test esi, esi
je 0x4d18ab
mov edi, dword [ebp - 0x2f58]
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov esi, eax
test esi, esi
jne 0x4d1880
jmp case.0x4d1305.2
test edi, edi
jne case.0x4d1305.2
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
add esp, 0x10
lea ecx, [ebp - 0x2988]
call fcn.00515d40
mov ecx, dword [ebp - 0x2980]
mov dx, word [ebp - 0x2982]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x2980], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov edi, eax
cmp cx, 0x18
jae 0x4d191c
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2982], dx
jmp 0x4d1923
mov word [ebp - 0x2980], ax
movzx eax, word [ebp - 0x297e]
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 - 0x2986]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
add esp, 0x20
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f90]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d550
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bd220
jmp case.0x4d1305.2
mov eax, dword [str.Connecting...]
mov dword [0x62e184], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044cb00
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044d550
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d3f0
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d550
mov ecx, dword [0x62fb28]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00532d00
test eax, eax
je 0x4d1a15
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 0xc
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bc230
test eax, eax
je 0x4d1a51
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 6
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov edi, eax
test edi, edi
je case.0x4d1305.2
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, edi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004833a0
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d1aa7
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3080], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x307f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x307e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x307d], al
mov byte [ebp - 0x307c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d1b31
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d1b44
lea eax, [ebp - 0x3080]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov byte [ebp - 0x3158], 0x3f
lea eax, [ebp - 0x1bb0]
push dword [edi + 0x238]
push str.BBOServer_just_loaded:__lu_n
push eax
call fcn.0043d370
lea eax, [ebp - 0x1bb0]
push eax
push str.saving.dat
call fcn.004a2860
mov eax, dword [edi + 0x238]
lea edx, [ebp - 0x3158]
mov edi, dword [ebp - 0x2f58]
add esp, 0x14
mov dword [ebp - 0x3157], eax
mov ecx, dword [edi + 0x34]
push 0
push 0
push edx
mov eax, dword [ecx]
push 5
mov eax, dword [eax + 4]
call eax
test esi, esi
jne 0x4d1bc1
mov eax, dword [ebp - 0x2f5c]
lea edx, [ebp - 0x2f50]
push edx
mov dword [ebp - 0x2f97], eax
lea edx, [ebp - 0x2f98]
jmp 0x4dabdc
cmp esi, 1
jne 0x4d1bde
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], esi
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
cmp esi, 2
jne 0x4d1bfb
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], esi
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
cmp esi, 3
jne 0x4d1c18
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], esi
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
cmp esi, 0xa
jne 0x4d1c35
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], esi
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
cmp esi, 0x14
jne 0x4d1c86
mov dword [ebp - 0x2f67], 0xc
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2f68]
mov eax, dword [eax + 4]
push edx
push 5
call eax
mov ecx, dword [0x62fb28]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.00532f40
mov ecx, dword [0x62fb28]
call fcn.00532ec0
jmp case.0x4d1305.2
cmp esi, 0xffffffff
jne case.0x4d1305.2
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], esi
push edx
lea edx, [ebp - 0x2f68]
jmp 0x4dabdc
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d1cbd
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3078], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3077], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3076], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3075], al
mov byte [ebp - 0x3074], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d1d47
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d1d5a
lea eax, [ebp - 0x3078]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov eax, dword [str.Connecting...]
mov dword [0x62e184], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044cb00
mov esi, dword [ebp - 0x2f58]
mov eax, 0x3e8
mov edi, dword [0x62fb2c]
push 0x20
cmp dword [esi + 0x7c], 0
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push eax
mov dword [ebp - 0x2f44], edi
call fcn.0044d550
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d3f0
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d550
mov ecx, dword [0x62fb28]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00532d00
test eax, eax
je 0x4d1df5
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 0xc
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2f68]
push edx
push 5
jmp 0x4dabe4
mov ecx, dword [esi + 0x48]
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d1e6e
mov edi, dword [ebp - 0x2f58]
nop dword [eax]
mov ecx, dword [esi + 0x110]
call fcn.0044e500
test eax, eax
je 0x4d1e5a
mov edi, dword [ebp - 0x30bc]
nop word [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14f8c]
jne 0x4d1e3f
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044e5b0
test eax, eax
jne 0x4d1e30
mov dword [ebp - 0x30bc], edi
mov edi, dword [ebp - 0x2f58]
mov ecx, dword [edi + 0x48]
call fcn.0044e5b0
mov esi, eax
test esi, esi
jne 0x4d1e10
mov edi, dword [ebp - 0x2f44]
cmp dword [ebp - 0x30bc], edi
jl 0x4d1ea0
mov dword [ebp - 0x2f67], 0xd
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2f68]
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4dabe4
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5de750]
lahf
test ah, 0x44
jnp 0x4d1ec1
mov dword [ebp - 0x2f67], 5
jmp 0x4d1e80
mov esi, dword [ebp - 0x2f58]
lea eax, [ebp - 0x2f40]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bc230
test eax, eax
je 0x4d1f0b
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 6
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2f68]
push edx
push 5
jmp 0x4dabe4
push dword [ebp - 0x2f5c]
mov ecx, esi
call fcn.004bca90
mov edi, eax
test edi, edi
je case.0x4d1305.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.004833a0
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
cmp dword [edi + 0x14f7c], 1
jne 0x4d1f87
lea ecx, [ebp - 0x2a54]
call fcn.00515d40
lea eax, [edi + 0x14f6c]
push eax
lea ecx, [ebp - 0x2a54]
call fcn.00515da0
test eax, eax
jg 0x4d27d9
mov dword [edi + 0x14f7c], 0
test esi, esi
jne 0x4d1fb6
mov eax, dword [ebp - 0x2f5c]
lea edx, [ebp - 0x2f50]
push edx
mov dword [ebp - 0x2f97], eax
lea edx, [ebp - 0x2f98]
mov eax, dword [ebp - 0x2f58]
push esi
push edx
push 5
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
cmp esi, 1
jne 0x4d1fc6
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
cmp esi, 2
jne 0x4d1fda
mov dword [ebp - 0x2f67], 2
jmp 0x4d1e80
cmp esi, 3
jne 0x4d1fea
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
cmp esi, 4
jne 0x4d1ffa
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
cmp esi, 0xffffffff
jne 0x4d200a
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
cmp esi, 0xa
jne 0x4d201a
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
cmp esi, 0x14
jne 0x4d2037
mov eax, dword [ebp - 0x2f58]
mov dword [ebp - 0x2f67], 0xc
mov ecx, dword [eax + 0x34]
jmp 0x4d1c47
cmp esi, 0xb
jne case.0x4d1305.2
mov dword [ebp - 0x2f67], esi
jmp 0x4d1e80
mov eax, dword [ebp - 0x2f5c]
cmp dword [ebp - 0xfaf], eax
jne case.0x4d1305.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004e7a30
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d2087
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3068], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3067], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3066], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3065], al
mov byte [ebp - 0x3064], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d2111
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d2124
lea eax, [ebp - 0x3068]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov esi, eax
test esi, esi
je case.0x4d1305.2
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d214f
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 0x4d22dd
mov dword [ebp - 0x28ff], edx
lea edx, [ebp - 0x2f50]
movsx eax, cl
imul ecx, eax, 0x980
push edx
push 0
lea edx, [ebp - 0x2900]
push edx
push 0x49
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x28fb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x28ef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x28ee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x28ed], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x28f7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x28ec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x28eb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x28ea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x28f3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x28e9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x28e8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x28e7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x28e4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x28d4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x28cc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x28c8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x28c6], al
mov byte [ebp - 0x28c5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x28c4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x28c3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x28c2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x28c1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x28e6], ax
cvttss2si eax, dword [ecx + esi + 0x300]
mov dword [ebp - 0x28c0], eax
mov eax, dword [ecx + esi + 0x2d8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x28bc], eax
jmp 0x4d22f9
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x2f67], 1
push edx
push 0
lea edx, [ebp - 0x2f68]
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 0x4d2359
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x28b3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x28a3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x289b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x2897], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x2895], al
mov byte [ebp - 0x2894], 0
jmp 0x4d2360
mov byte [ebp - 0x28b3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d23b6
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x2893], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x2883], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x287b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x2877], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x2875], al
mov byte [ebp - 0x2874], 0
jmp 0x4d23bd
mov byte [ebp - 0x2893], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d2413
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x2873], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x2863], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x285b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x2857], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x2855], al
mov byte [ebp - 0x2854], 0
jmp 0x4d241a
mov byte [ebp - 0x2873], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d2470
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x2853], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x2843], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x283b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x2837], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x2835], al
mov byte [ebp - 0x2834], 0
jmp 0x4d2477
mov byte [ebp - 0x2853], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d24cd
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x2833], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x2823], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x281b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x2817], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x2815], al
mov byte [ebp - 0x2814], 0
jmp 0x4d24d4
mov byte [ebp - 0x2833], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d252a
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x2813], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x2803], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x27fb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x27f7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x27f5], al
mov byte [ebp - 0x27f4], 0
jmp 0x4d2531
mov byte [ebp - 0x2813], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d2587
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x27f3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x27e3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x27db], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x27d7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x27d5], al
mov byte [ebp - 0x27d4], 0
jmp 0x4d258e
mov byte [ebp - 0x27f3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d25e4
movups xmm0, xmmword [esi + 0x4520]
movups xmmword [ebp - 0x27d3], xmm0
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x27c3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x27bb], eax
mov ax, word [esi + 0x453c]
mov word [ebp - 0x27b7], ax
mov al, byte [esi + 0x453e]
mov byte [ebp - 0x27b5], al
mov byte [ebp - 0x27b4], 0
jmp 0x4d25eb
mov byte [ebp - 0x27d3], 0
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x28b4]
mov eax, dword [ecx]
push edx
push 0x101
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x321c], 0x4c
lea edx, [ebp - 0x2f50]
movzx eax, word [esi + 0x14f5c]
mov dword [ebp - 0x321b], eax
movzx eax, word [esi + 0x14f5e]
mov dword [ebp - 0x3217], eax
movzx eax, word [esi + 0x14f62]
mov dword [ebp - 0x3213], eax
movzx eax, word [esi + 0x14f60]
push edx
mov dword [ebp - 0x320f], eax
lea edx, [ebp - 0x321c]
movzx eax, word [esi + 0x14f64]
push 0
mov dword [ebp - 0x320b], eax
movzx eax, word [esi + 0x14f66]
push edx
mov dword [ebp - 0x3207], eax
push 0x19
jmp 0x4dabe1
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d268c
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3060], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x305f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x305e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x305d], al
mov byte [ebp - 0x305c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d2716
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d2729
lea eax, [ebp - 0x3060]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d273b
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2f5c]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bca90
mov edi, eax
mov dword [ebp - 0x2f70], edi
test edi, edi
je case.0x4d1305.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d276d
cmp eax, 7
jle 0x4d2777
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044d550
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d3f0
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044d250
lea eax, [ebp - 0xf94]
push eax
call fcn.0044dbe0
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d1fcb
lea eax, [ebp - 0xf94]
push eax
call fcn.0044f230
add esp, 4
test eax, eax
jne 0x4d27e8
mov dword [ebp - 0x2f67], 7
jmp 0x4d1e80
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.00485be0
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.0044ef20
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 - 0x2f58]
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2f50]
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 - 0x2f44], eax
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d2a9a
mov edi, dword [ebp - 0x2f44]
push esi
mov ecx, edi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e500
mov esi, eax
test esi, esi
jne 0x4d2a75
mov edi, dword [ebp - 0x2f70]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2dc]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x2f44], eax
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d2aec
mov edi, dword [ebp - 0x2f44]
push esi
mov ecx, edi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e500
mov esi, eax
test esi, esi
jne 0x4d2ac7
mov edi, dword [ebp - 0x2f70]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e0]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x2f44], eax
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d2b45
mov edi, dword [ebp - 0x2f44]
nop dword [eax]
push esi
mov ecx, edi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e500
mov esi, eax
test esi, esi
jne 0x4d2b20
mov edi, dword [ebp - 0x2f70]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e4]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x2f44], eax
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d2b97
mov edi, dword [ebp - 0x2f44]
push esi
mov ecx, edi
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e500
mov esi, eax
test esi, esi
jne 0x4d2b72
mov edi, dword [ebp - 0x2f70]
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.004b3a40
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b3a40
push 0x120
call fcn.00559eaa
add esp, 0x14
mov dword [ebp - 0x3274], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d2c22
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d2c24
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0x40000000
mov dword [edx + 0x30], 0x3f800000
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d2cd8
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x3278], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d2d17
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d2d19
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0x40000000
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x3f800000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d2dcd
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x327c], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d2e0c
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d2e0e
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0x3f800000
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x3f800000
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0x3f800000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d2ec2
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x3280], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d2f01
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d2f03
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x40000000
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x3f800000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d2fb7
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x326c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d2ff6
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d2ff8
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x3f800000
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0x40000000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d30ac
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x3284], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4d30eb
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d30ed
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x3f800000
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0x40000000
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d31a1
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x3288], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d31e0
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d31e2
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0x3f800000
mov dword [edx + 0x20], 0x40000000
mov dword [edx + 0x24], 0x3f800000
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0x40000000
mov dword [edx + 0x3c], 0
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d3296
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x328c], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d32d5
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov esi, eax
jmp 0x4d32d7
xor esi, esi
mov edx, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [edx], 0
mov dword [edx + 4], 8
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0x3f800000
mov dword [edx + 0x24], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x28], 0x40000000
mov dword [edx + 0x2c], 0x3f800000
mov dword [edx + 0x34], 0x3f800000
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0x40000000
mov dword [esi + 0x108], 0
mov ecx, dword [edx + 4]
imul ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
mov ecx, dword [edx + 4]
cmp ecx, 0xc
jle 0x4d338b
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x640]
imul eax, ecx
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
push esi
mov dword [esi + 0x118], 1
call fcn.00530540
push 0x120
call fcn.00559eaa
add esp, 8
mov dword [ebp - 0x3290], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d33ca
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d33cc
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.0044e350
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d34c7
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x3294], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d3473
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d3475
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 0x4d3555
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x3298], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d34f1
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d34f3
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.0044e350
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 [0x611370]
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 [0x611374]
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.0048b720
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d36f0
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x28b3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x28a3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x289b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x2897], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x2895], al
mov byte [ebp - 0x2894], 0
jmp 0x4d36f7
mov byte [ebp - 0x28b3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d374d
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x2893], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x2883], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x287b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x2877], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x2875], al
mov byte [ebp - 0x2874], 0
jmp 0x4d3754
mov byte [ebp - 0x2893], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d37aa
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x2873], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x2863], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x285b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x2857], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x2855], al
mov byte [ebp - 0x2854], 0
jmp 0x4d37b1
mov byte [ebp - 0x2873], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d3807
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x2853], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x2843], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x283b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x2837], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x2835], al
mov byte [ebp - 0x2834], 0
jmp 0x4d380e
mov byte [ebp - 0x2853], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d3864
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x2833], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x2823], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x281b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x2817], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x2815], al
mov byte [ebp - 0x2814], 0
jmp 0x4d386b
mov byte [ebp - 0x2833], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d38c1
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x2813], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x2803], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x27fb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x27f7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x27f5], al
mov byte [ebp - 0x27f4], 0
jmp 0x4d38c8
mov byte [ebp - 0x2813], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d391e
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x27f3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x27e3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x27db], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x27d7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x27d5], al
mov byte [ebp - 0x27d4], 0
jmp 0x4d3925
mov byte [ebp - 0x27f3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d397b
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x27d3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x27c3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x27bb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x27b7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x27b5], al
mov byte [ebp - 0x27b4], 0
jmp 0x4d3982
mov byte [ebp - 0x27d3], 0
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x28b4]
mov ecx, dword [eax + 0x34]
push edx
push 0x101
jmp 0x4dabe4
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d39bb
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3058], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3057], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3056], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3055], al
mov byte [ebp - 0x3054], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d3a45
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d3a58
lea eax, [ebp - 0x3058]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bca90
mov esi, eax
test esi, esi
je case.0x4d1305.2
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3a82
dec eax
or eax, 0xfffffff8
inc eax
mov byte [ebp - 0xfaf], al
movsx eax, al
imul eax, eax, 0x980
add eax, esi
cmp dword [eax + 0x2c4], 0xffffffff
jle 0x4d3b6d
add eax, 0x2a0
push eax
call fcn.0044f330
add esp, 4
lea eax, [ebp - 0x3184]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bc8b0
test eax, eax
je 0x4d3af8
lea eax, [ebp - 0x3184]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bbd80
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.0048b720
mov dword [ebp - 0x2f67], 1
lea edx, [ebp - 0x2f50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2f68]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d3bc3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x28b3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x28a3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x289b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x2897], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x2895], al
mov byte [ebp - 0x2894], 0
jmp 0x4d3bca
mov byte [ebp - 0x28b3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d3c20
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x2893], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x2883], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x287b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x2877], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x2875], al
mov byte [ebp - 0x2874], 0
jmp 0x4d3c27
mov byte [ebp - 0x2893], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d3c7d
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x2873], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x2863], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x285b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x2857], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x2855], al
mov byte [ebp - 0x2854], 0
jmp 0x4d3c84
mov byte [ebp - 0x2873], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d3cda
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x2853], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x2843], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x283b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x2837], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x2835], al
mov byte [ebp - 0x2834], 0
jmp 0x4d3ce1
mov byte [ebp - 0x2853], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d3d37
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x2833], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x2823], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x281b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x2817], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x2815], al
mov byte [ebp - 0x2814], 0
jmp 0x4d3d3e
mov byte [ebp - 0x2833], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d3d94
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x2813], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x2803], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x27fb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x27f7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x27f5], al
mov byte [ebp - 0x27f4], 0
jmp 0x4d3d9b
mov byte [ebp - 0x2813], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d3df1
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x27f3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x27e3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x27db], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x27d7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x27d5], al
mov byte [ebp - 0x27d4], 0
jmp 0x4d3df8
mov byte [ebp - 0x27f3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d3e66
movups xmm0, xmmword [esi + 0x4520]
lea edx, [ebp - 0x2f50]
push edx
movups xmmword [ebp - 0x27d3], xmm0
lea edx, [ebp - 0x28b4]
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x27c3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x27bb], eax
mov ax, word [esi + 0x453c]
push 0
mov word [ebp - 0x27b7], ax
mov al, byte [esi + 0x453e]
push edx
mov byte [ebp - 0x27b5], al
mov byte [ebp - 0x27b4], 0
push 0x101
jmp 0x4dabe1
lea edx, [ebp - 0x2f50]
mov byte [ebp - 0x27d3], 0
push edx
push 0
lea edx, [ebp - 0x28b4]
push edx
push 0x101
jmp 0x4dabe1
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d3e9d
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x30a8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x30a7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x30a6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x30a5], al
mov byte [ebp - 0x30a4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d3f27
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d3f3a
lea eax, [ebp - 0x30a8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3f4c
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2f5c]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bca90
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d3f78
cmp eax, 7
jle 0x4d3f80
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov eax, dword [ebp - 0xfab]
lea edx, [ebp - 0x2f50]
mov dword [ecx + esi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa3]
push edx
push 0
lea edx, [ebp - 0x2900]
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 - 0x28ff], eax
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x28fb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x28ef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x28ee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x28ed], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x28f7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x28ec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x28eb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x28ea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x28f3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x28e9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x28e8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x28e7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x28e4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x28d4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x28cc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x28c8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x28c6], al
mov byte [ebp - 0x28c5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x28c4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x28c3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x28c2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x28c1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x28e6], ax
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.0048b720
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d3bc3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x28b3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x28a3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x289b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x2897], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x2895], al
mov byte [ebp - 0x2894], 0
jmp 0x4d3bca
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d4219
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3050], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x304f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x304e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x304d], al
mov byte [ebp - 0x304c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d42a3
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d42b6
lea eax, [ebp - 0x3050]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
push 0x5d1640
push str.bugs.txt
call fcn.00569bde
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.005917ee
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.00591a2e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
cmp byte [ebp - 0xfad], 0
mov ecx, 0x5d9bc8
mov eax, 0x5d9bc4
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfaf], 0
mov ecx, 0x5d9bc8
mov eax, 0x5d9bcc
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfac], 0
mov ecx, 0x5d9bc8
mov eax, 0x5d9bd0
cmove eax, ecx
push eax
push esi
call fcn.0043d340
add esp, 0x40
mov ecx, 0x5d9bc8
cmp byte [ebp - 0xfae], 0
mov eax, 0x5d9bd4
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfab], 0
mov ecx, 0x5d9bc8
mov eax, 0x5d9bd8
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.005698f0
add esp, 4
lea eax, [ebp - 0x2f40]
push eax
push dword [ebp - 0x2f5c]
mov ecx, edi
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
imul ecx, dword [esi + 0x188], 0x980
lea eax, [ebp - 0x2efa]
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 - 0x2efb], 0xfc
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2f50]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x2efc]
push 0
push edx
push 0x92
mov eax, dword [eax + 4]
call eax
mov dword [esi + 0x258], 0
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d4471
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fd0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fcf], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fce], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fcd], al
mov byte [ebp - 0x2fcc], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d44fb
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d450e
lea eax, [ebp - 0x2fd0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d4521
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2f5c]
mov ecx, edi
mov byte [ebp - 0xfaf], al
call fcn.004bca90
mov edi, eax
test edi, edi
je case.0x4d1305.2
movsx ecx, byte [ebp - 0xfaf]
imul ecx, ecx, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov esi, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
mov ecx, dword [ebp - 0x2f5c]
mov dword [ebp - 0x2f97], ecx
push edx
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2f98]
push 0
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [edi + 0x188], eax
push 0
push 0
mov eax, dword [ecx + edi + 0x308]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
mov eax, dword [ecx + edi + 0x30c]
mov ecx, edi
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
call fcn.0048aaf0
push dword [ebp - 0x2f5c]
mov ecx, esi
push 1
call fcn.004e6050
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
call fcn.00515de0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x38c
add ecx, edi
call fcn.00515de0
lea ecx, [ebp - 0x2a64]
call fcn.00515d40
imul ecx, dword [edi + 0x188], 0x980
lea eax, [ebp - 0x2a64]
push eax
add ecx, 0x324
add ecx, edi
call fcn.00515da0
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*2]
add eax, eax
add dword [ecx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d4668
mov dword [eax + edi + 0x2fc], ecx
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x18], 0
push dword [edi + 0x14f8c]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [edi + 0x243]
push eax
movzx eax, byte [edi + 0x242]
push eax
movzx eax, byte [edi + 0x241]
push eax
movzx eax, byte [edi + 0x240]
push eax
lea eax, [ebp - 0x13b0]
push str._new_connection_from_IP__d._d._d._d:__s___s___d
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
mov eax, dword [edi + 0x14f10]
add esp, 0x2c
cmp eax, 2
je 0x4d46f4
cmp eax, 3
jne 0x4d4708
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2860
add esp, 8
lea ecx, [ebp - 0x2998]
call fcn.00515d40
mov ecx, dword [ebp - 0x2990]
mov dx, word [ebp - 0x2992]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x2990], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2f60], eax
cmp cx, 0x18
jae 0x4d4750
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2992], dx
jmp 0x4d4757
mov word [ebp - 0x2990], ax
movzx eax, word [ebp - 0x298e]
cmp esi, 0x18
push eax
mov eax, dword [ebp - 0x2f60]
mov ecx, esi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x2996]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
mov eax, dword [edi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d47b5
cmp eax, 3
jne 0x4d47c9
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2860
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2f58]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d484c
nop
cmp dword [esi + 0x110], 0x12
jne 0x4d482d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e5b0
mov esi, eax
test esi, esi
jne 0x4d4800
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d48bc
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d489d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e5b0
mov esi, eax
test esi, esi
jne 0x4d4870
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e500
mov esi, eax
test esi, esi
je 0x4d492c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d490d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e6f0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e5b0
mov esi, eax
test esi, esi
jne 0x4d48e0
mov eax, dword [ebp - 0x2f58]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044e3e0
imul ecx, dword [edi + 0x188], 0x980
mov esi, eax
mov dword [ebp - 0x2f40], esi
lea eax, [ebp - 0x2967]
lea edx, [ecx + 0x2a0]
add edx, edi
cmp dword [ecx + edi + 0x31c], 1
push edx
jle 0x4d496e
push str._s_entered_the_game.
jmp 0x4d4973
push str.___s_begins_life___
push eax
call fcn.004725f0
add esp, 0xc
lea eax, [ebp - 0x2968]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c790
lea eax, [ebp - 0x2967]
push str.Welcome_to_Blade_Mistress.__Check_out_our_discord_for_all_your_needs__https:__discord.gg_zh7Hrhv64B
push eax
call fcn.004725f0
mov esi, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push edi
mov ecx, esi
mov dword [edi + 0x258], 0
call fcn.004e0a70
mov ecx, edi
call fcn.00474d10
cmp eax, 9
jle 0x4d4dd3
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0xc10], 0
jle 0x4d4dd3
mov esi, dword [eax + edi + 0xc00]
mov ecx, dword [eax + edi + 0xc04]
movss xmm0, dword [eax + edi + 0xbfc]
mov dword [ebp - 0x2f44], ecx
lea eax, [esi + esi*2]
movss dword [ebp - 0x2f54], xmm0
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x2f60], eax
je 0x4d50d6
push 0x2c4
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x329c], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d4a86
push 0
push 0
push dword [ebp - 0x2f44]
mov ecx, eax
push esi
call fcn.00496ed0
mov esi, eax
jmp 0x4d4a88
xor esi, esi
imul eax, dword [edi + 0x188], 0x980
lea ecx, [esi + 0x184]
mov byte [ebp - 4], 0
add eax, 0xbd4
add eax, edi
cmp eax, str.NO_NAME
je 0x4d4ab8
push 0x20
push ecx
push 0x20
push eax
call fcn.0044d390
add esp, 0x10
mov ecx, edi
call fcn.00474d10
cmp eax, 9
jle 0x4d4b4d
imul edx, dword [edi + 0x188], 0x980
add edx, 0x2a0
add edx, edi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2f44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d4ae5
sub ecx, dword [ebp - 0x2f44]
lea eax, [esi + 0x184]
push ecx
push eax
push edx
call fcn.00596690
add esp, 0xc
test eax, eax
je 0x4d4b4d
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x2f60]
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
add esp, 0x20
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2f40]
movss xmm0, dword [ebp - 0x2f54]
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc14]
mov dword [esi + 0x1b4], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc1c]
mov dword [esi + 0x1bc], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1ac], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1b0], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc18]
mov dword [esi + 0x1b8], eax
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf7]
mov byte [esi + 0x1a7], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf6]
mov byte [esi + 0x1a6], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf5]
mov byte [esi + 0x1a5], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf4]
mov byte [esi + 0x1a4], al
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + 0x118]
mov eax, dword [eax + edi + 0xbf8]
mov dword [esi + 0x1a8], eax
movss dword [esi + 0x1f4], xmm0
call fcn.00515fc0
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov byte [ebp - 0x3130], 0x18
mov dword [ebp - 0x312f], esi
call fcn.0044ce90
mov ecx, dword [ebp - 0x2f40]
mov byte [ebp - 0x312b], al
movzx eax, word [esi + 0x220]
mov word [ebp - 0x312a], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x3128], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3125], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x3124], al
lea eax, [ebp - 0x3130]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.004976a0
mov byte [ebp - 0x3120], 0x38
mov dword [ebp - 0x311f], 0xffffffff
mov dword [ebp - 0x311b], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3117], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x3116], al
lea eax, [ebp - 0x3120]
mov word [ebp - 0x3115], 0xff
mov dword [ebp - 0x3113], 0x100ff
jmp 0x4d50a0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f4], 9
jle 0x4d50dc
mov ecx, edi
call fcn.00481de0
mov ecx, edi
mov esi, eax
call fcn.00481d10
cmp esi, 1
mov ecx, 1
mov edx, esi
cmovl edx, ecx
xor ecx, ecx
cmp esi, 1
mov dword [ebp - 0x2f44], edx
cmovge ecx, eax
mov dword [ebp - 0x2f54], ecx
test ecx, ecx
jle 0x4d4e43
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
nop
cmp byte [eax], 0
jne 0x4d4e3d
dec ecx
sub eax, 0x64
test ecx, ecx
jg 0x4d4e30
mov dword [ebp - 0x2f54], ecx
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x2f60], eax
je 0x4d50d6
push 0x2c4
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32a0], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4d4e9b
push 0
push 0
push dword [ebp - 0x2f54]
mov ecx, eax
push dword [ebp - 0x2f44]
call fcn.00496ed0
mov esi, eax
jmp 0x4d4e9d
xor esi, esi
push dword [ebp - 0x2f60]
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 4], 0
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
imul eax, dword [edi + 0x188], 0x980
add esp, 0x20
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
mov eax, dword [ebp - 0x2f40]
mov byte [esi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.00515fc0
cmp dword [esi + 0x1b4], 4
jge 0x4d4fa4
mov dword [esi + 0x1b4], 4
mov dword [esi + 0x234], 1
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov dword [esi + 0x238], 0x2710
mov byte [ebp - 0x3140], 0x18
mov dword [ebp - 0x313f], esi
call fcn.0044ce90
mov byte [ebp - 0x313b], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x2f40]
mov word [ebp - 0x313a], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x3138], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3135], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x3134], al
lea eax, [ebp - 0x3140]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.004976a0
mov byte [ebp - 0x30f8], 0x38
mov dword [ebp - 0x30f7], 0xffffffff
mov dword [ebp - 0x30f3], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x30ef], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x30ee], al
lea eax, [ebp - 0x30f8]
mov word [ebp - 0x30ed], 0xff
mov dword [ebp - 0x30eb], 0x100ff
mov ecx, dword [ebp - 0x2f40]
push 0
push 5
push eax
push 0x11
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
mov dword [edi + 0x14f48], esi
mov dword [esi + 0x21c], edi
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x2f58]
cmp dword [edi + 0x14f10], 1
jne 0x4d510a
mov word [ebp - 0x324c], 0x3e
lea edx, [ebp - 0x2f50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x324c]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00474d10
cmp eax, 9
jle 0x4d513b
mov word [ebp - 0x3228], 0x33e
lea edx, [ebp - 0x2f50]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3228]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x3160], 0x50
lea edx, [ebp - 0x2f50]
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x315f], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3160]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
mov byte [ebp - 0x3168], 0x52
push edx
push 0
mov eax, dword [ecx + 0xc4]
lea edx, [ebp - 0x3168]
mov dword [ebp - 0x3167], eax
mov ecx, dword [ecx + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14f84], 0
jne case.0x4d1305.2
cmp dword [edi + 0x14f20], 0
je case.0x4d1305.2
lea eax, [ebp - 0x2967]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.004725f0
mov esi, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
lea eax, [ebp - 0x2967]
push str.command_to_reward_the_player_who_introduced_you_to_Blade_Mistress.
push eax
call fcn.004725f0
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2f50]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe4
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d5233
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fc8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fc7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fc6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fc5], al
mov byte [ebp - 0x2fc4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d52bd
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d52d0
lea eax, [ebp - 0x2fc8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
push dword [ebp - 0x2f5c]
mov ecx, edi
push 0
call fcn.004e6050
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.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
mov eax, dword [esi + 0x14f10]
add esp, 0x18
cmp eax, 2
je 0x4d534b
cmp eax, 3
jne 0x4d535f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2860
add esp, 8
lea ecx, [ebp - 0x29a8]
call fcn.00515d40
mov ecx, dword [ebp - 0x29a0]
mov dx, word [ebp - 0x29a2]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x29a0], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2f60], eax
cmp cx, 0x18
jae 0x4d53a7
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x29a2], dx
jmp 0x4d53ae
mov word [ebp - 0x29a0], ax
movzx eax, word [ebp - 0x299e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2f60]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x29a6]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.004725c0
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2860
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d540c
cmp eax, 3
jne 0x4d5420
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2860
add esp, 8
mov edi, dword [ebp - 0x2f40]
mov ecx, esi
push 0
push edi
call fcn.00473340
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x2967]
push str._s_left_the_game.
push eax
call fcn.004725f0
add esp, 0xc
lea eax, [ebp - 0x2968]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
push 0
push edi
mov ecx, esi
call fcn.0048aaf0
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4d54c9
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4d54a0
cmp dword [edi + 0x124], eax
jg 0x4d54c9
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 0x4d5525
mov ecx, edi
call fcn.0044ce90
imul ecx, dword [esi + 0x188], 0x980
cmp eax, 3
jne 0x4d5506
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 0x4d552c
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.0048b720
mov eax, dword [esi + 0x14f48]
test eax, eax
je case.0x4d1305.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.0x4d1305.2
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d5640
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fc0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fbf], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fbe], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fbd], al
mov byte [ebp - 0x2fbc], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d56ca
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d56dd
lea eax, [ebp - 0x2fc0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d5789
mov eax, dword [ecx + esi + 0x2d8]
cmp dword [eax + 0x18], 0
je 0x4d5763
cmp dword [ebp - 0xfaa], 6
jne 0x4d5763
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.004e0cb0
jmp case.0x4d1305.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.004e0cb0
jmp case.0x4d1305.2
cmp al, 1
jne 0x4d579c
push 1
push esi
mov ecx, edi
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp al, 2
jne 0x4d57af
push 2
push esi
mov ecx, edi
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp al, 3
jne 0x4d57c2
push 3
push esi
mov ecx, edi
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp al, 4
jne 0x4d57d5
push 4
push esi
mov ecx, edi
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp al, 0xb
jne 0x4d5885
cmp dword [esi + 0x14f10], 3
jne 0x4d5811
push str.Trial_moderators_cannot_open_any_guild_chests.
lea eax, [ebp - 0x2967]
push eax
call fcn.004725f0
add esp, 8
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe1
lea eax, [ebp - 0x3188]
push eax
lea eax, [ecx + 0x2a0]
mov ecx, edi
add eax, esi
push eax
call fcn.004bc8b0
test eax, eax
je 0x4d587b
mov edx, dword [ebp - 0x3188]
cmp edx, dword [ebp - 0x2f40]
jne 0x4d587b
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.004e0cb0
jmp case.0x4d1305.2
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d57eb
cmp al, 9
jne 0x4d5bfc
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bc1b0
cmp dword [ebp - 0xfaa], 6
mov edi, eax
jne 0x4d58b2
mov edi, dword [esi + 0x14f54]
test edi, edi
je case.0x4d1305.2
lea edx, [edi + 0x18c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2f44], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d58d0
sub ecx, dword [ebp - 0x2f44]
cmp ecx, 1
jb case.0x4d1305.2
lea eax, [esi + 0x18c]
push eax
push edx
call fcn.0044d750
add esp, 8
test eax, eax
jne case.0x4d1305.2
lea ecx, [ebp - 0x2a74]
call fcn.00515d40
mov eax, dword [esi + 0x14f54]
test eax, eax
jne 0x4d5b90
cmp dword [edi + 0x14f54], eax
jne 0x4d5b90
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 - 0x2a2c], 0x53
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.004725c0
push 0x64
lea eax, [ebp - 0x2967]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
mov ecx, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 0x1c
mov ecx, dword [ecx + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2968]
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 - 0x2a2b]
push eax
call fcn.004b3b00
mov eax, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 8
mov byte [ebp - 0x2a21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2a2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d5a30
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [edi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fb8], dl
sar eax, 8
mov byte [ebp - 0x2fb7], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fb6], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fb5], al
mov byte [ebp - 0x2fb4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d5a94
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d5aa7
lea eax, [ebp - 0x2fb8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
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.004725c0
push 0x64
lea eax, [ebp - 0x2967]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
mov eax, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2968]
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 - 0x2a2b]
push eax
call fcn.004b3b00
mov eax, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 8
mov byte [ebp - 0x2a21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2a2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2f58]
push 9
push esi
call fcn.004e0cb0
push 8
push esi
mov esi, dword [ebp - 0x2f58]
mov ecx, esi
call fcn.004e0cb0
push 9
push edi
mov ecx, esi
call fcn.004e0cb0
push 8
push edi
mov ecx, esi
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp eax, edi
jne 0x4d5bbb
cmp dword [edi + 0x14f54], esi
jne 0x4d5bbb
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x2f58]
push 9
push esi
mov dword [esi + 0x14ef4], eax
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp dword [edi + 0x14f54], 0
je case.0x4d1305.2
lea eax, [ebp - 0x2967]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.004725f0
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
add esp, 8
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe4
cmp al, 8
jne 0x4d5c6f
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bc1b0
cmp dword [ebp - 0xfaa], 6
mov ecx, eax
jne 0x4d5c25
mov ecx, dword [esi + 0x14f54]
test ecx, ecx
je case.0x4d1305.2
cmp dword [esi + 0x14f54], ecx
jne 0x4d5c58
cmp dword [ecx + 0x14f54], esi
jne 0x4d5c58
mov eax, dword [ebp - 0xfaf]
mov ecx, edi
push 8
push esi
mov dword [esi + 0x14ef0], eax
call fcn.004e0cb0
jmp case.0x4d1305.2
cmp dword [ecx + 0x14f54], 0
je case.0x4d1305.2
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d57eb
cmp al, 6
jne 0x4d5d6f
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.0x4d1305.2
mov ecx, dword [ebp - 0x2f40]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00516130
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d1305.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d1305.2
mov ecx, edi
call fcn.0044ce90
cmp eax, 2
je 0x4d5cef
mov ecx, edi
call fcn.0044ce90
cmp eax, 3
je 0x4d5cef
mov ecx, edi
call fcn.0044ce90
cmp eax, 0x15
jne case.0x4d1305.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.0044ce90
cmp eax, 2
je 0x4d5d5c
mov ecx, edi
call fcn.0044ce90
cmp eax, 0x15
je 0x4d5d5c
mov ecx, edi
call fcn.0044ce90
cmp eax, 3
jne case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
push 7
push esi
call fcn.004e0cb0
jmp case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
push 6
push esi
call fcn.004e0cb0
jmp case.0x4d1305.2
test al, al
jne case.0x4d1305.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d5da4
lea ecx, [ebp - 0x32a4]
push ecx
push eax
mov ecx, edi
call fcn.004bcaf0
mov edx, eax
test edx, edx
je 0x4d5dd1
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d5db0
push dword [esi + 0x10c]
push dword [esi + 0x108]
mov ecx, dword [ebp - 0x2f40]
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.004e0cb0
jmp case.0x4d1305.2
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d5e0e
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fb0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2faf], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fae], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fad], al
mov byte [ebp - 0x2fac], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d5e98
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d5eab
lea eax, [ebp - 0x2fb0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d5f31
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2bf8], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2bf7]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2bf8]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2b94], 0
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
mov dword [esi + 0x258], 0
cmp dword [esi + 0x14f54], 0
jne 0x4d6059
cmp byte [ebp - 0xfa2], 0
je 0x4d6059
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4d6059
cmp dword [eax + 0x20], 0
jne 0x4d6059
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5f90
sub ecx, edi
cmp ecx, 1
jbe 0x4d6053
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d5fa7
sub ecx, edi
push ecx
push edx
push str.Demon_Amulet
call fcn.00596690
add esp, 0xc
test eax, eax
je 0x4d6053
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 0x4d5fd5
sub ecx, edi
push ecx
push edx
push str.Dragon_Orchid
call fcn.00596690
add esp, 0xc
test eax, eax
je 0x4d6053
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 0x4d6000
sub ecx, edi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.00596690
add esp, 0xc
test eax, eax
je 0x4d6053
lea eax, [ebp - 0x2967]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.004725f0
mov eax, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe4
mov edi, dword [ebp - 0x2f58]
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d1305.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.004e61d0
cmp eax, 1
jne 0x4d620e
push esi
mov ecx, edi
call fcn.004e8ee0
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.004e0cb0
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x20], 0
jne case.0x4d1305.2
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x14f48]
mov dword [ebp - 0x2f70], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x2f6c], eax
xor eax, eax
mov dword [ebp - 0x2f54], eax
test ecx, ecx
je 0x4d613b
lea eax, [ebp - 0x2f54]
push eax
push ecx
mov ecx, edi
call fcn.004bcaf0
mov ecx, eax
test ecx, ecx
je 0x4d6135
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x2f70], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x2f6c], eax
mov eax, dword [ebp - 0x2f54]
mov edi, dword [ebp - 0x2f40]
test eax, eax
cmovne edi, eax
imul eax, dword [esi + 0x188], 0x980
mov dword [ebp - 0x2f40], edi
mov eax, dword [eax + esi + 0x2d8]
mov ecx, dword [eax + 0x18]
add ecx, 4
call fcn.0044e520
mov edx, dword [ebp - 0x2f6c]
push 0
push 5
test eax, eax
je 0x4d61bb
imul eax, dword [esi + 0x188], 0x980
lea ecx, [ebp - 0x30cc]
push ecx
push 7
push edx
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30cb], eax
mov eax, dword [ebp - 0x2f70]
push eax
push 0
mov byte [ebp - 0x30c7], al
mov byte [ebp - 0x30c6], dl
call fcn.0052c790
jmp case.0x4d1305.2
mov byte [ebp - 0x31a8], 0x18
lea ecx, [ebp - 0x31a8]
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 - 0x31a7], eax
mov eax, dword [ebp - 0x2f70]
push eax
push 0
mov byte [ebp - 0x31a3], 6
mov byte [ebp - 0x319d], al
mov byte [ebp - 0x319c], dl
call fcn.0052c790
jmp case.0x4d1305.2
cmp eax, 2
jne case.0x4d1305.2
push esi
mov ecx, edi
call fcn.004e8ee0
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d623a
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fa8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fa7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fa6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fa5], al
mov byte [ebp - 0x2fa4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d62c4
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d62d7
lea eax, [ebp - 0x2fa8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d1305.2
lea eax, [ebp - 0xfb0]
mov ecx, edi
push eax
push esi
call fcn.004e0420
test eax, eax
je case.0x4d1305.2
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.0x4d1305.2
jmp dword [eax*4 + 0x4dad30]
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d6498
lea ecx, [ebp - 0x318c]
push ecx
push eax
mov ecx, edi
call fcn.004bcaf0
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x318c]
push eax
push dword [ebp - 0xfab]
call fcn.004bc1b0
test eax, eax
je 0x4d63ec
cmp dword [esi + 0x14f10], 1
je 0x4d63ce
cmp byte [esi + 0x14f91], 0
je case.0x4d1305.2
cmp byte [eax + 0x14f91], 0
je case.0x4d1305.2
cmp dword [edi + 0x204], 0
jne 0x4d63e1
mov dword [edi + 0x11c], 0
mov dword [edi + 0x204], eax
jmp case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x32a8]
push eax
push dword [ebp - 0xfab]
call fcn.004bcaf0
mov dword [ebp - 0x2f60], eax
test eax, eax
je case.0x4d1305.2
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d647a
cmp dword [ecx + 0x14f10], 0
jne 0x4d647a
mov ecx, dword [ebp - 0x2f40]
call fcn.0044ce90
cmp eax, 4
jne 0x4d6444
mov eax, dword [ebp - 0x2f40]
cmp dword [eax + 0x134], 6
je 0x4d6474
mov eax, dword [ebp - 0x2f60]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.0x4d1305.2
cmp byte [ecx + 0x14f91], 0
je case.0x4d1305.2
cmp byte [esi + 0x14f91], 0
je case.0x4d1305.2
jmp 0x4d647a
mov eax, dword [ebp - 0x2f60]
cmp dword [edi + 0x214], 0
jne 0x4d648d
mov dword [edi + 0x11c], 0
mov dword [edi + 0x214], eax
jmp case.0x4d1305.2
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d1305.2
mov ecx, dword [ebp - 0x2f40]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00516130
mov edi, eax
test edi, edi
je 0x4d653e
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne 0x4d653e
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne 0x4d653e
mov ecx, edi
call fcn.0044ce90
cmp eax, 1
jne 0x4d653e
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d6525
cmp dword [eax + 0x14f10], 0
jne 0x4d6525
cmp byte [eax + 0x14f91], 0
je 0x4d653e
cmp byte [esi + 0x14f91], 0
je 0x4d653e
cmp dword [esi + 0x14ea0], 0
jne 0x4d6538
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x3250]
push eax
push dword [ebp - 0xfab]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
cmp byte [esi + 0x14f91], 0
je case.0x4d1305.2
cmp byte [eax + 0x14f91], 0
je case.0x4d1305.2
cmp dword [esi + 0x14ea4], 0
jne 0x4d6594
cmp dword [esi + 0x14ea0], 0
jne 0x4d6594
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea4], eax
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d1305.2
mov ecx, dword [ebp - 0x2f40]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00516130
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d1305.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d1305.2
mov ecx, edi
call fcn.0044ce90
cmp eax, 1
jne case.0x4d1305.2
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d6648
cmp dword [eax + 0x14f10], 1
je 0x4d665b
cmp dword [esi + 0x14ea0], 0
jne 0x4d665b
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d667c
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fa0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2f9f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2f9e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2f9d], al
mov byte [ebp - 0x2f9c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d6706
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d6719
lea eax, [ebp - 0x2fa0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.0x4d1305.2
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 4
call fcn.0044e4b0
test eax, eax
je 0x4d6784
cmp dword [eax + 0x110], 6
je 0x4d67e0
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, 0x610ca0
mov ecx, str.XOKHNBC12345678GD90:
cmp dword [ecx], esi
cmove eax, edx
add ecx, 4
add edx, 0x20
cmp ecx, 0x610c9c
jl 0x4d6796
test eax, eax
je case.0x4d1305.2
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e430
test eax, eax
je case.0x4d1305.2
cmp dword [eax + 0x110], 6
jne case.0x4d1305.2
mov ecx, eax
call fcn.0044cea0
mov ecx, dword [ebp - 0x2f58]
push eax
push edi
call fcn.004cbaa0
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d680f
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x30b8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x30b7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x30b6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x30b5], al
mov byte [ebp - 0x30b4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d6899
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d68ac
lea eax, [ebp - 0x30b8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov esi, dword [ebp - 0x2f40]
mov ecx, esi
call fcn.0044ce90
cmp eax, 1
jne 0x4d6a73
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov byte [ebp - 0x2f01], 0
lea edi, [ebp - 0x2f1a]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2f3b], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2f39], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x2f37], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x2f35], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x2f01], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x2f00], al
xor eax, eax
mov dword [ebp - 0x2f70], eax
nop dword [eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x2f35]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d69c4
movsx eax, word [ebp - 0x2f39]
cmp ecx, eax
jge 0x4d69c4
movsx eax, word [ebp - 0x2f37]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2f60], eax
add eax, edx
mov dword [ebp - 0x2f44], eax
js 0x4d69c4
movsx eax, word [ebp - 0x2f3b]
cmp dword [ebp - 0x2f44], eax
jge 0x4d69c4
mov eax, dword [esi + 0x124]
imul eax, ecx
mov ecx, dword [ebp - 0x2f60]
add eax, dword [esi + 0x134]
add eax, edx
mov al, byte [eax + ecx]
jmp 0x4d69c6
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2f70]
mov byte [edi], 0
movsx ecx, word [ebp - 0x2f35]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d6a2e
movsx eax, word [ebp - 0x2f39]
cmp ecx, eax
jge 0x4d6a2e
movsx eax, word [ebp - 0x2f37]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2f60], eax
add eax, edx
mov dword [ebp - 0x2f44], eax
js 0x4d6a2e
movsx eax, word [ebp - 0x2f3b]
cmp dword [ebp - 0x2f44], eax
jge 0x4d6a2e
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2f60]
mov al, byte [eax + edx]
jmp 0x4d6a30
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2f70]
inc edi
cmp edx, 5
jl 0x4d6962
inc eax
mov dword [ebp - 0x2f70], eax
cmp eax, 5
jl 0x4d6960
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2f3c]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
jmp 0x4dabe4
mov ecx, esi
call fcn.0044ce90
cmp eax, 3
jne case.0x4d1305.2
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d1305.2
mov byte [ebp - 0x2f01], 0
lea edi, [ebp - 0x2f1a]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2f3b], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2f39], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x2f37], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x2f35], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x2f01], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x2f00], al
xor eax, eax
mov dword [ebp - 0x2f70], eax
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x2f35]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d6b62
movsx eax, word [ebp - 0x2f39]
cmp ecx, eax
jge 0x4d6b62
movsx eax, word [ebp - 0x2f37]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2f60], eax
add eax, edx
mov dword [ebp - 0x2f44], eax
js 0x4d6b62
movsx eax, word [ebp - 0x2f3b]
cmp dword [ebp - 0x2f44], eax
jge 0x4d6b62
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2f60]
mov al, byte [eax + edx]
jmp 0x4d6b64
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2f70]
mov byte [edi], 0
movsx ecx, word [ebp - 0x2f35]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d6bcc
movsx eax, word [ebp - 0x2f39]
cmp ecx, eax
jge 0x4d6bcc
movsx eax, word [ebp - 0x2f37]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2f60], eax
add eax, edx
mov dword [ebp - 0x2f44], eax
js 0x4d6bcc
movsx eax, word [ebp - 0x2f3b]
cmp dword [ebp - 0x2f44], eax
jge 0x4d6bcc
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2f60]
mov al, byte [eax + edx]
jmp 0x4d6bce
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2f70]
inc edi
cmp edx, 5
jl 0x4d6b02
inc eax
mov dword [ebp - 0x2f70], eax
cmp eax, 5
jl 0x4d6b00
jmp 0x4d6a53
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d6c0c
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3000], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fff], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2ffe], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2ffd], al
mov byte [ebp - 0x2ffc], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d6c96
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d6ca9
lea eax, [ebp - 0x3000]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov esi, dword [ebp - 0x2f40]
mov ecx, esi
call fcn.0044ce90
cmp eax, 1
jne 0x4d6e25
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d1305.2
push edi
mov ecx, esi
call fcn.004efd80
test eax, eax
je case.0x4d1305.2
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov dword [ebp - 0x2f7a], 0
mov byte [ebp - 0x2f7b], 0
mov word [ebp - 0x2f7f], cx
mov word [ebp - 0x2f7d], ax
je 0x4d6d63
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 4
jb 0x4d6d56
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x2f7b], al
jmp 0x4d6ef9
cmp byte [ebp - 0xfa8], 0
je 0x4d6d94
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 0xb
jb 0x4d6d87
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x2f78], al
jmp 0x4d6ef9
cmp byte [ebp - 0xfa9], 0
je 0x4d6dfa
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004efea0
test eax, eax
jns 0x4d6ef3
cmp eax, 0xfffffffe
jne 0x4d6dea
push str.Edit_outside_bounds_denied.
lea eax, [ebp - 0x2967]
push eax
call fcn.004725f0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x2f50]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe4
cmp eax, 0xffffffff
jne case.0x4d1305.2
push str.That_would_close_off_parts_of_the_dungeon.
jmp 0x4d6dbe
cmp byte [ebp - 0xfaa], 0
je case.0x4d1305.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004efea0
test eax, eax
js 0x4d6db4
mov byte [ebp - 0x2f7a], al
jmp 0x4d6ef9
mov ecx, esi
call fcn.0044ce90
cmp eax, 3
jne case.0x4d1305.2
lea ecx, [esi + 0x148]
call fcn.00515de0
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov word [ebp - 0x2f7a], 0
mov byte [ebp - 0x2f78], 0
mov byte [ebp - 0x2f7b], 0
mov word [ebp - 0x2f7f], cx
mov word [ebp - 0x2f7d], ax
je 0x4d6ea5
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 7
jb 0x4d6d56
xor al, al
mov byte [esi + 0x13c], 0
inc al
mov byte [ebp - 0x2f7b], al
jmp 0x4d6ef9
cmp byte [ebp - 0xfa8], 0
je 0x4d6ed7
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 8
jb 0x4d6d87
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x2f78], al
jmp 0x4d6ef9
cmp byte [ebp - 0xfa9], 0
je 0x4d6f3c
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.00530ba0
test eax, eax
js 0x4d6f20
mov byte [ebp - 0x2f79], al
push 0
push 5
lea eax, [ebp - 0x2f80]
mov ecx, esi
push eax
push 0xa
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c790
jmp case.0x4d1305.2
cmp eax, 0xfffffffe
je 0x4d6db9
cmp eax, 0xffffffff
jne case.0x4d1305.2
push str.That_would_close_off_parts_of_the_tower.
jmp 0x4d6dbe
cmp byte [ebp - 0xfaa], 0
je case.0x4d1305.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.00530ba0
test eax, eax
js 0x4d6f20
mov byte [ebp - 0x2f7a], al
jmp 0x4d6ef9
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d6f7a
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x30b0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x30af], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x30ae], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x30ad], al
mov byte [ebp - 0x30ac], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d7004
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d7017
lea eax, [ebp - 0x30b0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
mov edi, dword [ebp - 0x2f40]
mov ecx, dword [edi + 0x110]
call fcn.0044e500
mov esi, eax
test esi, esi
je case.0x4d1305.2
nop
mov ecx, esi
call fcn.0044ce90
test eax, eax
jne 0x4d7069
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d707f
mov ecx, dword [edi + 0x110]
call fcn.0044e5b0
mov esi, eax
test esi, esi
jne 0x4d7050
jmp case.0x4d1305.2
lea eax, [ebp - 0x2ac0]
mov byte [ebp - 0x2ac0], 9
push eax
mov ecx, esi
call fcn.00474f40
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2ac0]
mov eax, dword [ecx]
push edx
push 0x49
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x2f54], ecx
nop dword [eax]
imul eax, dword [esi + 0x188], 0x980
add eax, edi
cmp byte [eax + esi + 0x344], 0xff
je 0x4d71ce
mov byte [ebp - 0x29c8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x29c7], eax
lea eax, [ebp - 0x29bb]
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.0044d390
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x2f50]
add esp, 0x10
add eax, edi
push edx
push 0
lea edx, [ebp - 0x29c8]
mov al, byte [eax + esi + 0x345]
mov byte [ebp - 0x29c2], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, edi
mov al, byte [eax + esi + 0x344]
mov byte [ebp - 0x29c3], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
mov al, byte [eax + esi + 0x346]
mov byte [ebp - 0x29c1], al
imul eax, dword [esi + 0x188], 0x980
add eax, edi
movss xmm1, dword [eax + esi + 0x354]
divss xmm1, dword [0x5d35d4]
movzx eax, byte [eax + esi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x2f54]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x29c0], al
mov eax, dword [ebp - 0x2f40]
addss xmm1, xmm0
movss dword [ebp - 0x29bf], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2f54]
inc ecx
add edi, 0x34
mov dword [ebp - 0x2f54], ecx
cmp edi, 0x68
jl 0x4d70c0
push dword [ebp - 0x2f5c]
mov edi, dword [ebp - 0x2f40]
mov ecx, esi
push 0
push edi
call fcn.00473660
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e500
test eax, eax
je case.0x4d1305.2
nop dword [eax + eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d724e
push esi
push eax
lea eax, [ebp - 0x3304]
push eax
call fcn.004a2660
add esp, 0xc
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0x3304]
jmp 0x4d72ca
cmp ecx, 0xe
jne 0x4d72f5
mov ecx, dword [eax + 0x11c]
lea edx, [ebp - 0x2f50]
mov dword [ebp - 0x31fb], eax
mov byte [ebp - 0x3200], 0x21
mov dword [ebp - 0x31ff], 0x40800000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x3200]
mov al, byte [eax + eax*2 + 0x6265f0]
mov byte [ebp - 0x31e6], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6265f1]
mov byte [ebp - 0x31e5], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6265f2]
mov byte [ebp - 0x31e4], al
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x31f7], eax
xor eax, eax
mov word [ebp - 0x31e9], ax
mov byte [ebp - 0x31e7], 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.0044e570
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e5b0
test eax, eax
jne 0x4d7220
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d7331
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x30a0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x309f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x309e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x309d], al
mov byte [ebp - 0x309c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d73bb
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d73ce
lea eax, [ebp - 0x30a0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov eax, dword [ebp - 0x2f40]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00515fe0
mov esi, eax
test esi, esi
je 0x4d7705
mov ecx, esi
call fcn.0044ce90
cmp eax, 4
jne case.default.0x4d7459
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d7459
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d7459
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d7459
jmp dword [eax*4 + 0x4dad40]
mov ecx, dword [ebp - 0x2f58]
push 1
push dword [ebp - 0x2f40]
push esi
push edi
call fcn.004dbdb0
jmp case.default.0x4d7459
mov ecx, dword [ebp - 0x2f58]
push 0
push dword [ebp - 0x2f40]
push esi
push edi
call fcn.004dbdb0
jmp case.default.0x4d7459
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0x2d8]
mov esi, dword [edx + 0x14]
cmp esi, 0xb4
jge 0x4d74ee
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x2967]
push eax
call fcn.004725f0
mov eax, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d7459
mov eax, dword [ecx + edi + 0x2fc]
cmp eax, dword [ecx + edi + 0x2f8]
jl 0x4d7505
push str.You_are_already_fully_healed.
jmp 0x4d74b5
lea eax, [esi - 0xb4]
mov ecx, edi
mov dword [edx + 0x14], eax
call fcn.00481aa0
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 - 0x2f60], 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 - 0x2f44], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d757f
mov dword [eax + edi + 0x2fc], ecx
mov byte [ebp - 0x31e0], 0x26
lea edx, [ebp - 0x2f50]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0
lea edx, [ebp - 0x31e0]
push edx
push 0xd
mov eax, dword [eax + edi + 0x2fc]
mov dword [ebp - 0x31db], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2f8]
mov dword [ebp - 0x31d7], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x31df], eax
mov eax, dword [ebp - 0x2f40]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push esi
lea eax, [ebp - 0x2967]
push str.You_are_healed_for__d_points.
push eax
call fcn.004725f0
mov esi, dword [ebp - 0x2f40]
lea edx, [ebp - 0x2f50]
add esp, 0xc
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push 9
push esi
mov ecx, edi
call fcn.00473510
push 0x5d1640
push str.healing.txt
call fcn.00569bde
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.005917ee
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.00591a2e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x2f44]
push dword [ebp - 0x2f60]
add eax, 0x2a0
add eax, edi
push eax
push str._s___ld___ld_n
push esi
call fcn.0043d340
push esi
call fcn.005698f0
add esp, 0x40
jmp case.default.0x4d7459
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 - 0x2f58]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0cb0
mov eax, dword [ebp - 0x2f40]
mov ecx, dword [eax + 0x118]
call fcn.00516090
mov esi, eax
test esi, esi
jne 0x4d7415
mov ecx, dword [ebp - 0x2f40]
call fcn.0044ce90
cmp eax, 3
jne 0x4d7797
cmp byte [ebp - 0xfaf], al
jne 0x4d7797
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x30c0]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bc8b0
test eax, eax
mov eax, dword [ebp - 0x2f40]
je 0x4d779d
cmp dword [ebp - 0x30c0], eax
jne 0x4d779d
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 - 0x2f58]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0cb0
mov eax, dword [ebp - 0x2f40]
mov ecx, eax
call fcn.0044ce90
cmp eax, 3
jne case.0x4d1305.2
cmp byte [ebp - 0xfaf], 0
jne case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
lea eax, [ebp - 0x30c0]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bc8b0
test eax, eax
je case.0x4d1305.2
mov eax, dword [ebp - 0x2f40]
cmp dword [ebp - 0x30c0], eax
jne case.0x4d1305.2
mov ecx, dword [ebp - 0x2f58]
push 1
push eax
push esi
push edi
call fcn.004dbdb0
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.0x4d1305.2
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d78ee
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d1305.2
lea ecx, [ebp - 0x3254]
push ecx
push eax
mov ecx, edi
call fcn.004bc5b0
mov edi, eax
test edi, edi
je case.0x4d1305.2
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.0048c160
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 0x4d78a6
xor ecx, ecx
jmp 0x4d78be
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 - 0x2f58]
call fcn.004e0cb0
push 8
push edi
jmp 0x4d7950
cmp eax, 0xfffffffd
jne case.0x4d1305.2
mov edx, dword [ebp - 0xfa5]
cmp edx, 0x989680
jle 0x4d790c
mov edx, 0x989680
jmp 0x4d7972
cmp edx, 0xff676980
jge 0x4d796e
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 0x4d7934
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 - 0x2f58]
call fcn.004e0cb0
mov ecx, dword [ebp - 0x2f58]
push 1
push esi
call fcn.004e0cb0
jmp case.0x4d1305.2
test edx, edx
js 0x4d7919
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 0x4d7934
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d79ab
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3070], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x306f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x306e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x306d], al
mov byte [ebp - 0x306c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d7a35
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d7a48
lea eax, [ebp - 0x3070]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7acc
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2b90], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2b8f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2b90]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2b2c], 0
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
mov edi, dword [ebp - 0x2f40]
mov ecx, edi
call fcn.0044ce90
cmp eax, 1
jne 0x4d7bd0
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.00515fe0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov ecx, esi
call fcn.0044ce90
cmp eax, 8
jne 0x4d7bb6
cmp dword [ebp - 0xfaf], esi
jne 0x4d7bb6
cmp byte [esi + 0x188], 0
jne 0x4d7b78
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 - 0x30e4]
mov byte [ebp - 0x30e4], 0x33
push eax
push 6
mov dword [ebp - 0x30e3], esi
mov byte [ebp - 0x30df], 1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
push esi
mov ecx, edi
call fcn.004eff10
jmp 0x4d7bab
lea eax, [ebp - 0x2967]
push str.The_chest_is_open_and_empty.
push eax
call fcn.004725f0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2f50]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [edi + 0x118]
call fcn.00516320
mov ecx, dword [edi + 0x118]
call fcn.00516090
mov esi, eax
test esi, esi
jne 0x4d7b00
jmp case.0x4d1305.2
lea eax, [ebp - 0x2967]
push str.You_cant_open_it.
push eax
call fcn.004725f0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2f50]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
jmp 0x4dabe4
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d7c17
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3090], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x308f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x308e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x308d], al
mov byte [ebp - 0x308c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d7ca1
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d7cb4
lea eax, [ebp - 0x3090]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7d38
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2b28], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2b27]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2b28]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2ac4], 0
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
lea ecx, [ebp - 0xfb0]
push ecx
push dword [ebp - 0x2f40]
mov ecx, edi
push eax
call fcn.004dc460
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d7d68
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3098], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3097], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3096], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3095], al
mov byte [ebp - 0x3094], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d7e07
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
lea edx, [ebp - 0x2f50]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
push edx
mov byte [ecx + 2], al
lea edx, [ebp - 0x2f89]
mov eax, dword [ebp - 0x2f54]
push 0
mov byte [ecx + 3], al
push edx
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
push 1
jmp 0x4dabe1
lea eax, [ebp - 0x3098]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea edx, [ebp - 0x2f50]
push edx
push 0
lea edx, [ebp - 0x2f89]
push edx
push 1
jmp 0x4dabe1
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d7e47
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fd8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fd7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fd6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fd5], al
mov byte [ebp - 0x2fd4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d7ed1
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d7ee4
lea eax, [ebp - 0x2fd8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d550
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d3f0
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044d250
add esp, 0x14
test esi, esi
je case.0x4d1305.2
cmp byte [ebp - 0xfaf], 0
je case.0x4d1305.2
imul edi, dword [esi + 0x188], 0x980
cmp byte [edi + esi + 0x344], 0xff
je 0x4d805e
lea eax, [esi + 0x334]
add eax, edi
cmp byte [eax], 0
je 0x4d7f99
mov ecx, str.Pet_A
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7f84
test dl, dl
je 0x4d7f80
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7f84
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7f64
xor eax, eax
jmp 0x4d7f89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d805e
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d390
mov byte [ebp - 0x29e8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x29e7], eax
lea eax, [ebp - 0x29db]
push 0x10
push eax
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
call fcn.0044d390
mov al, byte [edi + esi + 0x345]
add esp, 0x20
mov byte [ebp - 0x29e2], al
mov al, byte [edi + esi + 0x344]
mov byte [ebp - 0x29e3], al
mov al, byte [edi + esi + 0x346]
mov byte [ebp - 0x29e1], al
movss xmm1, dword [edi + esi + 0x354]
divss xmm1, dword [0x5d35d4]
movzx eax, byte [edi + esi + 0x347]
mov ecx, dword [ebp - 0x2f40]
push 0
push 5
mov byte [ebp - 0x29e0], 0
movd xmm0, eax
lea eax, [ebp - 0x29e8]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x29df], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
jmp case.0x4d1305.2
cmp byte [edi + esi + 0x378], 0xff
je case.0x4d1305.2
lea eax, [esi + 0x368]
add eax, edi
cmp byte [eax], 0
je 0x4d80b5
mov ecx, str.Pet_B
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d80a0
test dl, dl
je 0x4d809c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d80a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d8080
xor eax, eax
jmp 0x4d80a5
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x4d1305.2
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d390
mov byte [ebp - 0x2a08], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x2a07], eax
lea eax, [ebp - 0x29fb]
push 0x10
push eax
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
call fcn.0044d390
mov al, byte [edi + esi + 0x379]
add esp, 0x20
mov byte [ebp - 0x2a02], al
mov al, byte [edi + esi + 0x378]
mov byte [ebp - 0x2a03], al
mov al, byte [edi + esi + 0x37a]
mov byte [ebp - 0x2a01], al
movss xmm1, dword [edi + esi + 0x388]
divss xmm1, dword [0x5d35d4]
movzx eax, byte [edi + esi + 0x37b]
mov ecx, dword [ebp - 0x2f40]
push 0
push 5
mov byte [ebp - 0x2a00], 1
movd xmm0, eax
lea eax, [ebp - 0x2a08]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x29ff], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d8190
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fe0], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fdf], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fde], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fdd], al
mov byte [ebp - 0x2fdc], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d821a
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d822d
lea eax, [ebp - 0x2fe0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d82b1
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2d30], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2d2f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2d30]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2ccc], 0
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
push dword [ebp - 0x2f40]
mov ecx, edi
push eax
lea eax, [ebp - 0xfb0]
push eax
call fcn.004dad50
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je 0x4d8308
cmp dword [esi + 0x14f10], 1
jne 0x4d8308
push dword [ebp - 0x2f40]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bcbf0
jmp case.0x4d1305.2
mov ecx, esi
call fcn.00474d10
cmp eax, 9
jle case.0x4d1305.2
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4d832a
cmp al, 4
jne case.0x4d1305.2
push dword [ebp - 0x2f40]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bcbf0
jmp case.0x4d1305.2
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d835a
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2fe8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fe7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fe6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2fe5], al
mov byte [ebp - 0x2fe4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d83e4
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d83f7
lea eax, [ebp - 0x2fe8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
push 5
mov edi, eax
call fcn.00559eaa
mov esi, eax
add esp, 4
mov dword [ebp - 0x2f84], esi
test esi, esi
je 0x4d8428
mov byte [esi], 0x3f
jmp 0x4d842a
xor esi, esi
test edi, edi
je case.0x4d1305.2
cmp byte [edi + 0x14f90], 0
je case.0x4d1305.2
mov eax, dword [edi + 0x238]
lea ecx, [ebp - 0x2f44]
mov dword [esi + 1], eax
mov eax, dword [edi + 0x238]
push 0x31
mov dword [ebp - 0x2f44], eax
lea eax, [ebp - 0x2a44]
push 0x30
push eax
call fcn.004b3c50
cmp dword [ebp - 0x2a30], 0x10
lea ecx, [ebp - 0x2a44]
mov edx, 0x62fb5c
mov byte [ebp - 4], 0xf
cmovae ecx, dword [ebp - 0x2a44]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4d8490
push dword [edi + 0x238]
lea eax, [edi + 0x18c]
push eax
lea eax, [ebp - 0x27b0]
push str.sending__s:__lu__n
push eax
call fcn.0043d370
lea eax, [ebp - 0x27b0]
push eax
push str.FilterFlags.dat
call fcn.004a2860
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
add esp, 0x18
mov ecx, dword [eax + 0x34]
push edx
push 0
push esi
mov eax, dword [ecx]
push 5
mov eax, dword [eax + 4]
call eax
lea ecx, [ebp - 0x2a44]
mov byte [ebp - 4], 0
call fcn.0043f090
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov ecx, dword [ebp - 0xfaf]
mov dword [esi + 0x238], ecx
mov ecx, dword [ebp - 0x2f4c]
mov edx, dword [ebp - 0x2f50]
cmp edx, ecx
je 0x4d8541
mov dword [ebp - 0x2f4c], edx
mov ecx, edx
mov edx, dword [ebp - 0x2f5c]
mov eax, edx
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2fef], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2fee], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2ff0], dl
mov byte [ebp - 0x2fed], al
mov byte [ebp - 0x2fec], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d85c8
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d85db
lea eax, [ebp - 0x2ff0]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
push dword [esi + 0x238]
lea eax, [ebp - 0x23b0]
push str.BBOServer:__lu_n
push eax
call fcn.0043d370
lea eax, [ebp - 0x23b0]
push eax
push str.saving.dat
call fcn.004a2860
add esp, 0x14
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4dabdc
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov ecx, dword [ebp - 0x2f40]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.00516130
mov edi, eax
test edi, edi
je case.0x4d1305.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d1305.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d1305.2
mov ecx, edi
call fcn.0044ce90
cmp eax, 2
jne case.0x4d1305.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 - 0x2f58]
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push edi
push esi
call fcn.004db470
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
test esi, esi
je case.0x4d1305.2
mov al, byte [ebp - 0xfaf]
test al, al
je 0x4d8715
cmp al, 3
jne 0x4d8715
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d8727
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.00472df0
jmp case.0x4d1305.2
mov dword [esi + 0x14f58], 1
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d1305.2
lea ecx, [ebp - 0x3258]
push ecx
push eax
mov ecx, edi
call fcn.004bc5b0
test eax, eax
je case.0x4d1305.2
cmp dword [eax + 0x14f58], 0
je case.0x4d1305.2
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.0047ffd0
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
test eax, eax
je case.0x4d1305.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004d0550
jmp case.0x4d1305.2
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x62e184], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044cb00
add esp, 4
mov ecx, edi
push dword [ebp - 0x2f5c]
call fcn.004bca90
jmp case.0x4d1305.2
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d87e6
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2ff8], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2ff7], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f60], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2ff6], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2ff5], al
mov byte [ebp - 0x2ff4], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d8870
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f60]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d8883
lea eax, [ebp - 0x2ff8]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov esi, eax
mov dword [ebp - 0x2f60], esi
test esi, esi
je case.0x4d1305.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d890f
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2cc8], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2cc7]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2cc8]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2c64], 0
mov ecx, dword [eax + 0x34]
jmp 0x4dabe4
imul eax, dword [esi + 0x188], 0x980
xor edi, edi
mov dword [ebp - 0x2f6c], edi
mov eax, dword [eax + esi + 0x2d8]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x2f70], eax
call fcn.0044e500
mov edi, eax
mov dword [ebp - 0x2f74], edi
test edi, edi
je case.0x4d1305.2
nop dword [eax + eax]
cmp dword [ebp - 0xfaf], edi
jne 0x4da934
mov eax, dword [edi + 0x110]
cmp eax, 0xd
jne 0x4d8b5d
cmp byte [esi + 0x14f91], 0
je 0x4d898c
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2f0], 0xa
jl 0x4da954
mov eax, dword [edi + 0x11c]
push 0x1a0
mov dword [ebp - 0x2f54], eax
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x325c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4d89bf
push esi
mov ecx, eax
call fcn.00491b30
mov edi, eax
jmp 0x4d89c1
xor edi, edi
mov eax, dword [esi + 0x108]
mov ecx, dword [ebp - 0x2f54]
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 - 0x2f54]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [edi + 0x198], eax
call fcn.00569587
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x2f54]
divss xmm0, dword [0x5d35e0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4d8a66
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x198], eax
mov ecx, dword [ebp - 0x2f40]
push edi
mov ecx, dword [ecx + 0x118]
call fcn.00515fc0
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.004725c0
push 0x64
lea eax, [ebp - 0x2967]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
mov ecx, dword [ebp - 0x2f40]
lea eax, [ebp - 0x2968]
add esp, 0x1c
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052c790
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
mov ecx, dword [ebp - 0x2f40]
mov byte [ebp - 0x30dc], 0x18
mov eax, dword [edi + 4]
mov dword [ebp - 0x30db], eax
xor eax, eax
mov dword [ebp - 0x30d6], eax
mov byte [ebp - 0x30d2], al
mov byte [ebp - 0x30d7], 0xc
mov al, byte [edi + 0x108]
mov byte [ebp - 0x30d1], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x30d0], al
lea eax, [ebp - 0x30dc]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c790
jmp 0x4da934
cmp eax, 3
jne 0x4d9ee5
mov edi, dword [edi + 0x11c]
mov eax, dword [edi]
test eax, eax
je 0x4d9b00
cmp eax, 1
je 0x4d9b00
cmp eax, 2
jne 0x4d8f8d
lea eax, [ebp - 0x3190]
push eax
push dword [edi + 4]
mov edi, dword [ebp - 0x2f58]
mov ecx, edi
call fcn.004bca10
test eax, eax
je 0x4d9ec9
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x18], 0
cmp dword [esi + 0x14f48], 0
je 0x4d8ca6
cmp dword [esi + 0x184], 0
jne 0x4d8ca6
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
mov byte [ebp - 0x3240], 0x3e
cmp ecx, eax
je 0x4d8bf6
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3008], dl
sar eax, 8
mov byte [ebp - 0x3007], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3006], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3005], al
mov byte [ebp - 0x3004], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d8c5a
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d8c6d
lea eax, [ebp - 0x3008]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov byte [ebp - 0x323f], 2
lea edx, [ebp - 0x2f50]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3240]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474d10
cmp eax, 9
jle 0x4d8ca6
mov dword [esi + 0x184], 1
mov edi, dword [ebp - 0x2f40]
mov ecx, esi
push 6
push edi
call fcn.00473340
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d8ccc
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3010], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x300f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x300e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f6c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x300d], al
mov byte [ebp - 0x300c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d8d56
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f6c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d8d69
lea eax, [ebp - 0x3010]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
cmp dword [esi + 0x14f48], 0
je 0x4d8dbe
push 0
mov byte [ebp - 0x3170], 0x23
lea ecx, [ebp - 0x3170]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x316f], 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.0052c790
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.00516270
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e6f0
mov edi, dword [ebp - 0x3190]
mov dword [esi + 0x110], 4
mov dword [esi + 0x108], 4
mov dword [esi + 0x114], 4
mov dword [esi + 0x10c], 4
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e350
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8e61
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
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.00515fc0
mov ecx, dword [ebp - 0x2f40]
mov byte [ebp - 0x31ad], 0
mov byte [ebp - 0x31bc], 0x2b
mov dword [ebp - 0x31b1], edi
call fcn.0044ce90
mov ecx, edi
mov byte [ebp - 0x31bb], al
call fcn.0044ce90
mov byte [ebp - 0x31ba], al
lea edx, [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f58]
mov dword [ebp - 0x31b9], 5
mov dword [ebp - 0x31b5], 5
mov dword [ebp - 0x31ac], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x31bc]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov ecx, edi
mov byte [ebp - 0x2e68], 0x17
call fcn.0044cea0
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.004725c0
push 0x64
lea eax, [ebp - 0x2e67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d390
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x2e68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push edi
push dword [ebp - 0x2f40]
mov ecx, esi
call fcn.0048aaf0
lea ecx, [edi + 0x148]
call fcn.00515de0
push 6
push edi
mov ecx, esi
call fcn.00482d20
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d8f65
push edi
call fcn.004976a0
push 0
push 1
push edi
mov ecx, esi
call fcn.00490e80
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp eax, 3
jne 0x4d9ec9
mov edi, dword [ebp - 0x2f40]
xor eax, eax
push eax
push dword [esi + 0x10c]
mov dword [ebp - 0x2f54], eax
push dword [esi + 0x108]
mov ecx, dword [edi + 0x118]
call fcn.00515fe0
test eax, eax
je 0x4d9101
mov ecx, eax
call fcn.0044ce90
cmp eax, 2
jne 0x4d90c4
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d8fea
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3018], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3017], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3016], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f6c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3015], al
mov byte [ebp - 0x3014], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d9074
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f6c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d9087
lea eax, [ebp - 0x3018]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea eax, [ebp - 0x2967]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.004725f0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2f50]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x2968]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov dword [ebp - 0x2f54], 1
mov ecx, dword [edi + 0x118]
call fcn.00516090
test eax, eax
jne 0x4d8fc4
cmp dword [ebp - 0x2f54], eax
je 0x4d9101
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
inc dword [eax + 0x118]
call fcn.0044e570
jmp 0x4da934
push 0x990
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x3260], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4d912d
push 2
mov ecx, eax
call fcn.004a0110
mov dword [ebp - 0x2f6c], eax
jmp 0x4d9137
mov dword [ebp - 0x2f6c], 0
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x2f54], 0
mov dword [ebp - 0x2f44], eax
push eax
lea eax, [ebp - 0x17b0]
push str._s_Recall
push eax
call fcn.0043d370
push 0x120
call fcn.00559eaa
add esp, 0x10
mov dword [ebp - 0x3264], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4d9193
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.0050dad0
mov edi, eax
jmp 0x4d9195
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2f54]
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.00569587
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x2f6c]
add edx, 0x14
mov dword [edi + 0x118], edx
push edi
mov ecx, dword [eax + 0x180]
call fcn.0050e390
mov eax, dword [ebp - 0x2f44]
inc dword [ebp - 0x2f54]
add eax, 0x50
mov dword [ebp - 0x2f44], eax
cmp eax, str.Dirk
jl 0x4d9150
mov esi, dword [ebp - 0x2f6c]
xor edi, edi
call fcn.00569587
cdq
mov ecx, 0xc
idiv ecx
push 0x120
mov dword [ebp - 0x2f54], edx
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x3268], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4d925a
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050dad0
mov edx, eax
mov dword [ebp - 0x2f44], eax
jmp 0x4d9262
xor edx, edx
mov dword [ebp - 0x2f44], edx
mov eax, dword [edx + 0x11c]
mov ecx, dword [ebp - 0x2f54]
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 0x4d92d1
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.00530540
mov ecx, dword [esi + 0x180]
add esp, 4
push dword [ebp - 0x2f44]
call fcn.0050e390
inc edi
cmp edi, 0x11
jl 0x4d9212
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32e4], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4d932e
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.0050dad0
mov edi, eax
jmp 0x4d9330
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.00569587
cdq
mov ecx, 0x1e
idiv ecx
push edi
add edx, 0x32
mov dword [edi + 0x118], edx
mov edi, dword [ebp - 0x2f6c]
mov ecx, dword [edi + 0x180]
call fcn.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32e0], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4d93ae
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
mov dword [ebp - 0x2f44], eax
jmp 0x4d93b6
xor ecx, ecx
mov dword [ebp - 0x2f44], 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.00569587
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x2f44]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32dc], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4d942c
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.0050dad0
jmp 0x4d942e
xor eax, eax
mov dword [ebp - 0x2f44], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.00569587
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x2f44]
add edx, 0x28
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32d8], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4d9497
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.0050dad0
jmp 0x4d9499
xor eax, eax
mov dword [ebp - 0x2f44], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.00569587
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x2f44]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32d4], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4d9502
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.0050dad0
jmp 0x4d9504
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.0050e390
mov dword [ebp - 0x2f44], 0
mov dword [ebp - 0x2f54], 0x1f4
nop dword [eax]
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32d0], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4d956f
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.0050dad0
mov edi, eax
jmp 0x4d9571
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2f44]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
inc ecx
mov eax, dword [ebp - 0x2f54]
imul eax, ecx
mov dword [edi + 0x108], 0
mov dword [ebp - 0x2f44], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10c], xmm0
call fcn.00569587
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push edi
mov dword [edi + 0x118], edx
call fcn.0052e0d0
add esp, 8
push edi
mov edi, dword [ebp - 0x2f6c]
mov ecx, dword [edi + 0x180]
call fcn.0050e390
mov eax, dword [ebp - 0x2f54]
add eax, 0x1f4
mov dword [ebp - 0x2f54], eax
cmp eax, 0x7d0
jl 0x4d9540
mov eax, str.Plain
mov esi, 1
mov dword [ebp - 0x2f44], eax
nop word [eax + eax]
push eax
lea eax, [ebp - 0x17b0]
push str._s_Bead
push eax
call fcn.0043d370
push 0x120
call fcn.00559eaa
add esp, 0x10
mov dword [ebp - 0x32cc], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4d9663
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d9665
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.0050e390
mov eax, dword [ebp - 0x2f44]
inc esi
add eax, 0x20
mov dword [ebp - 0x2f44], eax
cmp eax, str.Fiery
jl 0x4d9620
mov esi, dword [ebp - 0x2f60]
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32c8], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x4d9710
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d9712
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32c4], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x4d9797
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d9799
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32c0], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x4d981e
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d9820
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32bc], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4d98a5
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d98a7
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32b8], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4d992c
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d992e
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32b4], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4d99b3
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d99b5
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.0050e390
push 0x120
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32b0], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4d9a3a
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050dad0
mov ecx, eax
jmp 0x4d9a3c
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.0050e390
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 - 0x2f40]
mov ecx, dword [edi + 0x118]
call fcn.00515fc0
push edi
push dword [esi + 0x10c]
mov ecx, esi
push dword [esi + 0x108]
call fcn.00481eb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp dword [esi + 0x14f48], 0
je 0x4d9bed
cmp dword [esi + 0x184], 0
jne 0x4d9bed
mov ecx, dword [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f4c]
mov byte [ebp - 0x3234], 0x3e
cmp ecx, eax
je 0x4d9b37
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3020], dl
sar eax, 8
mov byte [ebp - 0x301f], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x301e], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x301d], al
mov byte [ebp - 0x301c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d9b9b
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d9bae
lea eax, [ebp - 0x3020]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov eax, dword [ebp - 0x2f58]
lea edx, [ebp - 0x2f50]
mov byte [ebp - 0x3233], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x3234]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474d10
cmp eax, 9
jle 0x4d9bed
mov dword [esi + 0x184], 1
push dword [ebp - 0x2f5c]
mov ecx, dword [ebp - 0x2f58]
push 0
call fcn.004e6050
cmp dword [esi + 0x14f48], 0
je 0x4d9c5f
push 0
mov byte [ebp - 0x3178], 0x23
lea ecx, [ebp - 0x3178]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x3177], eax
mov eax, dword [esi + 0x14f48]
push ecx
mov ecx, dword [ebp - 0x2f40]
push 5
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052c790
mov eax, dword [ebp - 0x2f40]
push dword [esi + 0x14f48]
mov ecx, dword [eax + 0x118]
call fcn.00516270
push 0
push 0
mov ecx, esi
call fcn.0048aaf0
mov eax, dword [ebp - 0x2f4c]
mov ecx, dword [ebp - 0x2f50]
cmp ecx, eax
je 0x4d9c80
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3028], dl
shr eax, 8
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3027], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3026], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f6c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3025], al
mov byte [ebp - 0x3024], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d9d0a
mov eax, dword [ebp - 0x2f44]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f6c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d9d1d
lea eax, [ebp - 0x3028]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov ecx, dword [ebp - 0x2f40]
mov byte [ebp - 0x31d0], 0x2b
call fcn.0044ce90
mov byte [ebp - 0x31cf], al
lea edx, [ebp - 0x2f50]
mov eax, dword [ebp - 0x2f58]
mov byte [ebp - 0x31ce], 0
mov dword [ebp - 0x31cd], 0x100
mov dword [ebp - 0x31c9], 0x100
mov dword [ebp - 0x31c0], 0
mov byte [ebp - 0x31c1], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x31d0]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
test eax, eax
jne 0x4d9e43
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d0]
mov dword [esi + 0x110], eax
mov dword [esi + 0x108], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d4]
mov dword [esi + 0x114], eax
mov dword [esi + 0x10c], eax
mov eax, dword [edi + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d0]
mov dword [ecx + esi + 0x310], eax
mov eax, dword [edi + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d4]
mov dword [ecx + esi + 0x314], eax
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9e94
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d0]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x14f48]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6112d4]
mov dword [ecx + 0x10c], eax
jmp 0x4d9e94
cmp eax, 1
jne 0x4d9e94
cmp dword [edi + 4], eax
mov edx, 0x5a
mov edi, 0xdc
mov ecx, 0x35
cmovne edx, edi
cmovne ecx, edi
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 0x4d9e94
mov dword [eax + 0x108], edx
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x10c], ecx
mov edi, dword [ebp - 0x2f58]
push 0
mov ecx, dword [edi + 0x48]
call fcn.0044e3e0
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9eba
push ecx
mov ecx, dword [eax + 0x118]
call fcn.00515fc0
push dword [ebp - 0x2f5c]
mov ecx, edi
push 1
call fcn.004e6050
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp eax, 0x11
je 0x4da4d4
cmp eax, 0x14
je 0x4da4d4
cmp eax, 0x12
je 0x4da36a
cmp eax, 0x13
je 0x4da36a
cmp eax, 0x15
jne 0x4da934
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2f50]
mov dword [ebp - 0x2f44], eax
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4d9f34
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3030], dl
shr eax, 8
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x302f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f88], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x302e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f84], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x302d], al
mov byte [ebp - 0x302c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4d9fbe
mov eax, dword [ebp - 0x2f54]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f88]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f84]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4d9fd1
lea eax, [ebp - 0x3030]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov eax, dword [ebp - 0x2f58]
mov byte [ebp - 0x30c4], 0
mov ecx, dword [eax + 0x48]
call fcn.0044e500
cmp dword [ebp - 0x2f40], eax
jne 0x4da9ea
mov ecx, 0x6112d4
mov edi, 1
nop dword [eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4da037
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x30c4]
cmp eax, 3
movzx edx, dl
cmovle edx, edi
mov dword [ebp - 0x30c4], edx
jmp 0x4da03d
mov edx, dword [ebp - 0x30c4]
add ecx, 0x50
cmp ecx, 0x611a54
jl 0x4da000
mov edi, dword [ebp - 0x2f40]
test dl, dl
je 0x4da9ea
cmp dword [esi + 0x14f48], 0
jne 0x4da9b9
mov edx, dword [ebp - 0x2f44]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x2f88], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x2f84], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x2f54], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4da4b8
push 0x2c4
call fcn.00559eaa
add esp, 4
mov dword [ebp - 0x32ac], eax
mov byte [ebp - 4], 0x22
test eax, eax
je 0x4da0d7
push 0
push 0
push dword [ebp - 0x2f84]
mov ecx, eax
push dword [ebp - 0x2f88]
call fcn.00496ed0
mov dword [ebp - 0x2f6c], eax
jmp 0x4da0e1
mov dword [ebp - 0x2f6c], 0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 4], 0
push eax
mov eax, dword [ebp - 0x2f74]
add eax, 8
push str._s____n_
push eax
call fcn.0043dd10
lea eax, [ebp - 0x13b0]
push eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1fb0]
push str._ss__s
push eax
call fcn.0043d370
mov eax, dword [ebp - 0x2f6c]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x1fb0]
push 0x400
push eax
call fcn.0044d390
mov ecx, dword [ebp - 0x2f6c]
add esp, 0x2c
mov edx, dword [ebp - 0x2f44]
movss xmm0, dword [ebp - 0x2f54]
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.00515fc0
mov ecx, dword [ebp - 0x2f6c]
mov dword [ecx + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2f6c]
sub eax, 0x2710
mov dword [ecx + 0x118], eax
mov byte [ebp - 0x3150], 0x18
mov dword [ebp - 0x314f], ecx
call fcn.0044ce90
mov ecx, dword [ebp - 0x2f6c]
mov byte [ebp - 0x314b], al
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x314a], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x3148], ax
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x3145], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x3144], al
lea eax, [ebp - 0x3150]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052c790
mov ecx, dword [ebp - 0x2f6c]
push edi
call fcn.004976a0
mov ecx, dword [ebp - 0x2f6c]
mov byte [ebp - 0x310c], 0x38
mov dword [ebp - 0x310b], 0xffffffff
mov dword [ebp - 0x3107], 0xffffffff
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x3103], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x3102], al
lea eax, [ebp - 0x310c]
push eax
push 0x11
mov word [ebp - 0x3101], 0xff
mov dword [ebp - 0x30ff], 0x100ff
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052c790
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f70]
mov dword [esi + 0x14f48], eax
mov dword [eax + 0x21c], esi
mov eax, dword [ebp - 0x2f74]
mov dword [esi + 0x184], 1
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2f50]
mov dword [ebp - 0x2f44], eax
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4da38c
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3038], dl
shr eax, 8
mov dword [ebp - 0x2f84], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3037], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f88], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3036], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f54], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3035], al
mov byte [ebp - 0x3034], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4da416
mov eax, dword [ebp - 0x2f84]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f88]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f54]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4da429
lea eax, [ebp - 0x3038]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov edi, dword [ebp - 0x2f40]
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4da4a5
xor edi, edi
mov ecx, 0x6112d4
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4da46c
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, 0x611a54
jl 0x4da441
test edi, edi
jne 0x4da483
push dword [ebp - 0x2f40]
jmp 0x4da4a6
push str.Please_leave_town_first._:_
lea eax, [ebp - 0x2967]
push eax
call fcn.004725f0
mov eax, dword [ebp - 0x2f40]
mov ecx, dword [eax + 0x11c]
jmp 0x4da918
push edi
push dword [ebp - 0x2f44]
mov ecx, dword [ebp - 0x2f58]
push esi
call fcn.004cd190
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x2f50]
mov dword [ebp - 0x2f54], eax
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4da4f6
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3040], dl
shr eax, 8
mov dword [ebp - 0x2f84], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x303f], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f88], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x303e], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x303d], al
mov byte [ebp - 0x303c], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4da580
mov eax, dword [ebp - 0x2f84]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f88]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f44]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4da593
lea eax, [ebp - 0x3040]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
mov edi, dword [ebp - 0x2f40]
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4da901
cmp dword [edi + 0x124], eax
jne 0x4da901
xor edi, edi
mov ecx, 0x6112d4
nop dword [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4da5eb
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, 0x611a54
jl 0x4da5c0
test edi, edi
jne 0x4da8f7
mov eax, dword [ebp - 0x2f74]
cmp dword [eax + 0x110], 0x11
je 0x4da8c6
mov edi, dword [ebp - 0x2f54]
cmp dword [edi + 0x10], 0xffffffff
jle 0x4da64c
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
mov eax, dword [edi + 0xc]
cmp eax, 4
jge 0x4da683
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
jle 0x4da6b9
cmp eax, 9
jge 0x4da6b9
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp eax, 0xb
jne 0x4da6ed
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp eax, 0x10
jne 0x4da721
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
cmp eax, 0x11
jle 0x4da755
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
mov ecx, esi
call fcn.00481aa0
mov ecx, eax
cmp ecx, 1
jge 0x4da76c
mov ecx, esi
call fcn.00481c80
mov ecx, eax
movss xmm1, dword [edi + 8]
divss xmm1, dword [0x5d35d8]
imul eax, dword [edi + 0xc], 0x258
addss xmm1, dword [0x5d3068]
mov edx, dword [eax + 0x61f868]
mov eax, dword [edi + 4]
shr eax, 0x1f
cmp dword [edi], 0
jl 0x4da79e
cmp eax, 1
jne 0x4da7ad
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5d7390]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
jge 0x4da7ef
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
sub eax, ecx
cmp eax, 9
jle 0x4da825
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push edi
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
xor eax, eax
mov dword [ebp - 0x2f6c], eax
mov eax, dword [ebp - 0x2f40]
mov ecx, dword [eax + 0x110]
call fcn.0044e500
mov edi, eax
test edi, edi
je 0x4da8c6
mov ecx, edi
call fcn.0044ce90
test eax, eax
jne 0x4da875
mov eax, dword [edi + 0x108]
cmp eax, dword [esi + 0x108]
jne 0x4da875
mov eax, dword [edi + 0x10c]
cmp eax, dword [esi + 0x10c]
jne 0x4da875
inc dword [ebp - 0x2f6c]
mov eax, dword [ebp - 0x2f40]
mov ecx, dword [eax + 0x110]
call fcn.0044e5b0
mov edi, eax
test edi, edi
jne 0x4da848
cmp dword [ebp - 0x2f6c], 1
jle 0x4da8c6
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push dword [ebp - 0x2f54]
push esi
call fcn.004cdcb0
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
push dword [ebp - 0x2f40]
mov ecx, dword [ebp - 0x2f58]
push dword [ebp - 0x2f54]
push esi
call fcn.004cf040
mov eax, dword [ebp - 0x2f74]
mov ecx, dword [ebp - 0x2f70]
mov dword [ebp - 0x2f6c], eax
call fcn.0044e570
jmp 0x4da934
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4da488
lea eax, [ebp - 0x2967]
push str.The_EarthKey_doesnt_work_here.
push eax
call fcn.004725f0
mov ecx, dword [edi + 0x11c]
mov eax, dword [ecx]
lea edx, [ebp - 0x2f50]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x2968]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0x2f70]
call fcn.0044e5b0
mov edi, eax
mov dword [ebp - 0x2f74], eax
test edi, edi
jne 0x4d8950
jmp 0x4daa2e
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2c60], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.004725c0
mov ecx, 0x18
mov eax, dword [ebp - 0x2f58]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2c5f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2f50]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2c60]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2bfc], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x2f60]
jmp 0x4daa2e
push 0x64
lea eax, [ebp - 0x2d97]
mov byte [ebp - 0x2d98], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044d390
add esp, 0x10
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0x2d98]
jmp 0x4daa19
push 0x64
lea eax, [ebp - 0x2dff]
mov byte [ebp - 0x2e00], 0x17
push eax
push 0xc8
push str.You_must_be_in_town_to_let_out_a_pet.
call fcn.0044d390
add esp, 0x10
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0x2e00]
mov eax, dword [ebp - 0x2f58]
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 - 0x2f6c]
test edi, edi
je case.0x4d1305.2
mov eax, dword [edi + 0x118]
cmp eax, 1
jle 0x4daa5f
mov ecx, dword [ebp - 0x2f58]
dec eax
push esi
mov dword [edi + 0x118], eax
call fcn.004e8ee0
jmp case.0x4d1305.2
mov ecx, dword [ebp - 0x2f70]
push edi
call fcn.0044e6f0
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x2f58]
push esi
call fcn.004e8ee0
jmp case.0x4d1305.2
lea eax, [ebp - 0x2f40]
mov ecx, edi
push eax
push dword [ebp - 0x2f5c]
call fcn.004bc1b0
mov ecx, eax
test ecx, ecx
je case.0x4d1305.2
mov eax, dword [ecx + 0x14f10]
cmp eax, 1
je 0x4daaeb
cmp eax, 2
je 0x4daaeb
cmp eax, 3
je 0x4daaeb
imul eax, dword [ecx + 0x188], 0x980
test byte [eax + ecx + 0x318], 1
jne 0x4daaeb
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4dab05
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4dab0d
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4dab09
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4dab0d
or edx, ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0x2f50]
mov byte [ebp - 0x3180], 0x50
mov eax, dword [eax]
mov dword [ebp - 0x317f], eax
mov eax, dword [ebp - 0x2f4c]
cmp ecx, eax
je 0x4dab32
mov dword [ebp - 0x2f4c], ecx
mov edx, dword [ebp - 0x2f5c]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3048], dl
shr eax, 8
mov dword [ebp - 0x2f84], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3047], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2f88], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3046], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2f44], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3045], al
mov byte [ebp - 0x3044], 0
cmp ecx, dword [ebp - 0x2f48]
je 0x4dabbc
mov eax, dword [ebp - 0x2f84]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2f88]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2f44]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2f4c], 5
jmp 0x4dabcf
lea eax, [ebp - 0x3048]
push eax
push ecx
lea ecx, [ebp - 0x2f50]
call fcn.0043ec40
lea edx, [ebp - 0x2f50]
push edx
lea edx, [ebp - 0x3180]
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 - 0x2f58]
lea edx, [ebp - 0x2f90]
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 - 0x2f90]
test eax, eax
jg 0x4d12b0
lea ecx, [ebp - 0x2f50]
call fcn.00472bf0
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.00559ee8
mov esp, ebp
pop ebp
ret