Function at 0x4d0890
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c7925
mov eax, dword fs:[0]
push eax
mov eax, 0x26d8
call fcn.00558f10
mov eax, dword [0x62a780]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x2340], eax
mov dword [ebp - 0x24a0], 0
mov byte [ebp - 0x22e4], 4
mov byte [ebp - 0x1d68], 0x17
mov byte [ebp - 0x2384], 0xd
mov byte [ebp - 0x2350], 0xe
mov byte [ebp - 0x1d00], 9
mov byte [ebp - 0x1cb4], 0x28
mov byte [ebp - 0x26e4], 0x21
mov byte [ebp - 0x24b0], 0x1a
mov byte [ebp - 0x2324], 0x2d
mov byte [ebp - 0x236c], 0x2e
mov byte [ebp - 0x2375], 0x37
mov byte [ebp - 0x2578], 0x43
mov dword [ebp - 0x2338], 0
mov dword [ebp - 0x2334], 0
mov dword [ebp - 0x2330], 0
mov dword [ebp - 0x2344], 0
lea edx, [ebp - 0x237c]
mov ecx, dword [eax + 0x34]
push 0
push 0
push edx
mov eax, dword [ecx]
push 0
mov dword [ebp - 4], 0
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x237c]
test eax, eax
jle 0x4da07c
nop dword [eax + eax]
cmp eax, 0xfa0
jle 0x4d0991
mov dword [ebp - 0x237c], 0xfa0
mov edi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2344]
push edx
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x237c]
push edx
lea edx, [ebp - 0xfb0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movsx eax, byte [ebp - 0xfb0]
dec eax
cmp eax, 0x55
ja case.0x4d09d5.2
movzx eax, byte [eax + 0x4da13c]
jmp dword [eax*4 + 0x4da0a4]
mov ecx, dword [0x62eb84]
lea eax, [ebp - 0xfaf]
push eax
call fcn.0050e6e0
test eax, eax
je 0x4d0a0e
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xa
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da042
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je 0x4d0a66
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2328]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
jne 0x4d0a30
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov esi, eax
test esi, esi
je 0x4d0aa6
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov esi, eax
test esi, esi
jne 0x4d0a80
push 0x1502c
call fcn.00558629
add esp, 4
mov dword [ebp - 0x266c], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4d0acc
mov ecx, eax
call fcn.004722f0
mov ecx, eax
jmp 0x4d0ace
xor ecx, ecx
mov eax, dword [ebp - 0x2344]
mov dword [ecx + 0x180], eax
mov dword [ecx + 0x188], 0xffffffff
mov al, byte [ebp - 0xfaf]
mov byte [ecx + 0x240], al
mov al, byte [ebp - 0xfae]
mov byte [ecx + 0x241], al
mov al, byte [ebp - 0xfad]
mov byte [ecx + 0x242], al
mov al, byte [ebp - 0xfac]
mov byte [ecx + 0x243], al
push ecx
mov ecx, dword [edi + 0x44]
mov byte [ebp - 4], 0
call fcn.0044e1c0
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d0b37
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2454], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2453], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2452], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2451], al
mov byte [ebp - 0x2450], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d0bc1
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d0bd4
lea eax, [ebp - 0x2454]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2577], 0
push edx
push 0
lea edx, [ebp - 0x2578]
push edx
push 6
jmp 0x4da047
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
xor edi, edi
call fcn.004bb6d0
mov esi, eax
test esi, esi
je 0x4d0f2f
mov dword [ebp - 0x232c], 1
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._closing_connection:__s___s
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
add esp, 0x18
lea ecx, [ebp - 0x1d78]
call fcn.00513940
mov ecx, dword [ebp - 0x1d70]
mov dx, word [ebp - 0x1d72]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1d70], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d0ca6
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d72], dx
jmp 0x4d0cad
mov word [ebp - 0x1d70], ax
movzx eax, word [ebp - 0x1d6e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d76]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d0d0b
cmp eax, 3
jne 0x4d0d1f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2350
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473010
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1d67]
push str._s_left_the_game.
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
push 0
push edi
mov ecx, esi
call fcn.0048a5f0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e560
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d0dd4
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d0dab
cmp dword [edi + 0x124], eax
jg 0x4d0dd4
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 0x4d0dfd
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [ecx + esi + 0x310]
mov dword [ecx + esi + 0x308], eax
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [ecx + esi + 0x314]
mov dword [ecx + esi + 0x30c], eax
mov ecx, esi
call fcn.0048b230
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d0efd
mov dword [eax + 0x23c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x240], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x244], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x248], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x24c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x250], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x254], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x258], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x25c], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x260], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x1c0], 0
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x220], 0x19
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x124], 1
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x21c], 0
mov dword [esi + 0x14f48], 0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
jne 0x4d0c20
mov edi, dword [ebp - 0x232c]
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x2340]
call fcn.004bbfb0
mov esi, eax
test esi, esi
je 0x4d0f7b
mov edi, dword [ebp - 0x2340]
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov esi, eax
test esi, esi
jne 0x4d0f50
jmp case.0x4d09d5.2
test edi, edi
jne case.0x4d09d5.2
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
add esp, 0x10
lea ecx, [ebp - 0x1d88]
call fcn.00513940
mov ecx, dword [ebp - 0x1d80]
mov dx, word [ebp - 0x1d82]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x1d80], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov edi, eax
cmp cx, 0x18
jae 0x4d0fec
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d82], dx
jmp 0x4d0ff3
mov word [ebp - 0x1d80], ax
movzx eax, word [ebp - 0x1d7e]
cmp esi, 0x18
push eax
movzx eax, di
mov ecx, esi
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d86]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
add esp, 0x20
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x237c]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d3d0
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bc730
jmp case.0x4d09d5.2
mov eax, dword [str.Connecting...]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d3d0
mov ecx, dword [0x62eb88]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.005308b0
test eax, eax
je 0x4d10e5
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da042
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb750
test eax, eax
je 0x4d1121
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 6
push edx
lea edx, [ebp - 0x2350]
jmp 0x4da042
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, edi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00483040
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d1177
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x244c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x244b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x244a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2449], al
mov byte [ebp - 0x2448], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d1201
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d1214
lea eax, [ebp - 0x244c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
test esi, esi
jne 0x4d1244
mov eax, dword [ebp - 0x2344]
lea edx, [ebp - 0x2338]
push edx
mov dword [ebp - 0x2383], eax
lea edx, [ebp - 0x2384]
mov eax, dword [ebp - 0x2340]
push 0
push edx
push 5
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
cmp esi, 1
jne 0x4d126f
mov dword [ebp - 0x234f], esi
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 2
jne 0x4d127c
mov dword [ebp - 0x234f], esi
jmp 0x4d124f
cmp esi, 3
jne 0x4d1289
mov dword [ebp - 0x234f], esi
jmp 0x4d124f
cmp esi, 0xa
jne 0x4d1296
mov dword [ebp - 0x234f], esi
jmp 0x4d124f
cmp esi, 0x14
jne 0x4d12ed
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2350]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [0x62eb88]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.00530af0
mov ecx, dword [0x62eb88]
call fcn.00530a70
jmp case.0x4d09d5.2
cmp esi, 0xffffffff
jne case.0x4d09d5.2
mov dword [ebp - 0x234f], esi
jmp 0x4d124f
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d1317
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x243c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x243b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x243a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2439], al
mov byte [ebp - 0x2438], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d13a1
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d13b4
lea eax, [ebp - 0x243c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [str.Connecting...]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
mov esi, dword [ebp - 0x2340]
mov eax, 0x3e8
mov edi, dword [0x62eb8c]
push 0x20
cmp dword [esi + 0x7c], 0
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push eax
mov dword [ebp - 0x232c], edi
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d3d0
mov ecx, dword [0x62eb88]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.005308b0
test eax, eax
je 0x4d144f
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 0xc
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
jmp 0x4da04a
mov ecx, dword [esi + 0x48]
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d14be
mov edi, dword [ebp - 0x2340]
mov ecx, dword [esi + 0x110]
call fcn.0044e370
test eax, eax
je 0x4d14aa
mov edi, dword [ebp - 0x24a0]
nop dword [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14f8c]
jne 0x4d148f
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044e420
test eax, eax
jne 0x4d1480
mov dword [ebp - 0x24a0], edi
mov edi, dword [ebp - 0x2340]
mov ecx, dword [edi + 0x48]
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d1463
mov edi, dword [ebp - 0x232c]
cmp dword [ebp - 0x24a0], edi
jl 0x4d14d5
mov dword [ebp - 0x234f], 0xd
jmp 0x4d124f
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5dd698]
lahf
test ah, 0x44
jnp 0x4d14f9
mov dword [ebp - 0x234f], 5
jmp 0x4d124f
mov esi, dword [ebp - 0x2340]
lea eax, [ebp - 0x2328]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004bb750
test eax, eax
je 0x4d1543
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 6
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
jmp 0x4da04a
push dword [ebp - 0x2344]
mov ecx, esi
call fcn.004bbfb0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
push dword [ebp - 0xf07]
lea eax, [ebp - 0xf8f]
mov ecx, edi
push 0
push 0
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00483040
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14f8c], ecx
cmp dword [edi + 0x14f7c], 1
jne 0x4d15bb
lea ecx, [ebp - 0x1e3c]
call fcn.00513940
lea eax, [edi + 0x14f6c]
push eax
lea ecx, [ebp - 0x1e3c]
call fcn.005139a0
test eax, eax
jg 0x4d15ee
mov dword [edi + 0x14f7c], 0
test esi, esi
je 0x4d1218
cmp esi, 1
jne 0x4d15fd
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
mov dword [ebp - 0x234f], 7
jmp 0x4d124f
cmp esi, 2
jne 0x4d162c
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], 2
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 3
jne 0x4d1657
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 4
jne 0x4d1682
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 0xffffffff
jne 0x4d16ad
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 0xa
jne 0x4d16d8
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
cmp esi, 0x14
je 0x4d129b
cmp esi, 0xb
jne case.0x4d09d5.2
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], esi
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
mov eax, dword [ebp - 0x2344]
cmp dword [ebp - 0xfaf], eax
jne case.0x4d09d5.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004e6470
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d174c
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2434], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2433], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2432], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2431], al
mov byte [ebp - 0x2430], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d17d6
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d17e9
lea eax, [ebp - 0x2434]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d1814
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 0x4d19a2
mov dword [ebp - 0x1cff], edx
lea edx, [ebp - 0x2338]
movsx eax, cl
imul ecx, eax, 0x980
push edx
push 0
lea edx, [ebp - 0x1d00]
push edx
push 0x49
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x1cfb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x1cef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x1cee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x1ced], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x1cf7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x1cec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x1ceb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x1cea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x1cf3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x1ce9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x1ce8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x1ce7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x1ce4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x1cd4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x1ccc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x1cc8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x1cc6], al
mov byte [ebp - 0x1cc5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x1cc4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x1cc3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x1cc2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x1cc1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x1ce6], ax
cvttss2si eax, dword [ecx + esi + 0x300]
mov dword [ebp - 0x1cc0], eax
mov eax, dword [ecx + esi + 0x2d8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1cbc], eax
jmp 0x4d19be
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x234f], 1
push edx
push 0
lea edx, [ebp - 0x2350]
push edx
push 5
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d1a1e
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d1a25
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d1a7b
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d1a82
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d1ad8
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d1adf
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d1b35
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d1b3c
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d1b92
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d1b99
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d1bef
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d1bf6
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d1c4c
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d1c53
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d1ca9
movups xmm0, xmmword [esi + 0x4520]
movups xmmword [ebp - 0x1bd3], xmm0
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [esi + 0x453c]
mov word [ebp - 0x1bb7], ax
mov al, byte [esi + 0x453e]
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
jmp 0x4d1cb0
mov byte [ebp - 0x1bd3], 0
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1cb4]
mov eax, dword [ecx]
push edx
push 0x101
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x25fc], 0x4b
lea edx, [ebp - 0x2338]
movzx eax, word [esi + 0x14f5c]
mov dword [ebp - 0x25fb], eax
movzx eax, word [esi + 0x14f5e]
mov dword [ebp - 0x25f7], eax
movzx eax, word [esi + 0x14f62]
mov dword [ebp - 0x25f3], eax
movzx eax, word [esi + 0x14f60]
push edx
mov dword [ebp - 0x25ef], eax
lea edx, [ebp - 0x25fc]
movzx eax, word [esi + 0x14f64]
push 0
mov dword [ebp - 0x25eb], eax
movzx eax, word [esi + 0x14f66]
push edx
mov dword [ebp - 0x25e7], eax
push 0x19
jmp 0x4da047
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d1d51
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23e4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23e3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23e2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23e1], al
mov byte [ebp - 0x23e0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d1ddb
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d1dee
lea eax, [ebp - 0x23e4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d1e00
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bbfb0
mov edi, eax
mov dword [ebp - 0x2358], edi
test edi, edi
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d1e32
cmp eax, 7
jle 0x4d1e3c
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d270
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044d0d0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044da60
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d1602
lea eax, [ebp - 0xf94]
push eax
call fcn.0044f0a0
add esp, 4
test eax, eax
jne 0x4d1ec8
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2350]
mov dword [ebp - 0x234f], 7
mov ecx, dword [eax + 0x34]
push edx
push 5
jmp 0x4da04a
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfab]
mov dword [ecx + edi + 0x2c0], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + edi + 0x2cc], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + edi + 0x2cd], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9d]
mov byte [ecx + edi + 0x2ce], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + edi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9c]
mov byte [ecx + edi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9b]
mov byte [ecx + edi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9a]
mov byte [ecx + edi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa3]
mov dword [ecx + edi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf99]
mov byte [ecx + edi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf98]
mov byte [ecx + edi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf97]
mov byte [ecx + edi + 0x2d4], al
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf74]
mov dword [eax + edi + 0x2e8], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf73]
mov dword [eax + edi + 0x2ec], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf72]
mov dword [eax + edi + 0x2f0], ecx
imul eax, dword [ebp - 0xfaf], 0x980
movsx ecx, byte [ebp - 0xf71]
mov dword [eax + edi + 0x2f4], ecx
mov ecx, edi
push dword [ebp - 0xfaf]
call fcn.004858b0
imul ecx, dword [ebp - 0xfaf], 0x980
movups xmm0, xmmword [ebp - 0xf94]
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0xf74], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0xf73], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0xf72], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0xf71], al
movups xmmword [ecx + edi + 0x2a0], xmm0
movq xmm0, qword [ebp - 0xf84]
movq qword [ecx + edi + 0x2b0], xmm0
mov eax, dword [ebp - 0xf7c]
mov dword [ecx + edi + 0x2b8], eax
mov ax, word [ebp - 0xf78]
mov word [ecx + edi + 0x2bc], ax
mov al, byte [ebp - 0xf76]
mov byte [ecx + edi + 0x2be], al
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [eax + edi + 0x2bf], 0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044ed90
add esp, 4
xor eax, eax
mov word [ebp - 0xf96], ax
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf70], eax
mov eax, dword [ebp - 0x2340]
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 0x49
mov eax, dword [eax + 4]
call eax
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2d8]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d217a
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2155
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2dc]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d21cc
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d21a7
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e0]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d2225
mov edi, dword [ebp - 0x232c]
nop dword [eax]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2200
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e4]
add eax, 4
mov ecx, eax
mov dword [ebp - 0x232c], eax
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d2277
mov edi, dword [ebp - 0x232c]
push esi
mov ecx, edi
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e370
mov esi, eax
test esi, esi
jne 0x4d2252
mov edi, dword [ebp - 0x2358]
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
mov byte [eax + edi + 0x344], 0xff
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [eax + edi + 0x378], 0xff
imul eax, dword [ebp - 0xfaf], 0x980
add eax, 0x334
add eax, edi
push eax
call fcn.004b3690
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b3690
push 0x120
call fcn.00558629
add esp, 0x14
mov dword [ebp - 0x2668], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d2302
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d2304
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 0x4d23b8
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2670], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d23f7
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d23f9
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 0x4d24ad
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2664], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d24ec
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d24ee
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 0x4d25a2
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2660], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d25e1
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d25e3
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 0x4d2697
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x265c], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d26d6
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d26d8
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 0x4d278c
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2690], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4d27cb
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d27cd
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 0x4d2881
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2658], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d28c0
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d28c2
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 0x4d2976
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2654], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d29b5
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov esi, eax
jmp 0x4d29b7
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 0x4d2a6b
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.0052e100
push 0x120
call fcn.00558629
add esp, 8
mov dword [ebp - 0x2650], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d2aaa
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d2aac
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x3f800000
mov dword [eax + 0x10], 0x3f800000
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [eax], 0x80
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 4
imul eax, dword [ebp - 0xfaf], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e1c0
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d2ba7
call fcn.00558629
add esp, 4
mov dword [ebp - 0x264c], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d2b53
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d2b55
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 0x4d2c35
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2648], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d2bd1
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d2bd3
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
mov dword [eax + 8], 0x40040000
mov dword [eax + 4], 1
mov dword [eax + 0x14], 0x80
mov dword [eax + 0x18], 0x80
mov dword [eax + 0x10], 0x80
mov dword [eax + 0x34], 0xf
mov dword [eax + 0x38], 0x3e8
mov dword [ecx + 0x108], 0x40000000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 1
mov dword [eax + 0x3c], 0xd
imul eax, dword [ebp - 0xfaf], 0x980
push ecx
mov byte [ebp - 4], 0
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e1c0
imul eax, dword [ebp - 0xfaf], 0x980
xor ecx, ecx
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x14], 0x64
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2fc], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2f8], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x31c], 0
imul eax, dword [ebp - 0xfaf], 0x980
mov word [eax + edi + 0x318], cx
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [ebp - 0xf68], 1
mov dword [eax + edi + 0xbd0], 1
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [ebp - 0xf70], ecx
mov dword [eax + edi + 0x300], ecx
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x304], ecx
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [0x610370]
mov dword [ecx + edi + 0x310], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ecx + edi + 0x310]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [0x610374]
mov dword [ecx + edi + 0x314], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ecx + edi + 0x314]
mov dword [ecx + edi + 0x30c], eax
mov ecx, edi
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0xc10], 0
call fcn.0048b230
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d2dd0
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d2dd7
mov byte [ebp - 0x1cb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d2e2d
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d2e34
mov byte [ebp - 0x1c93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d2e8a
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d2e91
mov byte [ebp - 0x1c73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d2ee7
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d2eee
mov byte [ebp - 0x1c53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d2f44
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d2f4b
mov byte [ebp - 0x1c33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d2fa1
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d2fa8
mov byte [ebp - 0x1c13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d2ffe
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d3005
mov byte [ebp - 0x1bf3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d305b
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1bd3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1bb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
jmp 0x4d3062
mov byte [ebp - 0x1bd3], 0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1cb4]
mov ecx, dword [eax + 0x34]
push edx
push 0x101
jmp 0x4da04a
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d309b
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x246c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x246b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x246a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2469], al
mov byte [ebp - 0x2468], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3125
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3138
lea eax, [ebp - 0x246c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bbfb0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3162
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 0x4d324d
add eax, 0x2a0
push eax
call fcn.0044f1a0
add esp, 4
lea eax, [ebp - 0x2568]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bbdd0
test eax, eax
je 0x4d31d8
lea eax, [ebp - 0x2568]
mov ecx, edi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bb2a0
movsx eax, byte [ebp - 0xfaf]
mov ecx, esi
imul eax, eax, 0x980
mov dword [eax + esi + 0x2c4], 0xffffffff
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + esi + 0xc10], 0
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + esi + 0xc0c], 0
call fcn.0048b230
mov dword [ebp - 0x234f], 1
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2350]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d32a3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d32aa
mov byte [ebp - 0x1cb3], 0
cmp dword [esi + 0xc44], 0xffffffff
jle 0x4d3300
movups xmm0, xmmword [esi + 0xc20]
movups xmmword [ebp - 0x1c93], xmm0
movq xmm0, qword [esi + 0xc30]
movq qword [ebp - 0x1c83], xmm0
mov eax, dword [esi + 0xc38]
mov dword [ebp - 0x1c7b], eax
mov ax, word [esi + 0xc3c]
mov word [ebp - 0x1c77], ax
mov al, byte [esi + 0xc3e]
mov byte [ebp - 0x1c75], al
mov byte [ebp - 0x1c74], 0
jmp 0x4d3307
mov byte [ebp - 0x1c93], 0
cmp dword [esi + 0x15c4], 0xffffffff
jle 0x4d335d
movups xmm0, xmmword [esi + 0x15a0]
movups xmmword [ebp - 0x1c73], xmm0
movq xmm0, qword [esi + 0x15b0]
movq qword [ebp - 0x1c63], xmm0
mov eax, dword [esi + 0x15b8]
mov dword [ebp - 0x1c5b], eax
mov ax, word [esi + 0x15bc]
mov word [ebp - 0x1c57], ax
mov al, byte [esi + 0x15be]
mov byte [ebp - 0x1c55], al
mov byte [ebp - 0x1c54], 0
jmp 0x4d3364
mov byte [ebp - 0x1c73], 0
cmp dword [esi + 0x1f44], 0xffffffff
jle 0x4d33ba
movups xmm0, xmmword [esi + 0x1f20]
movups xmmword [ebp - 0x1c53], xmm0
movq xmm0, qword [esi + 0x1f30]
movq qword [ebp - 0x1c43], xmm0
mov eax, dword [esi + 0x1f38]
mov dword [ebp - 0x1c3b], eax
mov ax, word [esi + 0x1f3c]
mov word [ebp - 0x1c37], ax
mov al, byte [esi + 0x1f3e]
mov byte [ebp - 0x1c35], al
mov byte [ebp - 0x1c34], 0
jmp 0x4d33c1
mov byte [ebp - 0x1c53], 0
cmp dword [esi + 0x28c4], 0xffffffff
jle 0x4d3417
movups xmm0, xmmword [esi + 0x28a0]
movups xmmword [ebp - 0x1c33], xmm0
movq xmm0, qword [esi + 0x28b0]
movq qword [ebp - 0x1c23], xmm0
mov eax, dword [esi + 0x28b8]
mov dword [ebp - 0x1c1b], eax
mov ax, word [esi + 0x28bc]
mov word [ebp - 0x1c17], ax
mov al, byte [esi + 0x28be]
mov byte [ebp - 0x1c15], al
mov byte [ebp - 0x1c14], 0
jmp 0x4d341e
mov byte [ebp - 0x1c33], 0
cmp dword [esi + 0x3244], 0xffffffff
jle 0x4d3474
movups xmm0, xmmword [esi + 0x3220]
movups xmmword [ebp - 0x1c13], xmm0
movq xmm0, qword [esi + 0x3230]
movq qword [ebp - 0x1c03], xmm0
mov eax, dword [esi + 0x3238]
mov dword [ebp - 0x1bfb], eax
mov ax, word [esi + 0x323c]
mov word [ebp - 0x1bf7], ax
mov al, byte [esi + 0x323e]
mov byte [ebp - 0x1bf5], al
mov byte [ebp - 0x1bf4], 0
jmp 0x4d347b
mov byte [ebp - 0x1c13], 0
cmp dword [esi + 0x3bc4], 0xffffffff
jle 0x4d34d1
movups xmm0, xmmword [esi + 0x3ba0]
movups xmmword [ebp - 0x1bf3], xmm0
movq xmm0, qword [esi + 0x3bb0]
movq qword [ebp - 0x1be3], xmm0
mov eax, dword [esi + 0x3bb8]
mov dword [ebp - 0x1bdb], eax
mov ax, word [esi + 0x3bbc]
mov word [ebp - 0x1bd7], ax
mov al, byte [esi + 0x3bbe]
mov byte [ebp - 0x1bd5], al
mov byte [ebp - 0x1bd4], 0
jmp 0x4d34d8
mov byte [ebp - 0x1bf3], 0
cmp dword [esi + 0x4544], 0xffffffff
jle 0x4d3546
movups xmm0, xmmword [esi + 0x4520]
lea edx, [ebp - 0x2338]
push edx
movups xmmword [ebp - 0x1bd3], xmm0
lea edx, [ebp - 0x1cb4]
movq xmm0, qword [esi + 0x4530]
movq qword [ebp - 0x1bc3], xmm0
mov eax, dword [esi + 0x4538]
mov dword [ebp - 0x1bbb], eax
mov ax, word [esi + 0x453c]
push 0
mov word [ebp - 0x1bb7], ax
mov al, byte [esi + 0x453e]
push edx
mov byte [ebp - 0x1bb5], al
mov byte [ebp - 0x1bb4], 0
push 0x101
jmp 0x4da047
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x1bd3], 0
push edx
push 0
lea edx, [ebp - 0x1cb4]
push edx
push 0x101
jmp 0x4da047
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d357d
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23bc], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23bb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ba], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23b9], al
mov byte [ebp - 0x23b8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3607
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d361a
lea eax, [ebp - 0x23bc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d362c
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov dword [ebp - 0xfaf], eax
call fcn.004bbfb0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d3658
cmp eax, 7
jle 0x4d3660
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfab]
lea edx, [ebp - 0x2338]
mov dword [ecx + esi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa3]
push edx
push 0
lea edx, [ebp - 0x1d00]
push edx
push 0x49
mov byte [ecx + esi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa2]
mov byte [ecx + esi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa1]
mov byte [ecx + esi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + esi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa0]
mov byte [ecx + esi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + esi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + esi + 0x2d4], al
mov eax, dword [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [ebp - 0x1cff], eax
mov eax, dword [ecx + esi + 0x2c0]
mov dword [ebp - 0x1cfb], eax
mov al, byte [ecx + esi + 0x2cc]
mov byte [ebp - 0x1cef], al
mov al, byte [ecx + esi + 0x2cd]
mov byte [ebp - 0x1cee], al
mov al, byte [ecx + esi + 0x2ce]
mov byte [ebp - 0x1ced], al
mov eax, dword [ecx + esi + 0x2c4]
mov dword [ebp - 0x1cf7], eax
mov al, byte [ecx + esi + 0x2cf]
mov byte [ebp - 0x1cec], al
mov al, byte [ecx + esi + 0x2d0]
mov byte [ebp - 0x1ceb], al
mov al, byte [ecx + esi + 0x2d1]
mov byte [ebp - 0x1cea], al
mov eax, dword [ecx + esi + 0x2c8]
mov dword [ebp - 0x1cf3], eax
mov al, byte [ecx + esi + 0x2d2]
mov byte [ebp - 0x1ce9], al
mov al, byte [ecx + esi + 0x2d3]
mov byte [ebp - 0x1ce8], al
mov al, byte [ecx + esi + 0x2d4]
mov byte [ebp - 0x1ce7], al
movups xmm0, xmmword [ecx + esi + 0x2a0]
movups xmmword [ebp - 0x1ce4], xmm0
movq xmm0, qword [ecx + esi + 0x2b0]
movq qword [ebp - 0x1cd4], xmm0
mov eax, dword [ecx + esi + 0x2b8]
mov dword [ebp - 0x1ccc], eax
movzx eax, word [ecx + esi + 0x2bc]
mov word [ebp - 0x1cc8], ax
mov al, byte [ecx + esi + 0x2be]
mov byte [ebp - 0x1cc6], al
mov byte [ebp - 0x1cc5], 0
mov al, byte [ecx + esi + 0x2e8]
mov byte [ebp - 0x1cc4], al
mov al, byte [ecx + esi + 0x2ec]
mov byte [ebp - 0x1cc3], al
mov al, byte [ecx + esi + 0x2f0]
mov byte [ebp - 0x1cc2], al
mov al, byte [ecx + esi + 0x2f4]
mov byte [ebp - 0x1cc1], al
movzx eax, word [ecx + esi + 0x318]
mov word [ebp - 0x1ce6], ax
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.0048b230
cmp dword [esi + 0x2c4], 0xffffffff
jle 0x4d32a3
movups xmm0, xmmword [esi + 0x2a0]
movups xmmword [ebp - 0x1cb3], xmm0
movq xmm0, qword [esi + 0x2b0]
movq qword [ebp - 0x1ca3], xmm0
mov eax, dword [esi + 0x2b8]
mov dword [ebp - 0x1c9b], eax
mov ax, word [esi + 0x2bc]
mov word [ebp - 0x1c97], ax
mov al, byte [esi + 0x2be]
mov byte [ebp - 0x1c95], al
mov byte [ebp - 0x1c94], 0
jmp 0x4d32aa
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d38f9
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23f4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23f3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23f2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23f1], al
mov byte [ebp - 0x23f0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3983
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3996
lea eax, [ebp - 0x23f4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
push 0x5d0640
push str.bugs.txt
call fcn.00568469
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059005e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059029e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
cmp byte [ebp - 0xfad], 0
mov ecx, 0x5d8b58
mov eax, 0x5d8b54
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfaf], 0
mov ecx, 0x5d8b58
mov eax, 0x5d8b5c
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfac], 0
mov ecx, 0x5d8b58
mov eax, 0x5d8b60
cmove eax, ecx
push eax
push esi
call fcn.0043d340
add esp, 0x40
mov ecx, 0x5d8b58
cmp byte [ebp - 0xfae], 0
mov eax, 0x5d8b64
cmove eax, ecx
push eax
push esi
call fcn.0043d340
cmp byte [ebp - 0xfab], 0
mov ecx, 0x5d8b58
mov eax, 0x5d8b68
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.0056817b
add esp, 4
lea eax, [ebp - 0x2328]
push eax
push dword [ebp - 0x2344]
mov ecx, edi
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
imul ecx, dword [esi + 0x188], 0x980
lea eax, [ebp - 0x22e2]
add ecx, 0x2a0
add ecx, esi
push ecx
push str.Thanks_for_your_bug_report___s_
push eax
call fcn.0043d370
add esp, 0xc
mov byte [ebp - 0x22e3], 0xfc
mov ecx, dword [edi + 0x34]
lea edx, [ebp - 0x2338]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x22e4]
push 0
push edx
push 0x92
mov eax, dword [eax + 4]
call eax
mov dword [esi + 0x258], 0
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d3b51
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23fc], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23fb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23fa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23f9], al
mov byte [ebp - 0x23f8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d3bdb
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d3bee
lea eax, [ebp - 0x23fc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d3c01
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x2344]
mov ecx, edi
mov byte [ebp - 0xfaf], al
call fcn.004bbfb0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
movsx ecx, byte [ebp - 0xfaf]
imul ecx, ecx, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov ecx, dword [ebp - 0x2344]
mov dword [ebp - 0x2383], ecx
push edx
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2384]
push 0
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [edi + 0x188], eax
push 0
push 0
mov eax, dword [ecx + edi + 0x308]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
mov eax, dword [ecx + edi + 0x30c]
mov ecx, edi
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
call fcn.0048a5f0
push dword [ebp - 0x2344]
mov ecx, esi
push 1
call fcn.004e4ac0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
call fcn.005139e0
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x38c
add ecx, edi
call fcn.005139e0
lea ecx, [ebp - 0x1e4c]
call fcn.00513940
imul ecx, dword [edi + 0x188], 0x980
lea eax, [ebp - 0x1e4c]
push eax
add ecx, 0x324
add ecx, edi
call fcn.005139a0
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 0x4d3d48
mov dword [eax + edi + 0x2fc], ecx
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x18], 0
push dword [edi + 0x14f8c]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [edi + 0x243]
push eax
movzx eax, byte [edi + 0x242]
push eax
movzx eax, byte [edi + 0x241]
push eax
movzx eax, byte [edi + 0x240]
push eax
lea eax, [ebp - 0x13b0]
push str._new_connection_from_IP__d._d._d._d:__s___s___d
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
mov eax, dword [edi + 0x14f10]
add esp, 0x2c
cmp eax, 2
je 0x4d3dd4
cmp eax, 3
jne 0x4d3de8
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2350
add esp, 8
lea ecx, [ebp - 0x1d98]
call fcn.00513940
mov ecx, dword [ebp - 0x1d90]
mov dx, word [ebp - 0x1d92]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x1d90], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d3e30
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1d92], dx
jmp 0x4d3e37
mov word [ebp - 0x1d90], ax
movzx eax, word [ebp - 0x1d8e]
cmp esi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, esi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1d96]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
mov eax, dword [edi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d3e95
cmp eax, 3
jne 0x4d3ea9
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2350
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2340]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d3f2c
nop
cmp dword [esi + 0x110], 0x12
jne 0x4d3f0d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d3ee0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d3f9c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d3f7d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d3f50
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x4d400c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d3fed
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e560
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d3fc0
mov eax, dword [ebp - 0x2340]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044e250
imul ecx, dword [edi + 0x188], 0x980
mov esi, eax
mov dword [ebp - 0x2328], esi
lea eax, [ebp - 0x1d67]
lea edx, [ecx + 0x2a0]
add edx, edi
cmp dword [ecx + edi + 0x31c], 1
push edx
jle 0x4d404e
push str._s_entered_the_game.
jmp 0x4d4053
push str.___s_begins_life___
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a350
lea eax, [ebp - 0x1d67]
push str.Welcome_to_Blade_Mistress.__Please_check_out_the_website__http:__bm.kicks_ass.org_index.html_.
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push edi
mov ecx, esi
mov dword [edi + 0x258], 0
call fcn.004dfdd0
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d44c3
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0xc10], 0
jle 0x4d44c3
mov esi, dword [eax + edi + 0xc00]
mov ecx, dword [eax + edi + 0xc04]
movss xmm0, dword [eax + edi + 0xbfc]
mov dword [ebp - 0x232c], ecx
lea eax, [esi + esi*2]
movss dword [ebp - 0x2358], xmm0
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
mov dword [ebp - 0x2348], eax
cmp byte [eax + str.Ghost], 0
je 0x4d47c6
push 0x2c4
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2644], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d4160
push 0
push 0
push dword [ebp - 0x232c]
mov ecx, eax
push esi
call fcn.00496950
mov esi, eax
jmp 0x4d4162
xor esi, esi
imul ecx, dword [edi + 0x188], 0x980
lea eax, [esi + 0x184]
mov byte [ebp - 4], 0
mov dword [ebp - 0x233c], eax
add ecx, 0xbd4
add ecx, edi
cmp ecx, str.NO_NAME
je 0x4d419c
push 0x20
push eax
push 0x20
push ecx
call fcn.0044d210
add esp, 0x10
jmp 0x4d41a2
mov dword [ebp - 0x233c], eax
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d423d
imul edx, dword [edi + 0x188], 0x980
add edx, 0x2a0
add edx, edi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x232c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d41d0
sub ecx, dword [ebp - 0x232c]
push ecx
push dword [ebp - 0x233c]
push edx
call fcn.00594f00
add esp, 0xc
test eax, eax
je 0x4d423d
mov eax, dword [ebp - 0x2348]
lea eax, [eax + str.Ghost]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
push dword [ebp - 0x233c]
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
add esp, 0x20
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2328]
movss xmm0, dword [ebp - 0x2358]
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc14]
mov dword [esi + 0x1b4], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc1c]
mov dword [esi + 0x1bc], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1ac], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc10]
mov dword [esi + 0x1b0], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0xc18]
mov dword [esi + 0x1b8], eax
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf7]
mov byte [esi + 0x1a7], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf6]
mov byte [esi + 0x1a6], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf5]
mov byte [esi + 0x1a5], al
imul eax, dword [edi + 0x188], 0x980
mov al, byte [eax + edi + 0xbf4]
mov byte [esi + 0x1a4], al
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + 0x118]
mov eax, dword [eax + edi + 0xbf8]
mov dword [esi + 0x1a8], eax
movss dword [esi + 0x1f4], xmm0
call fcn.00513bc0
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov byte [ebp - 0x2524], 0x18
mov dword [ebp - 0x2523], esi
call fcn.0044cd10
mov ecx, dword [ebp - 0x2328]
mov byte [ebp - 0x251f], al
movzx eax, word [esi + 0x220]
mov word [ebp - 0x251e], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x251c], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x2519], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2518], al
lea eax, [ebp - 0x2524]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00497120
mov byte [ebp - 0x2504], 0x38
mov dword [ebp - 0x2503], 0xffffffff
mov dword [ebp - 0x24ff], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x24fb], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x24fa], al
lea eax, [ebp - 0x2504]
mov word [ebp - 0x24f9], 0xff
mov dword [ebp - 0x24f7], 0x100ff
jmp 0x4d4790
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f4], 9
jle 0x4d47cc
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov esi, eax
call fcn.004819b0
cmp esi, 1
mov ecx, 1
mov edx, esi
cmovl edx, ecx
xor ecx, ecx
cmp esi, 1
mov dword [ebp - 0x232c], edx
cmovge ecx, eax
mov dword [ebp - 0x233c], ecx
test ecx, ecx
jle 0x4d4533
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
nop
cmp byte [eax], 0
jne 0x4d452d
dec ecx
sub eax, 0x64
test ecx, ecx
jg 0x4d4520
mov dword [ebp - 0x233c], ecx
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x2348], eax
je 0x4d47c6
push 0x2c4
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2640], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4d458b
push 0
push 0
push dword [ebp - 0x233c]
mov ecx, eax
push dword [ebp - 0x232c]
call fcn.00496950
mov esi, eax
jmp 0x4d458d
xor esi, esi
push dword [ebp - 0x2348]
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 4], 0
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d370
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
imul eax, dword [edi + 0x188], 0x980
add esp, 0x20
push esi
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x108], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x10c], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x110], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x114], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x308]
mov dword [esi + 0x228], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x30c]
mov dword [esi + 0x22c], eax
mov eax, dword [ebp - 0x2328]
mov byte [esi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.00513bc0
cmp dword [esi + 0x1b4], 4
jge 0x4d4694
mov dword [esi + 0x1b4], 4
mov dword [esi + 0x234], 1
mov dword [esi + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, 0x2710
mov ecx, esi
mov dword [esi + 0x118], eax
mov dword [esi + 0x238], 0x2710
mov byte [ebp - 0x2534], 0x18
mov dword [ebp - 0x2533], esi
call fcn.0044cd10
mov byte [ebp - 0x252f], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x2328]
mov word [ebp - 0x252e], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x252c], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x2529], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x2528], al
lea eax, [ebp - 0x2534]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00497120
mov byte [ebp - 0x24f0], 0x38
mov dword [ebp - 0x24ef], 0xffffffff
mov dword [ebp - 0x24eb], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x24e7], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x24e6], al
lea eax, [ebp - 0x24f0]
mov word [ebp - 0x24e5], 0xff
mov dword [ebp - 0x24e3], 0x100ff
mov ecx, dword [ebp - 0x2328]
push 0
push 5
push eax
push 0x11
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
mov dword [edi + 0x14f48], esi
mov dword [esi + 0x21c], edi
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x2340]
mov byte [ebp - 0x2544], 0x3f
lea edx, [ebp - 0x2338]
mov eax, dword [edi + 0x238]
mov dword [ebp - 0x2543], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2544]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14f10], 1
jne 0x4d4829
mov word [ebp - 0x2608], 0x3e
lea edx, [ebp - 0x2338]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2608]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x4d485a
mov word [ebp - 0x2614], 0x33e
lea edx, [ebp - 0x2338]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2614]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x254c], 0x4f
lea edx, [ebp - 0x2338]
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x254b], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x254c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x2554], 0x51
push edx
push 0
mov eax, dword [ecx + 0xc4]
lea edx, [ebp - 0x2554]
mov dword [ebp - 0x2553], eax
mov ecx, dword [ecx + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14f84], 0
jne case.0x4d09d5.2
cmp dword [edi + 0x14f20], 0
je case.0x4d09d5.2
lea eax, [ebp - 0x1d67]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
lea eax, [ebp - 0x1d67]
push str.command_to_reward_the_player_who_introduced_you_to_Blade_Mistress.
push eax
call fcn.004722c0
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da04a
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d4952
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2404], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2403], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2402], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2401], al
mov byte [ebp - 0x2400], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d49dc
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d49ef
lea eax, [ebp - 0x2404]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
push dword [ebp - 0x2344]
mov ecx, edi
push 0
call fcn.004e4ac0
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._log_off_character:__s___s
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
mov eax, dword [esi + 0x14f10]
add esp, 0x18
cmp eax, 2
je 0x4d4a6a
cmp eax, 3
jne 0x4d4a7e
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2350
add esp, 8
lea ecx, [ebp - 0x1da8]
call fcn.00513940
mov ecx, dword [ebp - 0x1da0]
mov dx, word [ebp - 0x1da2]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x1da0], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x2348], eax
cmp cx, 0x18
jae 0x4d4ac6
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x1da2], dx
jmp 0x4d4acd
mov word [ebp - 0x1da0], ax
movzx eax, word [ebp - 0x1d9e]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x2348]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x1da6]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00472290
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a2350
mov eax, dword [esi + 0x14f10]
add esp, 0x20
cmp eax, 2
je 0x4d4b2b
cmp eax, 3
jne 0x4d4b3f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a2350
add esp, 8
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473010
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1d67]
push str._s_left_the_game.
push eax
call fcn.004722c0
add esp, 0xc
lea eax, [ebp - 0x1d68]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
push 0
push edi
mov ecx, esi
call fcn.0048a5f0
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d4be8
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d4bbf
cmp dword [edi + 0x124], eax
jg 0x4d4be8
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 0x4d4c44
mov ecx, edi
call fcn.0044cd10
imul ecx, dword [esi + 0x188], 0x980
cmp eax, 3
jne 0x4d4c25
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 0x4d4c4b
mov eax, dword [ecx + esi + 0x310]
mov dword [ecx + esi + 0x308], eax
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [ecx + esi + 0x314]
mov dword [ecx + esi + 0x30c], eax
mov ecx, esi
call fcn.0048b230
mov eax, dword [esi + 0x14f48]
test eax, eax
je case.0x4d09d5.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.0x4d09d5.2
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d4d5f
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x240c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x240b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x240a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2409], al
mov byte [ebp - 0x2408], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d4de9
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d4dfc
lea eax, [ebp - 0x240c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov dword [esi + 0x258], 0
mov edx, dword [esi + 0x188]
imul ecx, edx, 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d4eaa
mov eax, dword [ecx + esi + 0x2d8]
cmp dword [eax + 0x18], 0
je 0x4d4e84
cmp dword [ebp - 0xfaa], 6
jne 0x4d4e84
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.004e0010
jmp case.0x4d09d5.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.004e0010
jmp case.0x4d09d5.2
cmp al, 1
jne 0x4d4ebd
push 1
push esi
mov ecx, edi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp al, 2
jne 0x4d4ed0
push 2
push esi
mov ecx, edi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp al, 3
jne 0x4d4ee3
push 3
push esi
mov ecx, edi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp al, 4
jne 0x4d4ef6
push 4
push esi
mov ecx, edi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp al, 0xb
jne 0x4d4fab
cmp dword [esi + 0x14f10], 3
jne 0x4d4f32
push str.Trial_moderators_cannot_open_any_guild_chests.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
add esp, 8
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da047
lea eax, [ebp - 0x256c]
mov ecx, edi
push eax
imul eax, edx, 0x980
add eax, 0x2a0
add eax, esi
push eax
call fcn.004bbdd0
test eax, eax
je 0x4d4fa1
mov edx, dword [ebp - 0x256c]
cmp edx, dword [ebp - 0x2328]
jne 0x4d4fa1
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.004e0010
jmp case.0x4d09d5.2
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d4f0c
cmp al, 9
jne 0x4d531d
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb6d0
cmp dword [ebp - 0xfaa], 6
mov edi, eax
jne 0x4d4fd8
mov edi, dword [esi + 0x14f54]
test edi, edi
je case.0x4d09d5.2
lea edx, [edi + 0x18c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x232c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d4ff1
sub ecx, dword [ebp - 0x232c]
cmp ecx, 1
jb case.0x4d09d5.2
lea eax, [esi + 0x18c]
push eax
push edx
call fcn.0044d5d0
add esp, 8
test eax, eax
jne case.0x4d09d5.2
lea ecx, [ebp - 0x1e5c]
call fcn.00513940
mov eax, dword [esi + 0x14f54]
test eax, eax
jne 0x4d52b1
cmp dword [edi + 0x14f54], eax
jne 0x4d52e9
mov dword [esi + 0x14f54], edi
mov dword [edi + 0x14f54], esi
mov dword [esi + 0x14f58], eax
mov dword [edi + 0x14f58], eax
mov dword [esi + 0x14ef4], eax
mov dword [esi + 0x14ef0], eax
mov eax, dword [edi + 0x14f4c]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x14f4c]
mov dword [eax + 0x14], 0
mov byte [ebp - 0x1e2c], 0x52
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str.You_begin_trading_with__s.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [ecx + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x1e2b]
push eax
call fcn.004b3750
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov byte [ebp - 0x1e21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1e2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d5151
mov dword [ebp - 0x2334], ecx
mov edx, dword [edi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2414], dl
sar eax, 8
mov byte [ebp - 0x2413], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2412], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2411], al
mov byte [ebp - 0x2410], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d51b5
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d51c8
lea eax, [ebp - 0x2414]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._s_begins_trading_with_you.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1e2b]
push eax
call fcn.004b3750
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov byte [ebp - 0x1e21], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1e2c]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2340]
push 9
push esi
call fcn.004e0010
push 8
push esi
mov esi, dword [ebp - 0x2340]
mov ecx, esi
call fcn.004e0010
push 9
push edi
mov ecx, esi
call fcn.004e0010
push 8
push edi
mov ecx, esi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp eax, edi
jne 0x4d52dc
cmp dword [edi + 0x14f54], esi
jne 0x4d52dc
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x2340]
push 9
push esi
mov dword [esi + 0x14ef4], eax
call fcn.004e0010
jmp case.0x4d09d5.2
cmp dword [edi + 0x14f54], 0
je case.0x4d09d5.2
lea eax, [ebp - 0x1d67]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da04a
cmp al, 8
jne 0x4d5390
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0xfaa]
call fcn.004bb6d0
cmp dword [ebp - 0xfaa], 6
mov ecx, eax
jne 0x4d5346
mov ecx, dword [esi + 0x14f54]
test ecx, ecx
je case.0x4d09d5.2
cmp dword [esi + 0x14f54], ecx
jne 0x4d5379
cmp dword [ecx + 0x14f54], esi
jne 0x4d5379
mov eax, dword [ebp - 0xfaf]
mov ecx, edi
push 8
push esi
mov dword [esi + 0x14ef0], eax
call fcn.004e0010
jmp case.0x4d09d5.2
cmp dword [ecx + 0x14f54], 0
je case.0x4d09d5.2
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d4f0c
cmp al, 6
jne 0x4d5490
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513d30
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d09d5.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d09d5.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 2
je 0x4d5410
mov ecx, edi
call fcn.0044cd10
cmp eax, 3
je 0x4d5410
mov ecx, edi
call fcn.0044cd10
cmp eax, 0x15
jne case.0x4d09d5.2
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [edi + 0x180]
mov dword [ecx + 0x18], eax
mov ecx, edi
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
call fcn.0044cd10
cmp eax, 2
je 0x4d547d
mov ecx, edi
call fcn.0044cd10
cmp eax, 0x15
je 0x4d547d
mov ecx, edi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
push 7
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
push 6
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
test al, al
jne case.0x4d09d5.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d54c5
lea ecx, [ebp - 0x263c]
push ecx
push eax
mov ecx, edi
call fcn.004bc010
mov edx, eax
test edx, edx
je 0x4d54f2
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d54d1
push dword [esi + 0x10c]
push dword [esi + 0x108]
mov ecx, dword [ebp - 0x2328]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
imul ecx, dword [esi + 0x188], 0x980
mov ecx, dword [ecx + esi + 0x2d8]
mov dword [ecx + 0x18], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, edi
push 0
push esi
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0010
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d552f
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x241c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x241b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x241a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2419], al
mov byte [ebp - 0x2418], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d55b9
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d55cc
lea eax, [ebp - 0x241c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d5652
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2048], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2047]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2048]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1fe4], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
mov dword [esi + 0x258], 0
cmp dword [esi + 0x14f54], 0
jne 0x4d5779
cmp byte [ebp - 0xfa2], 0
je 0x4d5779
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4d5779
cmp dword [eax + 0x20], 0
jne 0x4d5779
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d56b0
sub ecx, edi
cmp ecx, 1
jbe 0x4d5773
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d56c7
sub ecx, edi
push ecx
push edx
push str.Demon_Amulet
call fcn.00594f00
add esp, 0xc
test eax, eax
je 0x4d5773
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 0x4d56f5
sub ecx, edi
push ecx
push edx
push str.Dragon_Orchid
call fcn.00594f00
add esp, 0xc
test eax, eax
je 0x4d5773
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 0x4d5720
sub ecx, edi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.00594f00
add esp, 0xc
test eax, eax
je 0x4d5773
lea eax, [ebp - 0x1d67]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da04a
mov edi, dword [ebp - 0x2340]
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.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.004e4c40
cmp eax, 1
jne 0x4d592e
push esi
mov ecx, edi
call fcn.004e7910
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.004e0010
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x20], 0
jne case.0x4d09d5.2
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x14f48]
mov dword [ebp - 0x2358], eax
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x2354], eax
xor eax, eax
mov dword [ebp - 0x233c], eax
test ecx, ecx
je 0x4d585b
lea eax, [ebp - 0x233c]
push eax
push ecx
mov ecx, edi
call fcn.004bc010
mov ecx, eax
test ecx, ecx
je 0x4d5855
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x2358], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x233c]
mov edi, dword [ebp - 0x2328]
test eax, eax
cmovne edi, eax
imul eax, dword [esi + 0x188], 0x980
mov dword [ebp - 0x2328], edi
mov eax, dword [eax + esi + 0x2d8]
mov ecx, dword [eax + 0x18]
add ecx, 4
call fcn.0044e390
mov edx, dword [ebp - 0x2354]
push 0
push 5
test eax, eax
je 0x4d58db
imul eax, dword [esi + 0x188], 0x980
lea ecx, [ebp - 0x24b0]
push ecx
push 7
push edx
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24af], eax
mov eax, dword [ebp - 0x2358]
push eax
push 0
mov byte [ebp - 0x24ab], al
mov byte [ebp - 0x24aa], dl
call fcn.0052a350
jmp case.0x4d09d5.2
mov byte [ebp - 0x2588], 0x18
lea ecx, [ebp - 0x2588]
imul eax, dword [esi + 0x188], 0x980
push ecx
push 0xd
push edx
mov ecx, edi
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x2587], eax
mov eax, dword [ebp - 0x2358]
push eax
push 0
mov byte [ebp - 0x2583], 6
mov byte [ebp - 0x257d], al
mov byte [ebp - 0x257c], dl
call fcn.0052a350
jmp case.0x4d09d5.2
cmp eax, 2
jne case.0x4d09d5.2
push esi
mov ecx, edi
call fcn.004e7910
jmp case.0x4d09d5.2
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d595a
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2424], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2423], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2422], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2421], al
mov byte [ebp - 0x2420], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d59e4
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d59f7
lea eax, [ebp - 0x2424]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov dword [esi + 0x258], 0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
lea eax, [ebp - 0xfb0]
mov ecx, edi
push eax
push esi
call fcn.004df780
test eax, eax
je case.0x4d09d5.2
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.0x4d09d5.2
jmp dword [eax*4 + 0x4da194]
push 2
mov ecx, edi
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
push 3
mov ecx, edi
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d5bd6
lea ecx, [ebp - 0x2570]
push ecx
push eax
mov ecx, edi
call fcn.004bc010
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2570]
push eax
push dword [ebp - 0xfab]
call fcn.004bb6d0
test eax, eax
je 0x4d5b2a
cmp dword [esi + 0x14f10], 1
je 0x4d5b0c
cmp byte [esi + 0x14f91], 0
je case.0x4d09d5.2
cmp byte [eax + 0x14f91], 0
je case.0x4d09d5.2
cmp dword [edi + 0x204], 0
jne 0x4d5b1f
mov dword [edi + 0x11c], 0
mov dword [edi + 0x204], eax
jmp case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2638]
push eax
push dword [ebp - 0xfab]
call fcn.004bc010
mov dword [ebp - 0x2348], eax
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d5bb8
cmp dword [ecx + 0x14f10], 0
jne 0x4d5bb8
mov ecx, dword [ebp - 0x2328]
call fcn.0044cd10
cmp eax, 4
jne 0x4d5b82
mov eax, dword [ebp - 0x2328]
cmp dword [eax + 0x134], 6
je 0x4d5bb2
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.0x4d09d5.2
cmp byte [ecx + 0x14f91], 0
je case.0x4d09d5.2
cmp byte [esi + 0x14f91], 0
je case.0x4d09d5.2
jmp 0x4d5bb8
mov eax, dword [ebp - 0x2348]
cmp dword [edi + 0x214], 0
jne 0x4d5bcb
mov dword [edi + 0x11c], 0
mov dword [edi + 0x214], eax
jmp case.0x4d09d5.2
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513d30
mov edi, eax
test edi, edi
je 0x4d5c7c
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne 0x4d5c7c
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne 0x4d5c7c
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne 0x4d5c7c
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d5c63
cmp dword [eax + 0x14f10], 0
jne 0x4d5c63
cmp byte [eax + 0x14f91], 0
je 0x4d5c7c
cmp byte [esi + 0x14f91], 0
je 0x4d5c7c
cmp dword [esi + 0x14ea0], 0
jne 0x4d5c76
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x2634]
push eax
push dword [ebp - 0xfab]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
cmp byte [esi + 0x14f91], 0
je case.0x4d09d5.2
cmp byte [eax + 0x14f91], 0
je case.0x4d09d5.2
cmp dword [esi + 0x14ea4], 0
jne 0x4d5cd2
cmp dword [esi + 0x14ea0], 0
jne 0x4d5cd2
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea4], eax
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [ebp - 0x2328]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.00513d30
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d09d5.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d09d5.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne case.0x4d09d5.2
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4d5d86
cmp dword [eax + 0x14f10], 1
je 0x4d5d99
cmp dword [esi + 0x14ea0], 0
jne 0x4d5d99
mov dword [esi + 0x11c], 0
mov dword [esi + 0x14ea0], edi
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d5dba
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x242c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x242b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x242a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2429], al
mov byte [ebp - 0x2428], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d5e44
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5e57
lea eax, [ebp - 0x242c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 4
call fcn.0044e320
test eax, eax
je 0x4d5ec2
cmp dword [eax + 0x110], 6
je 0x4d5f1e
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, 0x60fca0
mov ecx, str.XOKHNBC12345678GD90:
cmp dword [ecx], esi
cmove eax, edx
add ecx, 4
add edx, 0x20
cmp ecx, 0x60fc9c
jl 0x4d5ed4
test eax, eax
je case.0x4d09d5.2
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e2a0
test eax, eax
je case.0x4d09d5.2
cmp dword [eax + 0x110], 6
jne case.0x4d09d5.2
mov ecx, eax
call fcn.0044cd20
mov ecx, dword [ebp - 0x2340]
push eax
push edi
call fcn.004cb1b0
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d5f4d
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x245c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x245b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x245a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2459], al
mov byte [ebp - 0x2458], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d5fd7
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d5fea
lea eax, [ebp - 0x245c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044cd10
cmp eax, 1
jne 0x4d61b1
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov byte [ebp - 0x22e9], 0
lea edi, [ebp - 0x2302]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2323], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2321], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x231f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x231d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x22e9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x22e8], al
xor eax, eax
mov dword [ebp - 0x2358], eax
nop dword [eax + eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d6102
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d6102
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d6102
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d6102
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d6104
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2358]
mov byte [edi], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d616c
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d616c
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d616c
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d616c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d616e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d60a2
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d60a0
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2324]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
jmp 0x4da04a
mov ecx, esi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d09d5.2
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
mov byte [ebp - 0x22e9], 0
lea edi, [ebp - 0x2302]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x2323], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x2321], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x231f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x231d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x22e9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x22e8], al
xor eax, eax
mov dword [ebp - 0x2358], eax
nop
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d62a2
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d62a2
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d62a2
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d62a2
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d62a4
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x2358]
mov byte [edi], 0
movsx ecx, word [ebp - 0x231d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d630c
movsx eax, word [ebp - 0x2321]
cmp ecx, eax
jge 0x4d630c
movsx eax, word [ebp - 0x231f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2348], eax
add eax, edx
mov dword [ebp - 0x232c], eax
js 0x4d630c
movsx eax, word [ebp - 0x2323]
cmp dword [ebp - 0x232c], eax
jge 0x4d630c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x2348]
mov al, byte [eax + edx]
jmp 0x4d630e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x2358]
inc edi
cmp edx, 5
jl 0x4d6242
inc eax
mov dword [ebp - 0x2358], eax
cmp eax, 5
jl 0x4d6240
jmp 0x4d6191
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d634c
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2464], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2463], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2462], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2461], al
mov byte [ebp - 0x2460], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d63d6
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d63e9
lea eax, [ebp - 0x2464]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov esi, dword [ebp - 0x2328]
mov ecx, esi
call fcn.0044cd10
cmp eax, 1
jne 0x4d6565
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.0x4d09d5.2
push edi
mov ecx, esi
call fcn.004ee630
test eax, eax
je case.0x4d09d5.2
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov dword [ebp - 0x2366], 0
mov byte [ebp - 0x2367], 0
mov word [ebp - 0x236b], cx
mov word [ebp - 0x2369], ax
je 0x4d64a3
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 4
jb 0x4d6496
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d6639
cmp byte [ebp - 0xfa8], 0
je 0x4d64d4
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 0xb
jb 0x4d64c7
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d6639
cmp byte [ebp - 0xfa9], 0
je 0x4d653a
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004ee750
test eax, eax
jns 0x4d6633
cmp eax, 0xfffffffe
jne 0x4d652a
push str.Edit_outside_bounds_denied.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da04a
cmp eax, 0xffffffff
jne case.0x4d09d5.2
push str.That_would_close_off_parts_of_the_dungeon.
jmp 0x4d64fe
cmp byte [ebp - 0xfaa], 0
je case.0x4d09d5.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004ee750
test eax, eax
js 0x4d64f4
mov byte [ebp - 0x2366], al
jmp 0x4d6639
mov ecx, esi
call fcn.0044cd10
cmp eax, 3
jne case.0x4d09d5.2
lea ecx, [esi + 0x148]
call fcn.005139e0
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov word [ebp - 0x2366], 0
mov byte [ebp - 0x2364], 0
mov byte [ebp - 0x2367], 0
mov word [ebp - 0x236b], cx
mov word [ebp - 0x2369], ax
je 0x4d65e5
mov al, byte [esi + 0x13c]
inc al
mov byte [esi + 0x13c], al
cmp al, 7
jb 0x4d6496
xor al, al
mov byte [esi + 0x13c], 0
inc al
mov byte [ebp - 0x2367], al
jmp 0x4d6639
cmp byte [ebp - 0xfa8], 0
je 0x4d6617
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 8
jb 0x4d64c7
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x2364], al
jmp 0x4d6639
cmp byte [ebp - 0xfa9], 0
je 0x4d667c
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.0052e750
test eax, eax
js 0x4d6660
mov byte [ebp - 0x2365], al
push 0
push 5
lea eax, [ebp - 0x236c]
mov ecx, esi
push eax
push 0xa
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a350
jmp case.0x4d09d5.2
cmp eax, 0xfffffffe
je 0x4d64f9
cmp eax, 0xffffffff
jne case.0x4d09d5.2
push str.That_would_close_off_parts_of_the_tower.
jmp 0x4d64fe
cmp byte [ebp - 0xfaa], 0
je case.0x4d09d5.2
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.0052e750
test eax, eax
js 0x4d6660
mov byte [ebp - 0x2366], al
jmp 0x4d6639
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d66ba
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23ec], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23eb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ea], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23e9], al
mov byte [ebp - 0x23e8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6744
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6757
lea eax, [ebp - 0x23ec]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
mov edi, dword [ebp - 0x2328]
mov ecx, dword [edi + 0x110]
call fcn.0044e370
mov esi, eax
test esi, esi
je case.0x4d09d5.2
nop
mov ecx, esi
call fcn.0044cd10
test eax, eax
jne 0x4d67a9
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d67bf
mov ecx, dword [edi + 0x110]
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x4d6790
jmp case.0x4d09d5.2
lea eax, [ebp - 0x1ea8]
mov byte [ebp - 0x1ea8], 9
push eax
mov ecx, esi
call fcn.00474c50
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x1ea8]
mov eax, dword [ecx]
push edx
push 0x49
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x233c], ecx
nop dword [eax]
imul eax, dword [esi + 0x188], 0x980
add eax, esi
cmp byte [eax + edi + 0x344], 0xff
je 0x4d690e
mov byte [ebp - 0x1de8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1de7], eax
lea eax, [ebp - 0x1ddb]
push 0x10
push eax
imul eax, dword [esi + 0x188], 0x980
push 0x10
add eax, 0x334
add eax, esi
add eax, edi
push eax
call fcn.0044d210
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x2338]
add esp, 0x10
add eax, esi
push edx
push 0
lea edx, [ebp - 0x1de8]
mov al, byte [eax + edi + 0x345]
mov byte [ebp - 0x1de2], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, esi
mov al, byte [eax + edi + 0x344]
mov byte [ebp - 0x1de3], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
mov al, byte [eax + edi + 0x346]
mov byte [ebp - 0x1de1], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
movss xmm1, dword [eax + edi + 0x354]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [eax + edi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x233c]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x1de0], al
mov eax, dword [ebp - 0x2328]
addss xmm1, xmm0
movss dword [ebp - 0x1ddf], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x233c]
inc ecx
add edi, 0x34
mov dword [ebp - 0x233c], ecx
cmp edi, 0x68
jl 0x4d6800
push dword [ebp - 0x2344]
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 0
push edi
call fcn.00473330
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e370
test eax, eax
je case.0x4d09d5.2
nop dword [eax + eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d698e
push esi
push eax
lea eax, [ebp - 0x26e4]
push eax
call fcn.004a2150
add esp, 0xc
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x26e4]
jmp 0x4d6a0a
cmp ecx, 0xe
jne 0x4d6a35
mov ecx, dword [eax + 0x11c]
lea edx, [ebp - 0x2338]
mov dword [ebp - 0x25db], eax
mov byte [ebp - 0x25e0], 0x21
mov dword [ebp - 0x25df], 0x40800000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x25e0]
mov al, byte [eax + eax*2 + 0x6255d8]
mov byte [ebp - 0x25c6], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6255d9]
mov byte [ebp - 0x25c5], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x6255da]
mov byte [ebp - 0x25c4], al
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x25d7], eax
xor eax, eax
mov word [ebp - 0x25c9], ax
mov byte [ebp - 0x25c7], 0x80
mov ecx, dword [edi + 0x11c]
push 0
push edx
push 0x1d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x4d6960
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d6a71
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x247c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x247b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x247a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2479], al
mov byte [ebp - 0x2478], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d6afb
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d6b0e
lea eax, [ebp - 0x247c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov eax, dword [ebp - 0x2328]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513be0
mov esi, eax
test esi, esi
je 0x4d6e45
mov ecx, esi
call fcn.0044cd10
cmp eax, 4
jne case.default.0x4d6b99
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d6b99
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d6b99
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d6b99
jmp dword [eax*4 + 0x4da1a4]
mov ecx, dword [ebp - 0x2340]
push 1
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004db120
jmp case.default.0x4d6b99
mov ecx, dword [ebp - 0x2340]
push 0
push dword [ebp - 0x2328]
push esi
push edi
call fcn.004db120
jmp case.default.0x4d6b99
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ecx + edi + 0x2d8]
mov esi, dword [edx + 0x14]
cmp esi, 0xb4
jge 0x4d6c2e
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d6b99
mov eax, dword [ecx + edi + 0x2fc]
cmp eax, dword [ecx + edi + 0x2f8]
jl 0x4d6c45
push str.You_are_already_fully_healed.
jmp 0x4d6bf5
lea eax, [esi - 0xb4]
mov ecx, edi
mov dword [edx + 0x14], eax
call fcn.00481740
mov esi, 0x32
lea eax, [eax + eax*2]
sub esi, eax
mov eax, 3
cmp esi, 3
cmovl esi, eax
imul ecx, dword [edi + 0x188], 0x980
mov dword [ebp - 0x2348], esi
mov eax, dword [ecx + edi + 0x2fc]
mov edx, dword [ecx + edi + 0x2f8]
sub edx, eax
cmp edx, esi
cmovge edx, esi
add eax, esi
mov dword [ecx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0x232c], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d6cbf
mov dword [eax + edi + 0x2fc], ecx
mov byte [ebp - 0x25c0], 0x26
lea edx, [ebp - 0x2338]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0
lea edx, [ebp - 0x25c0]
push edx
push 0xd
mov eax, dword [eax + edi + 0x2fc]
mov dword [ebp - 0x25bb], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2f8]
mov dword [ebp - 0x25b7], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x25bf], eax
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push esi
lea eax, [ebp - 0x1d67]
push str.You_are_healed_for__d_points.
push eax
call fcn.004722c0
mov esi, dword [ebp - 0x2328]
lea edx, [ebp - 0x2338]
add esp, 0xc
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push 9
push esi
mov ecx, edi
call fcn.004731e0
push 0x5d0640
push str.healing.txt
call fcn.00568469
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059005e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
lea eax, [ebp - 0x13b0]
push eax
call fcn.0059029e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d340
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x232c]
push dword [ebp - 0x2348]
add eax, 0x2a0
add eax, edi
push eax
push str._s___ld___ld_n
push esi
call fcn.0043d340
push esi
call fcn.0056817b
add esp, 0x40
jmp case.default.0x4d6b99
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f50]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0010
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x118]
call fcn.00513c90
mov esi, eax
test esi, esi
jne 0x4d6b55
mov ecx, dword [ebp - 0x2328]
call fcn.0044cd10
cmp eax, 3
jne 0x4d6edb
cmp byte [ebp - 0xfaf], al
jne 0x4d6edb
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bbdd0
test eax, eax
mov eax, dword [ebp - 0x2328]
je 0x4d6ee1
cmp dword [ebp - 0x24a4], eax
jne 0x4d6ee1
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f50]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x1c], 1
call fcn.004e0010
mov eax, dword [ebp - 0x2328]
mov ecx, eax
call fcn.0044cd10
cmp eax, 3
jne case.0x4d09d5.2
cmp byte [ebp - 0xfaf], 0
jne case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
lea eax, [ebp - 0x24a4]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bbdd0
test eax, eax
je case.0x4d09d5.2
mov eax, dword [ebp - 0x2328]
cmp dword [ebp - 0x24a4], eax
jne case.0x4d09d5.2
mov ecx, dword [ebp - 0x2340]
push 1
push eax
push esi
push edi
call fcn.004db120
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.0x4d09d5.2
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d704e
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d09d5.2
lea ecx, [ebp - 0x2630]
push ecx
push eax
mov ecx, edi
call fcn.004bbad0
mov edi, eax
test edi, edi
je case.0x4d09d5.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0048bc60
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [esi + 0x14f4c]
mov eax, dword [eax + 0x14]
add dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0xfa5]
test ecx, ecx
jg 0x4d6fea
xor ecx, ecx
jmp 0x4d7002
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
cmp ecx, dword [eax + 0x14]
cmovg ecx, dword [eax + 0x14]
imul eax, dword [esi + 0x188], 0x980
push 9
push esi
mov eax, dword [eax + esi + 0x2d8]
sub dword [eax + 0x14], ecx
mov eax, dword [esi + 0x14f4c]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x2340]
call fcn.004e0010
mov ecx, dword [ebp - 0x2340]
push 8
push edi
call fcn.004e0010
mov ecx, dword [ebp - 0x2340]
push 1
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
cmp eax, 0xfffffffd
jne case.0x4d09d5.2
mov ecx, dword [ebp - 0xfa5]
cmp ecx, 0x989680
jle 0x4d706e
mov ecx, 0x989680
mov edx, ecx
jmp 0x4d70cc
cmp ecx, 0xff676980
jge 0x4d70c6
mov ecx, 0xff676980
mov eax, dword [esi + 0x14f50]
mov edx, dword [eax + 0x14]
mov eax, ecx
neg eax
cmp eax, edx
jle 0x4d7090
mov ecx, edx
neg ecx
imul eax, dword [esi + 0x188], 0x980
push 0xc
push esi
mov eax, dword [eax + esi + 0x2d8]
sub dword [eax + 0x14], ecx
mov eax, dword [esi + 0x14f50]
add dword [eax + 0x14], ecx
mov ecx, edi
call fcn.004e0010
push 1
mov ecx, edi
push esi
call fcn.004e0010
jmp case.0x4d09d5.2
mov edx, ecx
test ecx, ecx
js 0x4d707b
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov eax, dword [eax + 0x14]
cmp ecx, eax
cmovle eax, edx
mov ecx, eax
jmp 0x4d7090
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d70ff
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2484], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2483], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2482], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2481], al
mov byte [ebp - 0x2480], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7189
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d719c
lea eax, [ebp - 0x2484]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7220
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f10], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1f0f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1f10]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1eac], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
cmp eax, 1
jne 0x4d7324
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.00513be0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov ecx, esi
call fcn.0044cd10
cmp eax, 8
jne 0x4d730a
cmp dword [ebp - 0xfaf], esi
jne 0x4d730a
cmp byte [esi + 0x188], 0
jne 0x4d72cc
mov byte [esi + 0x188], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
push 0
mov dword [esi + 0x190], eax
mov ecx, edi
push 5
lea eax, [ebp - 0x24c8]
mov byte [ebp - 0x24c8], 0x33
push eax
push 6
mov dword [ebp - 0x24c7], esi
mov byte [ebp - 0x24c3], 1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
push esi
mov ecx, edi
call fcn.004ee7e0
jmp 0x4d72ff
lea eax, [ebp - 0x1d67]
push str.The_chest_is_open_and_empty.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [edi + 0x118]
call fcn.00513f10
mov ecx, dword [edi + 0x118]
call fcn.00513c90
mov esi, eax
test esi, esi
jne 0x4d7254
jmp case.0x4d09d5.2
lea eax, [ebp - 0x1d67]
push str.You_cant_open_it.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
jmp 0x4da04a
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d736b
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x248c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x248b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x248a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2489], al
mov byte [ebp - 0x2488], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d73f5
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7408
lea eax, [ebp - 0x248c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d748c
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2118], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2117]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2118]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x20b4], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
lea ecx, [ebp - 0xfb0]
push ecx
push dword [ebp - 0x2328]
mov ecx, edi
push eax
call fcn.004db7d0
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d74bc
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2494], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2493], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2492], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2491], al
mov byte [ebp - 0x2490], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d755b
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
lea edx, [ebp - 0x2338]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
push edx
mov byte [ecx + 2], al
lea edx, [ebp - 0x2375]
mov eax, dword [ebp - 0x233c]
push 0
mov byte [ecx + 3], al
push edx
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
push 1
jmp 0x4da047
lea eax, [ebp - 0x2494]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
push 0
lea edx, [ebp - 0x2375]
push edx
push 1
jmp 0x4da047
mov ecx, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d759b
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x249c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x249b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x249a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2499], al
mov byte [ebp - 0x2498], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7625
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7638
lea eax, [ebp - 0x249c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d3d0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d270
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044d0d0
add esp, 0x14
test esi, esi
je case.0x4d09d5.2
cmp byte [ebp - 0xfaf], 0
je case.0x4d09d5.2
imul edi, dword [esi + 0x188], 0x980
cmp byte [edi + esi + 0x344], 0xff
je 0x4d77b2
lea eax, [esi + 0x334]
add eax, edi
cmp byte [eax], 0
je 0x4d76ed
mov ecx, str.Pet_A
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d76d8
test dl, dl
je 0x4d76d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d76d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d76b8
xor eax, eax
jmp 0x4d76dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d77b2
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d210
mov byte [ebp - 0x1dc8], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1dc7], eax
lea eax, [ebp - 0x1dbb]
push 0x10
push eax
lea eax, [esi + 0x334]
add eax, edi
push 0x10
push eax
call fcn.0044d210
mov al, byte [edi + esi + 0x345]
add esp, 0x20
mov byte [ebp - 0x1dc2], al
mov al, byte [edi + esi + 0x344]
mov byte [ebp - 0x1dc3], al
mov al, byte [edi + esi + 0x346]
mov byte [ebp - 0x1dc1], al
movss xmm1, dword [edi + esi + 0x354]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [edi + esi + 0x347]
mov ecx, dword [ebp - 0x2328]
push 0
push 5
mov byte [ebp - 0x1dc0], 0
movd xmm0, eax
lea eax, [ebp - 0x1dc8]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x1dbf], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
jmp case.0x4d09d5.2
cmp byte [edi + esi + 0x378], 0xff
je case.0x4d09d5.2
lea eax, [esi + 0x368]
add eax, edi
cmp byte [eax], 0
je 0x4d7807
mov ecx, str.Pet_B
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d77f2
test dl, dl
je 0x4d77ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d77f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d77d2
xor eax, eax
jmp 0x4d77f7
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x4d09d5.2
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d210
mov byte [ebp - 0x1e08], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x1e07], eax
lea eax, [ebp - 0x1dfb]
push 0x10
push eax
lea eax, [esi + 0x368]
add eax, edi
push 0x10
push eax
call fcn.0044d210
mov al, byte [edi + esi + 0x379]
add esp, 0x20
mov byte [ebp - 0x1e02], al
mov al, byte [edi + esi + 0x378]
mov byte [ebp - 0x1e03], al
mov al, byte [edi + esi + 0x37a]
mov byte [ebp - 0x1e01], al
movss xmm1, dword [edi + esi + 0x388]
divss xmm1, dword [0x5d25e4]
movzx eax, byte [edi + esi + 0x37b]
mov ecx, dword [ebp - 0x2328]
push 0
push 5
mov byte [ebp - 0x1e00], 1
movd xmm0, eax
lea eax, [ebp - 0x1e08]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x1dff], xmm1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d78e2
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x238c], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x238b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x238a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2389], al
mov byte [ebp - 0x2388], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d796c
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d797f
lea eax, [ebp - 0x238c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
movss xmm0, dword [eax + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7a03
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x20b0], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x20af]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x20b0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x204c], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
push dword [ebp - 0x2328]
mov ecx, edi
push eax
lea eax, [ebp - 0xfb0]
push eax
call fcn.004da1c0
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je 0x4d7a5a
cmp dword [esi + 0x14f10], 1
jne 0x4d7a5a
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc110
jmp case.0x4d09d5.2
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle case.0x4d09d5.2
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4d7a7c
cmp al, 4
jne case.0x4d09d5.2
push dword [ebp - 0x2328]
lea eax, [ebp - 0xfb0]
mov ecx, edi
push esi
push eax
call fcn.004bc110
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
mov ecx, dword [ebp - 0xfaf]
mov dword [eax + 0x238], ecx
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d7ad4
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2444], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2443], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2442], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2441], al
mov byte [ebp - 0x2440], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7b6e
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
lea edx, [ebp - 0x2338]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4da042
lea eax, [ebp - 0x2444]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0xfb0]
jmp 0x4da042
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov ecx, dword [ebp - 0x2328]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.00513d30
mov edi, eax
test edi, edi
je case.0x4d09d5.2
mov ecx, dword [edi + 0x108]
cmp ecx, dword [esi + 0x108]
jne case.0x4d09d5.2
mov ecx, dword [edi + 0x10c]
cmp ecx, dword [esi + 0x10c]
jne case.0x4d09d5.2
mov ecx, edi
call fcn.0044cd10
cmp eax, 2
jne case.0x4d09d5.2
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2d8]
mov eax, dword [edi + 0x180]
mov dword [ecx + 0x18], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [ebp - 0x2340]
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x1c], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push edi
push esi
call fcn.004da7e0
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
test esi, esi
je case.0x4d09d5.2
mov al, byte [ebp - 0xfaf]
test al, al
je 0x4d7c90
cmp al, 3
jne 0x4d7c90
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7ca2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.00472ac0
jmp case.0x4d09d5.2
mov dword [esi + 0x14f58], 1
mov eax, dword [esi + 0x14f54]
test eax, eax
je case.0x4d09d5.2
lea ecx, [ebp - 0x268c]
push ecx
push eax
mov ecx, edi
call fcn.004bbad0
test eax, eax
je case.0x4d09d5.2
cmp dword [eax + 0x14f58], 0
je case.0x4d09d5.2
push dword [ebp - 0x2328]
mov ecx, esi
call fcn.0047fc90
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
test eax, eax
je case.0x4d09d5.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, edi
call fcn.004cfc30
jmp case.0x4d09d5.2
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x62d1e4], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044c970
add esp, 4
mov ecx, edi
push dword [ebp - 0x2344]
call fcn.004bbfb0
jmp case.0x4d09d5.2
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d7d61
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2394], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2393], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2348], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2392], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2391], al
mov byte [ebp - 0x2390], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d7deb
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2348]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d7dfe
lea eax, [ebp - 0x2394]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov esi, eax
mov dword [ebp - 0x2348], esi
test esi, esi
je case.0x4d09d5.2
movss xmm0, dword [esi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d7e8a
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1f78], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1f77]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1f78]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1f14], 0
mov ecx, dword [eax + 0x34]
jmp 0x4da04a
imul eax, dword [esi + 0x188], 0x980
xor edi, edi
mov dword [ebp - 0x2354], edi
mov eax, dword [eax + esi + 0x2d8]
mov dword [ebp - 0x2358], eax
lea ecx, [eax + 4]
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0x235c], ecx
test ecx, ecx
je case.0x4d09d5.2
cmp dword [ebp - 0xfaf], ecx
jne 0x4d9d94
mov eax, dword [ecx + 0x110]
cmp eax, 0xd
jne 0x4d80d1
cmp byte [esi + 0x14f91], 0
je 0x4d7efd
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2f0], 0xa
jl 0x4d9db7
mov eax, dword [ecx + 0x11c]
push 0x1a0
mov dword [ebp - 0x233c], eax
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2688], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4d7f30
push esi
mov ecx, eax
call fcn.004915c0
mov edi, eax
jmp 0x4d7f32
xor edi, edi
mov eax, dword [esi + 0x108]
mov ecx, dword [ebp - 0x233c]
mov dword [edi + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [edi + 0x10c], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x184], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x188], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x18c], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x190], eax
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x194], eax
mov eax, dword [ecx]
mov byte [ebp - 4], 0
mov dword [edi + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x233c]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [edi + 0x198], eax
call fcn.00567e12
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x233c]
divss xmm0, dword [0x5d25f0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4d7fd7
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x198], eax
mov ecx, dword [ebp - 0x2328]
push edi
mov ecx, dword [ecx + 0x118]
call fcn.00513bc0
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str._s_sets_a_bomb_
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x1d67]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2328]
lea eax, [ebp - 0x1d68]
add esp, 0x1c
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.0052a350
mov ecx, dword [ebp - 0x2358]
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2354], eax
lea ecx, [ecx + 4]
call fcn.0044e3e0
mov ecx, dword [ebp - 0x2328]
mov byte [ebp - 0x24c0], 0x18
mov eax, dword [edi + 4]
mov dword [ebp - 0x24bf], eax
xor eax, eax
mov dword [ebp - 0x24ba], eax
mov byte [ebp - 0x24b6], al
mov byte [ebp - 0x24bb], 0xc
mov al, byte [edi + 0x108]
mov byte [ebp - 0x24b5], al
mov al, byte [edi + 0x10c]
push 0
push 5
mov byte [ebp - 0x24b4], al
lea eax, [ebp - 0x24c0]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a350
jmp 0x4d9d94
cmp eax, 3
jne 0x4d9434
mov eax, dword [ecx + 0x11c]
mov dword [ebp - 0x2360], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4d9069
cmp ecx, 1
je 0x4d9069
cmp ecx, 2
jne 0x4d8506
mov edi, dword [ebp - 0x2340]
lea ecx, [ebp - 0x2374]
push ecx
push dword [eax + 4]
mov ecx, edi
call fcn.004bbf30
test eax, eax
je 0x4d99f7
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2d8]
mov dword [eax + 0x18], 0
cmp dword [esi + 0x14f48], 0
je 0x4d8220
cmp dword [esi + 0x184], 0
jne 0x4d8220
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x2620], 0x3e
cmp ecx, eax
je 0x4d8170
mov dword [ebp - 0x2334], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x239c], dl
sar eax, 8
mov byte [ebp - 0x239b], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x239a], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2399], al
mov byte [ebp - 0x2398], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d81d4
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d81e7
lea eax, [ebp - 0x239c]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov byte [ebp - 0x261f], 2
lea edx, [ebp - 0x2338]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x2620]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle 0x4d8220
mov dword [esi + 0x184], 1
mov edi, dword [ebp - 0x2328]
mov ecx, esi
push 6
push edi
call fcn.00473010
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d8246
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23a4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23a3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23a2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23a1], al
mov byte [ebp - 0x23a0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d82d0
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d82e3
lea eax, [ebp - 0x23a4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
cmp dword [esi + 0x14f48], 0
je 0x4d8338
push 0
mov byte [ebp - 0x255c], 0x23
lea ecx, [ebp - 0x255c]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x255b], eax
mov eax, dword [esi + 0x14f48]
push ecx
push 5
mov ecx, edi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052a350
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.00513e60
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e560
mov ecx, dword [ebp - 0x2374]
mov dword [esi + 0x110], 4
mov dword [esi + 0x108], 4
mov dword [esi + 0x114], 4
mov dword [esi + 0x10c], 4
mov ecx, dword [ecx + 0x110]
push esi
call fcn.0044e1c0
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d83e1
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x110], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [ecx + 0x110]
mov dword [ecx + 0x108], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x114], eax
mov ecx, dword [esi + 0x14f48]
mov eax, dword [ecx + 0x114]
mov dword [ecx + 0x10c], eax
mov eax, dword [ebp - 0x2374]
push dword [esi + 0x14f48]
mov ecx, dword [eax + 0x118]
call fcn.00513bc0
mov eax, dword [ebp - 0x2374]
mov ecx, edi
mov byte [ebp - 0x258d], 0
mov byte [ebp - 0x259c], 0x2b
mov dword [ebp - 0x2591], eax
call fcn.0044cd10
mov ecx, dword [ebp - 0x2374]
mov byte [ebp - 0x259b], al
call fcn.0044cd10
mov byte [ebp - 0x259a], al
lea edx, [ebp - 0x2338]
mov eax, dword [ebp - 0x2340]
mov dword [ebp - 0x2599], 5
mov dword [ebp - 0x2595], 5
mov dword [ebp - 0x258c], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x259c]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2374]
mov byte [ebp - 0x21e8], 0x17
call fcn.0044cd20
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.00472290
push 0x64
lea eax, [ebp - 0x21e7]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x21e8]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push dword [ebp - 0x2374]
mov ecx, esi
push edi
call fcn.0048a5f0
mov edi, dword [ebp - 0x2374]
lea ecx, [edi + 0x148]
call fcn.005139e0
push 6
push edi
mov ecx, esi
call fcn.004829c0
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d84f5
push edi
call fcn.00497120
push 0
push 1
push edi
mov ecx, esi
call fcn.00490910
jmp 0x4d99f7
cmp ecx, 3
jne 0x4d99f7
mov edi, dword [ebp - 0x2328]
xor eax, eax
push eax
push dword [esi + 0x10c]
mov dword [ebp - 0x233c], eax
push dword [esi + 0x108]
mov ecx, dword [edi + 0x118]
call fcn.00513be0
test eax, eax
je 0x4d8680
nop dword [eax]
mov ecx, eax
call fcn.0044cd10
cmp eax, 2
jne 0x4d8640
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d8566
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23ac], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23ab], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23aa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23a9], al
mov byte [ebp - 0x23a8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d85f0
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d8603
lea eax, [ebp - 0x23ac]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea eax, [ebp - 0x1d67]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x1d68]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov dword [ebp - 0x233c], 1
mov ecx, dword [edi + 0x118]
call fcn.00513c90
test eax, eax
jne 0x4d8540
cmp dword [ebp - 0x233c], eax
je 0x4d8680
mov eax, dword [ebp - 0x235c]
mov ecx, dword [ebp - 0x2358]
mov dword [ebp - 0x2354], eax
inc dword [eax + 0x118]
lea ecx, [ecx + 4]
call fcn.0044e3e0
jmp 0x4d9d94
push 0x990
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2684], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4d86ac
push 2
mov ecx, eax
call fcn.0049fc20
mov dword [ebp - 0x2354], eax
jmp 0x4d86b6
mov dword [ebp - 0x2354], 0
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x233c], 0
mov dword [ebp - 0x232c], eax
nop
push eax
lea eax, [ebp - 0x17b0]
push str._s_Recall
push eax
call fcn.0043d370
push 0x120
call fcn.00558629
add esp, 0x10
mov dword [ebp - 0x267c], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4d8713
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.0050b6c0
mov edi, eax
jmp 0x4d8715
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x233c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
mov dword [edi + 0x108], 0
mov dword [edi + 0x10c], 0x447a0000
call fcn.00567e12
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x2354]
add edx, 0x14
mov dword [edi + 0x118], edx
push edi
mov ecx, dword [eax + 0x180]
call fcn.0050bf80
mov eax, dword [ebp - 0x232c]
inc dword [ebp - 0x233c]
add eax, 0x50
mov dword [ebp - 0x232c], eax
cmp eax, str.Dirk
jl 0x4d86d0
mov esi, dword [ebp - 0x2354]
xor edi, edi
call fcn.00567e12
cdq
mov ecx, 0xc
idiv ecx
push 0x120
mov dword [ebp - 0x233c], edx
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2678], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4d87da
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.0050b6c0
mov edx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d87e2
xor edx, edx
mov dword [ebp - 0x232c], edx
mov eax, dword [edx + 0x11c]
mov ecx, dword [ebp - 0x233c]
mov byte [ebp - 4], 0
mov dword [eax], ecx
mov ecx, edi
imul ecx, edi
mov dword [eax + 4], edi
mov dword [edx + 0x108], 0
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x10c], xmm0
cmp edi, 0xc
jbe 0x4d8851
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.0052e100
mov ecx, dword [esi + 0x180]
add esp, 4
push dword [ebp - 0x232c]
call fcn.0050bf80
inc edi
cmp edi, 0x11
jl 0x4d8792
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2674], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4d88ae
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.0050b6c0
mov edi, eax
jmp 0x4d88b0
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.00567e12
cdq
mov ecx, 0x1e
idiv ecx
push edi
add edx, 0x32
mov dword [edi + 0x118], edx
mov edi, dword [ebp - 0x2354]
mov ecx, dword [edi + 0x180]
call fcn.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2680], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4d892e
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
mov dword [ebp - 0x232c], eax
jmp 0x4d8936
xor ecx, ecx
mov dword [ebp - 0x232c], ecx
mov eax, dword [ecx + 0x11c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0x3f800000
mov dword [ecx + 0x10c], 0x41200000
call fcn.00567e12
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26c0], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4d89ac
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.0050b6c0
jmp 0x4d89ae
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.00567e12
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x28
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26bc], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4d8a17
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.0050b6c0
jmp 0x4d8a19
xor eax, eax
mov dword [ebp - 0x232c], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.00567e12
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x232c]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [edi + 0x180]
call fcn.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26b8], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4d8a82
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.0050b6c0
jmp 0x4d8a84
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.0050bf80
mov dword [ebp - 0x232c], 0
mov dword [ebp - 0x233c], 0x1f4
nop dword [eax]
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26b4], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4d8aef
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.0050b6c0
mov edi, eax
jmp 0x4d8af1
xor edi, edi
mov eax, dword [edi + 0x11c]
mov ecx, dword [ebp - 0x232c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
inc ecx
mov eax, ecx
mov dword [edi + 0x108], 0
imul eax, dword [ebp - 0x233c]
mov dword [ebp - 0x232c], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10c], xmm0
call fcn.00567e12
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push edi
mov dword [edi + 0x118], edx
call fcn.0052bc90
add esp, 8
push edi
mov edi, dword [ebp - 0x2354]
mov ecx, dword [edi + 0x180]
call fcn.0050bf80
mov eax, dword [ebp - 0x233c]
add eax, 0x1f4
mov dword [ebp - 0x233c], eax
cmp eax, 0x7d0
jl 0x4d8ac0
mov eax, str.Plain
mov esi, 1
mov dword [ebp - 0x232c], eax
nop word [eax + eax]
push eax
lea eax, [ebp - 0x17b0]
push str._s_Bead
push eax
call fcn.0043d370
push 0x120
call fcn.00558629
add esp, 0x10
mov dword [ebp - 0x26b0], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4d8be3
lea ecx, [ebp - 0x17b0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8be5
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.0050bf80
mov eax, dword [ebp - 0x232c]
inc esi
add eax, 0x20
mov dword [ebp - 0x232c], eax
cmp eax, str.Fiery
jl 0x4d8ba0
mov esi, dword [ebp - 0x2348]
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26ac], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4d8c90
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8c92
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26a8], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x4d8d17
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8d19
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26a4], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x4d8d9e
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8da0
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26a0], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x4d8e25
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8e27
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x269c], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4d8eac
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8eae
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2698], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4d8f33
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8f35
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.0050bf80
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x2694], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4d8fba
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b6c0
mov ecx, eax
jmp 0x4d8fbc
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.0050bf80
mov dword [edi + 0x184], 0
mov dword [edi + 0x188], 0
mov eax, dword [esi + 0x108]
mov dword [edi + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [edi + 0x10c], eax
push edi
mov edi, dword [ebp - 0x2328]
mov ecx, dword [edi + 0x118]
call fcn.00513bc0
push edi
push dword [esi + 0x10c]
mov ecx, esi
push dword [esi + 0x108]
call fcn.00481b50
jmp 0x4d99f7
cmp dword [esi + 0x14f48], 0
je 0x4d9156
cmp dword [esi + 0x184], 0
jne 0x4d9156
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x262c], 0x3e
cmp ecx, eax
je 0x4d90a0
mov dword [ebp - 0x2334], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23b4], dl
sar eax, 8
mov byte [ebp - 0x23b3], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23b2], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23b1], al
mov byte [ebp - 0x23b0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d9104
mov byte [ecx], dl
mov eax, edx
shr eax, 8
mov byte [ecx + 1], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 2], al
shr edx, 0x18
mov byte [ecx + 3], dl
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9117
lea eax, [ebp - 0x23b4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x262b], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x262c]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, esi
call fcn.00474a20
cmp eax, 9
jle 0x4d9156
mov dword [esi + 0x184], 1
push dword [ebp - 0x2344]
mov ecx, dword [ebp - 0x2340]
push 0
call fcn.004e4ac0
cmp dword [esi + 0x14f48], 0
mov edi, dword [ebp - 0x2328]
je 0x4d91c4
push 0
mov byte [ebp - 0x2564], 0x23
lea ecx, [ebp - 0x2564]
mov eax, dword [esi + 0x14f48]
push 5
mov dword [ebp - 0x2563], eax
mov eax, dword [esi + 0x14f48]
push ecx
push 5
mov ecx, edi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.0052a350
push dword [esi + 0x14f48]
mov ecx, dword [edi + 0x118]
call fcn.00513e60
push 0
push 0
mov ecx, esi
call fcn.0048a5f0
mov eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2338]
cmp ecx, eax
je 0x4d91e5
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23c4], dl
shr eax, 8
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23c3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23c2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2354], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23c1], al
mov byte [ebp - 0x23c0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d926f
mov eax, dword [ebp - 0x232c]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2354]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9282
lea eax, [ebp - 0x23c4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov ecx, edi
mov byte [ebp - 0x25b0], 0x2b
call fcn.0044cd10
mov edi, dword [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov byte [ebp - 0x25af], al
mov byte [ebp - 0x25ae], 0
mov dword [ebp - 0x25ad], 0x100
mov dword [ebp - 0x25a9], 0x100
mov dword [ebp - 0x25a0], 0
mov byte [ebp - 0x25a1], 0
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x25b0]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov edx, dword [ebp - 0x2360]
mov eax, dword [edx]
test eax, eax
jne 0x4d93aa
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [esi + 0x110], eax
mov dword [esi + 0x108], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [esi + 0x114], eax
mov dword [esi + 0x10c], eax
mov eax, dword [edx + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [ecx + esi + 0x310], eax
mov eax, dword [edx + 4]
imul ecx, dword [esi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [ecx + esi + 0x314], eax
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9400
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d0]
mov dword [ecx + 0x108], eax
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x14f48]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6102d4]
mov dword [ecx + 0x10c], eax
jmp 0x4d9400
cmp eax, 1
jne 0x4d9400
cmp dword [edx + 4], eax
mov ecx, 0x35
mov edx, 0xdc
mov eax, 0xdc
cmovne ecx, edx
mov edx, 0x5a
cmovne edx, eax
mov dword [esi + 0x110], edx
mov dword [esi + 0x108], edx
mov dword [esi + 0x114], ecx
mov dword [esi + 0x10c], ecx
mov eax, dword [esi + 0x14f48]
test eax, eax
je 0x4d9400
mov dword [eax + 0x108], edx
mov eax, dword [esi + 0x14f48]
mov dword [eax + 0x10c], ecx
mov ecx, dword [edi + 0x48]
push 0
call fcn.0044e250
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x4d9420
push ecx
mov ecx, dword [eax + 0x118]
call fcn.00513bc0
push dword [ebp - 0x2344]
mov ecx, edi
push 1
call fcn.004e4ac0
jmp 0x4d99f7
cmp eax, 0x11
je 0x4d9a16
cmp eax, 0x14
je 0x4d9a16
cmp eax, 0x12
je 0x4d98a3
cmp eax, 0x13
je 0x4d98a3
cmp eax, 0x15
jne 0x4d9d94
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d9483
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23cc], dl
shr eax, 8
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23cb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23ca], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23c9], al
mov byte [ebp - 0x23c8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d950d
mov eax, dword [ebp - 0x2360]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x2370]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9520
lea eax, [ebp - 0x23cc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov eax, dword [ebp - 0x2340]
mov byte [ebp - 0x24a8], 0
mov ecx, dword [eax + 0x48]
call fcn.0044e370
cmp dword [ebp - 0x2328], eax
jne 0x4d9e4d
mov ecx, 0x6102d4
mov edi, 1
nop dword [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d9587
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x24a8]
cmp eax, 3
movzx edx, dl
cmovle edx, edi
mov dword [ebp - 0x24a8], edx
jmp 0x4d958d
mov edx, dword [ebp - 0x24a8]
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9550
mov edi, dword [ebp - 0x2328]
test dl, dl
je 0x4d9e4d
cmp dword [esi + 0x14f48], 0
jne 0x4d9e1c
mov edx, dword [ebp - 0x232c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x2360], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x2370], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x233c], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4d99f7
push 0x2c4
call fcn.00558629
add esp, 4
mov dword [ebp - 0x26c4], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4d9627
push 0
push 0
push dword [ebp - 0x2370]
mov ecx, eax
push dword [ebp - 0x2360]
call fcn.00496950
mov dword [ebp - 0x2354], eax
jmp 0x4d9631
mov dword [ebp - 0x2354], 0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 4], 0
push eax
mov eax, dword [ebp - 0x235c]
add eax, 8
push str._s____n_
push eax
call fcn.0043dd00
lea eax, [ebp - 0x13b0]
push eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x1bb0]
push str._ss__s
push eax
call fcn.0043d370
mov eax, dword [ebp - 0x2354]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x1bb0]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x2354]
add esp, 0x2c
mov edx, dword [ebp - 0x232c]
movss xmm0, dword [ebp - 0x233c]
mov byte [ecx + 0x1dd], 1
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x10c], eax
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x110], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x114], eax
mov eax, dword [esi + 0x108]
mov dword [ecx + 0x228], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx + 0x22c], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1b4], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x1bc], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1ac], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1b0], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1b8], eax
mov al, byte [edx + 0x27]
mov byte [ecx + 0x1a7], al
mov al, byte [edx + 0x26]
mov byte [ecx + 0x1a6], al
mov al, byte [edx + 0x25]
mov byte [ecx + 0x1a5], al
mov al, byte [edx + 0x24]
mov byte [ecx + 0x1a4], al
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x1a8], eax
movss dword [ecx + 0x1f4], xmm0
push ecx
mov ecx, dword [edi + 0x118]
call fcn.00513bc0
mov ecx, dword [ebp - 0x2354]
mov dword [ecx + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x2354]
sub eax, 0x2710
mov dword [ecx + 0x118], eax
mov byte [ebp - 0x2514], 0x18
mov dword [ebp - 0x2513], ecx
call fcn.0044cd10
mov ecx, dword [ebp - 0x2354]
mov byte [ebp - 0x250f], al
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x250e], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x250c], ax
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x2509], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x2508], al
lea eax, [ebp - 0x2514]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052a350
mov ecx, dword [ebp - 0x2354]
push edi
call fcn.00497120
mov ecx, dword [ebp - 0x2354]
mov byte [ebp - 0x24dc], 0x38
mov dword [ebp - 0x24db], 0xffffffff
mov dword [ebp - 0x24d7], 0xffffffff
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x24d3], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x24d2], al
lea eax, [ebp - 0x24dc]
push eax
push 0x11
mov word [ebp - 0x24d1], 0xff
mov dword [ebp - 0x24cf], 0x100ff
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, edi
push 0
call fcn.0052a350
mov eax, dword [ebp - 0x2354]
mov dword [esi + 0x14f48], eax
mov dword [eax + 0x21c], esi
mov dword [esi + 0x184], 1
jmp 0x4d99f7
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d98c5
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23d4], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23d3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23d2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x233c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23d1], al
mov byte [ebp - 0x23d0], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d994f
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x233c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9962
lea eax, [ebp - 0x23d4]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d99e4
xor edi, edi
mov ecx, 0x6102d4
nop
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d99ab
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle edi, eax
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9980
test edi, edi
jne 0x4d99c2
push dword [ebp - 0x2328]
jmp 0x4d99e5
push str.Please_leave_town_first._:_
lea eax, [ebp - 0x1d67]
push eax
call fcn.004722c0
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x11c]
jmp 0x4d9d78
push edi
push dword [ebp - 0x232c]
mov ecx, dword [ebp - 0x2340]
push esi
call fcn.004cc8a0
mov ecx, dword [ebp - 0x2358]
mov eax, dword [ebp - 0x235c]
mov dword [ebp - 0x2354], eax
lea ecx, [ecx + 4]
call fcn.0044e3e0
jmp 0x4d9d94
mov eax, dword [ecx + 0x11c]
mov ecx, dword [ebp - 0x2338]
mov dword [ebp - 0x233c], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d9a38
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x2474], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x2473], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x2472], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x2471], al
mov byte [ebp - 0x2470], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4d9ac2
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4d9ad5
lea eax, [ebp - 0x2474]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
mov edi, dword [ebp - 0x2328]
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d9d61
cmp dword [edi + 0x124], eax
jne 0x4d9d61
xor edi, edi
mov ecx, 0x6102d4
nop dword [eax]
mov eax, dword [ecx - 4]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4d9b2b
mov eax, dword [ecx]
sub eax, dword [esi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle edi, eax
add ecx, 0x50
cmp ecx, 0x610a54
jl 0x4d9b00
test edi, edi
jne 0x4d9d57
mov eax, dword [ebp - 0x235c]
cmp dword [eax + 0x110], 0x11
je 0x4d9d3a
mov edi, dword [ebp - 0x233c]
cmp dword [edi + 0x10], 0xffffffff
jle 0x4d9b75
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
mov eax, dword [edi + 0xc]
cmp eax, 4
jge 0x4d9b95
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
jle 0x4d9bb4
cmp eax, 9
jge 0x4d9bb4
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
cmp eax, 0xb
jne 0x4d9bd1
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
cmp eax, 0x10
jne 0x4d9bee
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
cmp eax, 0x11
jle 0x4d9c0b
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
mov ecx, esi
call fcn.00481740
mov ecx, eax
cmp ecx, 1
jge 0x4d9c22
mov ecx, esi
call fcn.00481920
mov ecx, eax
movss xmm1, dword [edi + 8]
divss xmm1, dword [0x5d25e8]
imul eax, dword [edi + 0xc], 0x258
addss xmm1, dword [0x5d2058]
mov edx, dword [eax + 0x61e850]
mov eax, dword [edi + 4]
shr eax, 0x1f
cmp dword [edi], 0
jl 0x4d9c54
cmp eax, 1
jne 0x4d9c63
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5d6350]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
jge 0x4d9c8e
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
sub eax, ecx
cmp eax, 9
jle 0x4d9cad
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push edi
push esi
call fcn.004cd3d0
jmp 0x4d99f7
xor eax, eax
mov dword [ebp - 0x2354], eax
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e370
mov edi, eax
test edi, edi
je 0x4d9d3a
mov ecx, edi
call fcn.0044cd10
test eax, eax
jne 0x4d9cfd
mov eax, dword [edi + 0x108]
cmp eax, dword [esi + 0x108]
jne 0x4d9cfd
mov eax, dword [edi + 0x10c]
cmp eax, dword [esi + 0x10c]
jne 0x4d9cfd
inc dword [ebp - 0x2354]
mov eax, dword [ebp - 0x2328]
mov ecx, dword [eax + 0x110]
call fcn.0044e420
mov edi, eax
test edi, edi
jne 0x4d9cd0
cmp dword [ebp - 0x2354], 1
jle 0x4d9d3a
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push dword [ebp - 0x233c]
push esi
call fcn.004cd3d0
jmp 0x4d99f7
push dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2340]
push dword [ebp - 0x233c]
push esi
call fcn.004ce760
jmp 0x4d99f7
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4d99c7
lea eax, [ebp - 0x1d67]
push str.The_EarthKey_doesnt_work_here.
push eax
call fcn.004722c0
mov ecx, dword [edi + 0x11c]
mov eax, dword [ecx]
lea edx, [ebp - 0x2338]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x1d68]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0x2358]
lea ecx, [ecx + 4]
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0x235c], eax
test ecx, ecx
jne 0x4d7ec1
jmp 0x4d9e91
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x1fe0], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.00472290
mov ecx, 0x18
mov eax, dword [ebp - 0x2340]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x1fdf]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x2338]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x1fe0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1f7c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x2348]
jmp 0x4d9e91
push 0x64
lea eax, [ebp - 0x217f]
mov byte [ebp - 0x2180], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044d210
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2180]
jmp 0x4d9e7c
push 0x64
lea eax, [ebp - 0x224f]
mov byte [ebp - 0x2250], 0x17
push eax
push 0xc8
push str.You_must_be_in_town_to_let_out_a_pet.
call fcn.0044d210
add esp, 0x10
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x2250]
mov eax, dword [ebp - 0x2340]
push 0
push edx
push 0x65
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov edi, dword [ebp - 0x2354]
test edi, edi
je case.0x4d09d5.2
mov eax, dword [edi + 0x118]
cmp eax, 1
jle 0x4d9ec2
mov ecx, dword [ebp - 0x2340]
dec eax
push esi
mov dword [edi + 0x118], eax
call fcn.004e7910
jmp case.0x4d09d5.2
mov ecx, dword [ebp - 0x2358]
push edi
lea ecx, [ecx + 4]
call fcn.0044e560
mov eax, dword [edi]
mov ecx, edi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x2340]
push esi
call fcn.004e7910
jmp case.0x4d09d5.2
lea eax, [ebp - 0x2328]
mov ecx, edi
push eax
push dword [ebp - 0x2344]
call fcn.004bb6d0
mov ecx, eax
test ecx, ecx
je case.0x4d09d5.2
mov eax, dword [ecx + 0x14f10]
cmp eax, 1
je 0x4d9f51
cmp eax, 2
je 0x4d9f51
cmp eax, 3
je 0x4d9f51
imul eax, dword [ecx + 0x188], 0x980
test byte [eax + ecx + 0x318], 1
jne 0x4d9f51
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4d9f6b
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4d9f73
mov edx, dword [ecx + 0x23c]
lea eax, [ecx + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test ecx, edx
je 0x4d9f6f
not ecx
and ecx, edx
mov dword [eax], ecx
jmp 0x4d9f73
or edx, ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0x2338]
mov byte [ebp - 0x253c], 0x4f
mov eax, dword [eax]
mov dword [ebp - 0x253b], eax
mov eax, dword [ebp - 0x2334]
cmp ecx, eax
je 0x4d9f98
mov dword [ebp - 0x2334], ecx
mov edx, dword [ebp - 0x2344]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x23dc], dl
shr eax, 8
mov dword [ebp - 0x2370], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x23db], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x2360], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x23da], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x232c], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x23d9], al
mov byte [ebp - 0x23d8], 0
cmp ecx, dword [ebp - 0x2330]
je 0x4da022
mov eax, dword [ebp - 0x2370]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x2360]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x232c]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x2334], 5
jmp 0x4da035
lea eax, [ebp - 0x23dc]
push eax
push ecx
lea ecx, [ebp - 0x2338]
call fcn.0043ec20
lea edx, [ebp - 0x2338]
push edx
lea edx, [ebp - 0x253c]
push 0
push edx
push 5
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x2340]
lea edx, [ebp - 0x237c]
push 0
push 0
push edx
mov ecx, dword [eax + 0x34]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x237c]
test eax, eax
jg 0x4d0980
lea ecx, [ebp - 0x2338]
call fcn.004728c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00558667
mov esp, ebp
pop ebp
ret