Function at 0x4d3370
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ce730
mov eax, dword fs:[0]
push eax
mov eax, 0x4218
call fcn.0055fcd0
mov eax, dword [0x6327e8]
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 - 0x3e50], eax
mov dword [ebp - 0x3fc8], 0
mov byte [ebp - 0x25ec], 4
mov byte [ebp - 0x206c], 0x17
mov byte [ebp - 0x3e94], 0xd
mov byte [ebp - 0x3e64], 0xe
mov byte [ebp - 0x2004], 9
mov byte [ebp - 0x1fb4], 0x28
mov byte [ebp - 0x4224], 0x21
mov byte [ebp - 0x3fd8], 0x1a
mov byte [ebp - 0x3e34], 0x2d
mov byte [ebp - 0x3e7c], 0x2e
mov byte [ebp - 0x3e85], 0x37
mov byte [ebp - 0x40ac], 0x44
mov dword [ebp - 0x3e4c], 0
mov dword [ebp - 0x3e48], 0
mov dword [ebp - 0x3e44], 0
mov dword [ebp - 0x3e54], 0
lea edx, [ebp - 0x3e8c]
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 - 0x3e8c]
test eax, eax
jle 0x4dd4f1
mov edi, 0x1e
cmp eax, 0xfa0
jle 0x4d3471
mov dword [ebp - 0x3e8c], 0xfa0
mov esi, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
push edx
lea edx, [ebp - 0x3e54]
push edx
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e8c]
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, 0x5d
ja case.0x4d34b5.2
movzx eax, byte [eax + 0x4dd5c8]
jmp dword [eax*4 + 0x4dd518]
mov ecx, dword [0x636bc4]
lea eax, [ebp - 0xfaf]
push eax
call fcn.00515e60
test eax, eax
je 0x4d34fd
mov dword [ebp - 0x3e63], 0xa
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4d34b5.2
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, dword [ebp - 0x3e50]
mov esi, eax
test esi, esi
je 0x4d3556
nop dword [eax]
mov ecx, dword [ebp - 0x3e3c]
push esi
mov ecx, dword [ecx + 0x110]
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
lea eax, [ebp - 0x3e3c]
mov ecx, edi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov esi, eax
test esi, esi
jne 0x4d3520
push dword [ebp - 0x3e54]
mov ecx, edi
call fcn.004bea00
mov esi, eax
test esi, esi
je 0x4d3596
nop dword [eax]
mov ecx, dword [edi + 0x44]
push esi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
push dword [ebp - 0x3e54]
mov ecx, edi
call fcn.004bea00
mov esi, eax
test esi, esi
jne 0x4d3570
push 0x15054
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41b8], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4d35c0
mov ecx, eax
call fcn.004733b0
mov dword [ebp - 0x3e5c], eax
jmp 0x4d35ca
mov dword [ebp - 0x3e5c], 0
mov ecx, dword [ebp - 0x3e5c]
mov eax, dword [ebp - 0x3e54]
push ecx
mov byte [ebp - 4], 0
mov dword [ecx + 0x180], eax
mov dword [ecx + 0x188], 0xffffffff
mov al, byte [ebp - 0xfaf]
mov byte [ecx + 0x240], al
mov al, byte [ebp - 0xfae]
mov byte [ecx + 0x241], al
mov al, byte [ebp - 0xfad]
mov byte [ecx + 0x242], al
mov al, byte [ebp - 0xfac]
mov byte [ecx + 0x243], al
mov ecx, dword [edi + 0x44]
call fcn.0044e390
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d3639
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ed4], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ed3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3ed2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ed1], al
mov byte [ebp - 0x3ed0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d36c3
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d36d6
lea eax, [ebp - 0x3ed4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov byte [ebp - 0x40ab], 0
lea edx, [ebp - 0x3e4c]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x40ac]
mov eax, dword [ecx]
push edx
push 6
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
xor edi, edi
call fcn.004be120
mov esi, eax
test esi, esi
je 0x4d3a3f
mov dword [ebp - 0x3e38], 1
nop dword [eax + eax]
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._closing_connection:__s___s
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
add esp, 0x18
lea ecx, [ebp - 0x207c]
call fcn.0051b0a0
mov ecx, dword [ebp - 0x2074]
mov dx, word [ebp - 0x2076]
add ecx, 0x13
movzx edi, cx
mov word [ebp - 0x2074], cx
lea eax, [edi - 0x18]
movzx eax, ax
mov dword [ebp - 0x3e40], eax
cmp cx, 0x18
jae 0x4d37b6
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2076], dx
jmp 0x4d37bd
mov word [ebp - 0x2074], ax
movzx eax, word [ebp - 0x2072]
cmp edi, 0x18
push eax
mov eax, dword [ebp - 0x3e40]
mov ecx, edi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x207a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov eax, dword [esi + 0x14f34]
add esp, 0x20
cmp eax, 2
je 0x4d381b
cmp eax, 3
jne 0x4d382f
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a4850
add esp, 8
mov edi, dword [ebp - 0x3e3c]
mov ecx, esi
push 0
push edi
call fcn.00474120
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x206b]
push str._s_left_the_game.
push eax
call fcn.00473380
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, edi
push 0
push 5
push eax
push 0x65
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
push 0
push edi
mov ecx, esi
call fcn.0048c3f0
mov ecx, dword [edi + 0x110]
push esi
call fcn.0044e730
mov ecx, edi
call fcn.0044cdf0
test eax, eax
jne 0x4d38e4
mov ecx, edi
call fcn.0044cdf0
test eax, eax
jne 0x4d38bb
cmp dword [edi + 0x124], eax
jg 0x4d38e4
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 0x4d390d
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.0048d040
mov eax, dword [esi + 0x14f70]
test eax, eax
je 0x4d3a0d
mov dword [eax + 0x23c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x240], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x244], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x248], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x24c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x250], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x254], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x258], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x25c], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x260], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x1c0], 0
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x220], 0x19
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x124], 1
mov eax, dword [esi + 0x14f70]
mov dword [eax + 0x21c], 0
mov dword [esi + 0x14f70], 0
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x3e3c]
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov esi, eax
test esi, esi
jne 0x4d3730
mov edi, dword [ebp - 0x3e38]
push dword [ebp - 0x3e54]
mov esi, dword [ebp - 0x3e50]
mov ecx, esi
call fcn.004bea00
mov dword [ebp - 0x3e5c], eax
mov ecx, eax
mov dword [ebp - 0x3e38], ecx
test eax, eax
jne 0x4d3ae6
mov dword [ebp - 0x3e5c], ecx
test edi, edi
jne case.default.0x4d8614
lea eax, [ebp - 0x13b0]
push str._orphan_close_message_
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
add esp, 0x10
lea ecx, [ebp - 0x20ac]
call fcn.0051b0a0
mov ecx, dword [ebp - 0x20a4]
mov dx, word [ebp - 0x20a6]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x20a4], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov edi, eax
cmp cx, 0x18
jae 0x4d3b1b
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x20a6], dx
jmp 0x4d3b22
mov eax, dword [ebp - 0x3e5c]
mov ecx, dword [esi + 0x44]
push eax
call fcn.0044e730
mov ecx, dword [ebp - 0x3e5c]
push 1
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004bea00
mov ecx, eax
mov dword [ebp - 0x3e5c], ecx
test ecx, ecx
jne 0x4d3ae0
jmp case.default.0x4d8614
mov word [ebp - 0x20a4], ax
movzx eax, word [ebp - 0x20a2]
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 - 0x20aa]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov ecx, dword [ebp - 0x3e38]
add esp, 0x20
mov dword [ebp - 0x3e5c], ecx
jmp case.default.0x4d8614
mov eax, dword [ebp - 0x3e8c]
dec eax
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d4b0
add esp, 8
lea eax, [ebp - 0xfaf]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004bf190
jmp case.0x4d34b5.2
mov eax, dword [str.Connecting...]
mov dword [0x635224], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca60
lea eax, [ebp - 0xfaf]
push 0x20
push eax
call fcn.0044d4b0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d350
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d4b0
mov ecx, dword [0x636bc8]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00538240
test eax, eax
je 0x4d3c2f
mov dword [ebp - 0x3e63], 0xc
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4d34b5.2
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
lea eax, [ebp - 0xf8f]
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004be1a0
mov ecx, eax
mov dword [ebp - 0x3e5c], ecx
test ecx, ecx
je 0x4d3c82
mov dword [ebp - 0x3e63], 6
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4d34b5.2
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
push 0xffffffffffffffff
push 0
push 1
lea eax, [ebp - 0xf8f]
mov ecx, edi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.00484880
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14fb4], ecx
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d3cde
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3edc], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3edb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eda], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ed9], al
mov byte [ebp - 0x3ed8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d3d68
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d3d7b
lea eax, [ebp - 0x3edc]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov byte [ebp - 0x4064], 0x3f
lea edx, [ebp - 0x4064]
mov eax, dword [edi + 0x238]
mov edi, dword [ebp - 0x3e50]
mov dword [ebp - 0x4063], eax
push 0
push 0
mov ecx, dword [edi + 0x34]
push edx
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test esi, esi
jne 0x4d3ddc
mov eax, dword [ebp - 0x3e54]
mov dword [ebp - 0x3e93], eax
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e94]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d8614
cmp esi, 1
jne 0x4d3e08
mov dword [ebp - 0x3e63], esi
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d8614
cmp esi, 2
jne 0x4d3e34
mov dword [ebp - 0x3e63], esi
lea edx, [ebp - 0x3e4c]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
cmp esi, 3
jne 0x4d3e60
mov dword [ebp - 0x3e63], esi
lea edx, [ebp - 0x3e4c]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
cmp esi, 0xa
jne 0x4d3e8c
mov dword [ebp - 0x3e63], esi
lea edx, [ebp - 0x3e4c]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
cmp esi, 0x14
jne 0x4d3edd
mov dword [ebp - 0x3e63], 0xc
mov ecx, dword [edi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [eax + 4]
push edx
push 5
call eax
mov ecx, dword [0x636bc8]
push str.Mr._Cheater
push dword [ebp - 0xf07]
call fcn.00538480
mov ecx, dword [0x636bc8]
call fcn.00538400
jmp case.default.0x4d8614
cmp esi, 0xffffffff
jne case.default.0x4d8614
mov dword [ebp - 0x3e63], esi
lea edx, [ebp - 0x3e4c]
mov ecx, dword [edi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d3f23
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ee4], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ee3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3ee2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ee1], al
mov byte [ebp - 0x3ee0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d3fad
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d3fc0
lea eax, [ebp - 0x3ee4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov eax, dword [str.Connecting...]
mov dword [0x635224], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca60
cmp dword [esi + 0x7c], 0
mov eax, 0x3e8
mov edi, dword [0x636bcc]
cmovne edi, eax
lea eax, [ebp - 0xfaf]
push 0x20
push eax
mov dword [ebp - 0x3e38], edi
call fcn.0044d4b0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d350
lea eax, [ebp - 0xf8f]
push 0x88
push eax
call fcn.0044d4b0
mov ecx, dword [0x636bc8]
add esp, 0x18
push dword [ebp - 0xf07]
call fcn.00538240
test eax, eax
je 0x4d4043
mov dword [ebp - 0x3e63], 0xc
mov ecx, dword [esi + 0x34]
jmp 0x4d3dea
mov ecx, dword [esi + 0x48]
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d40be
mov edi, dword [ebp - 0x3e50]
nop word [eax + eax]
mov ecx, dword [esi + 0x110]
call fcn.0044e540
test eax, eax
je 0x4d40aa
mov edi, dword [ebp - 0x3fc8]
nop word [eax + eax]
mov ecx, dword [ebp - 0xf07]
cmp ecx, dword [eax + 0x14fb4]
jne 0x4d408f
inc edi
mov ecx, dword [esi + 0x110]
call fcn.0044e5f0
test eax, eax
jne 0x4d4080
mov dword [ebp - 0x3fc8], edi
mov edi, dword [ebp - 0x3e50]
mov ecx, dword [edi + 0x48]
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4d4060
mov edi, dword [ebp - 0x3e38]
cmp dword [ebp - 0x3fc8], edi
jl 0x4d40de
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e63], 0xd
mov ecx, dword [eax + 0x34]
jmp 0x4d3dea
movss xmm0, dword [ebp - 0xf03]
ucomiss xmm0, dword [0x5e4890]
lahf
test ah, 0x44
jnp 0x4d410b
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e63], 5
mov ecx, dword [eax + 0x34]
jmp 0x4d3dea
mov esi, dword [ebp - 0x3e50]
lea eax, [ebp - 0x3e3c]
push eax
lea eax, [ebp - 0xf8f]
mov ecx, esi
push eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.004be1a0
mov ecx, eax
mov dword [ebp - 0x3e5c], ecx
test ecx, ecx
je 0x4d414b
mov dword [ebp - 0x3e63], 6
mov ecx, dword [esi + 0x34]
jmp 0x4d3dea
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
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.00484880
mov ecx, dword [ebp - 0xf07]
mov esi, eax
mov dword [edi + 0x14fb4], ecx
cmp dword [edi + 0x14fa4], 1
jne 0x4d41c9
lea ecx, [ebp - 0x2140]
call fcn.0051b0a0
lea eax, [edi + 0x14f94]
push eax
lea ecx, [ebp - 0x2140]
call fcn.0051b100
test eax, eax
jg 0x4d41e7
mov dword [edi + 0x14fa4], 0
test esi, esi
jne 0x4d41ff
mov eax, dword [ebp - 0x3e54]
mov dword [ebp - 0x3e93], eax
mov eax, dword [ebp - 0x3e50]
mov ecx, dword [eax + 0x34]
jmp 0x4d3dbe
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e63], 7
mov ecx, dword [eax + 0x34]
jmp 0x4d3dea
cmp esi, 1
jne 0x4d4231
mov dword [ebp - 0x3e63], esi
mov eax, dword [ebp - 0x3e50]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [eax + 4]
push edx
push 5
call eax
jmp case.default.0x4d8614
cmp esi, 2
jne 0x4d423e
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
cmp esi, 3
jne 0x4d424b
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
cmp esi, 4
jne 0x4d4258
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
cmp esi, 0xffffffff
jne 0x4d4265
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
cmp esi, 0xa
jne 0x4d4272
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
cmp esi, 0x14
jne 0x4d428f
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x3e63], 0xc
mov ecx, dword [eax + 0x34]
jmp 0x4d3e9e
cmp esi, 0xb
jne case.default.0x4d8614
mov dword [ebp - 0x3e63], esi
jmp 0x4d420a
mov eax, dword [ebp - 0x3e54]
cmp dword [ebp - 0xfaf], eax
jne case.0x4d34b5.2
lea ecx, [ebp - 0xfb0]
push ecx
push eax
mov ecx, esi
call fcn.004ea360
jmp case.0x4d34b5.2
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d42df
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3eec], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3eeb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eea], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ee9], al
mov byte [ebp - 0x3ee8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d4369
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d437c
lea eax, [ebp - 0x3eec]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movsx ecx, byte [ebp - 0xfaf]
and ecx, 0x80000007
jns 0x4d43ad
dec ecx
or ecx, 0xfffffff8
inc ecx
movsx edx, cl
imul eax, edx, 0x980
mov byte [ebp - 0xfaf], cl
cmp dword [eax + edi + 0x2c4], 0xffffffff
jle 0x4d4544
mov dword [ebp - 0x2003], edx
lea edx, [ebp - 0x3e4c]
movsx eax, cl
imul ecx, eax, 0x980
push edx
push 0
lea edx, [ebp - 0x2004]
push edx
push 0x4d
mov eax, dword [ecx + edi + 0x2c0]
mov dword [ebp - 0x1fff], eax
mov al, byte [ecx + edi + 0x2cc]
mov byte [ebp - 0x1ff3], al
mov al, byte [ecx + edi + 0x2cd]
mov byte [ebp - 0x1ff2], al
mov al, byte [ecx + edi + 0x2ce]
mov byte [ebp - 0x1ff1], al
mov eax, dword [ecx + edi + 0x2c4]
mov dword [ebp - 0x1ffb], eax
mov al, byte [ecx + edi + 0x2cf]
mov byte [ebp - 0x1ff0], al
mov al, byte [ecx + edi + 0x2d0]
mov byte [ebp - 0x1fef], al
mov al, byte [ecx + edi + 0x2d1]
mov byte [ebp - 0x1fee], al
mov eax, dword [ecx + edi + 0x2c8]
mov dword [ebp - 0x1ff7], eax
mov al, byte [ecx + edi + 0x2d2]
mov byte [ebp - 0x1fed], al
mov al, byte [ecx + edi + 0x2d3]
mov byte [ebp - 0x1fec], al
mov al, byte [ecx + edi + 0x2d4]
mov byte [ebp - 0x1feb], al
movups xmm0, xmmword [ecx + edi + 0x2a0]
movups xmmword [ebp - 0x1fe8], xmm0
movq xmm0, qword [ecx + edi + 0x2b0]
movq qword [ebp - 0x1fd8], xmm0
mov eax, dword [ecx + edi + 0x2b8]
mov dword [ebp - 0x1fd0], eax
movzx eax, word [ecx + edi + 0x2bc]
mov word [ebp - 0x1fcc], ax
mov al, byte [ecx + edi + 0x2be]
mov byte [ebp - 0x1fca], al
mov byte [ebp - 0x1fc9], 0
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0x1fc8], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0x1fc7], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0x1fc6], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0x1fc5], al
movzx eax, word [ecx + edi + 0x318]
mov word [ebp - 0x1fea], ax
cvttss2si eax, dword [ecx + edi + 0x300]
mov dword [ebp - 0x1fc4], eax
mov eax, dword [ecx + edi + 0x2d8]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x1fc0], ecx
mov dword [ebp - 0x1fbc], eax
jmp 0x4d4560
lea edx, [ebp - 0x3e4c]
mov dword [ebp - 0x3e63], 1
push edx
push 0
lea edx, [ebp - 0x3e64]
push edx
push 5
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d45c0
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d45c7
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d461d
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d4624
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d467a
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d4681
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d46d7
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d46de
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d4734
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d473b
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d4791
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d4798
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d47ee
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d47f5
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d484b
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
jmp 0x4d4852
mov byte [ebp - 0x1ed3], 0
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x1fb4]
mov eax, dword [ecx]
push edx
push 0x101
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x413c], 0x4c
lea edx, [ebp - 0x3e4c]
movzx eax, word [edi + 0x14f84]
mov dword [ebp - 0x413b], eax
movzx eax, word [edi + 0x14f86]
mov dword [ebp - 0x4137], eax
movzx eax, word [edi + 0x14f8a]
mov dword [ebp - 0x4133], eax
movzx eax, word [edi + 0x14f88]
mov dword [ebp - 0x412f], eax
movzx eax, word [edi + 0x14f8c]
mov dword [ebp - 0x412b], eax
movzx eax, word [edi + 0x14f8e]
mov dword [ebp - 0x4127], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x413c]
mov eax, dword [ecx]
push edx
push 0x19
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d48fd
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ef4], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ef3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3ef2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ef1], al
mov byte [ebp - 0x3ef0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d4987
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d499a
lea eax, [ebp - 0x3ef4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d49ac
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e54]
mov ecx, esi
mov dword [ebp - 0xfaf], eax
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d49de
cmp eax, 7
jle 0x4d49e8
mov dword [ebp - 0xfaf], 0
lea eax, [ebp - 0xf94]
push 0x20
push eax
call fcn.0044d4b0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044d350
lea eax, [ebp - 0xf94]
push 1
push eax
call fcn.0044d1b0
lea eax, [ebp - 0xf94]
push eax
call fcn.0044dbb0
imul eax, dword [ebp - 0xfaf], 0x980
add esp, 0x18
cmp dword [eax + edi + 0x2c4], 0xffffffff
jne 0x4d5c29
lea eax, [ebp - 0xf94]
push eax
call fcn.0044f270
add esp, 4
test eax, eax
jne 0x4d4a5c
mov dword [ebp - 0x3e63], 7
mov ecx, dword [esi + 0x34]
jmp 0x4d4213
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.004873e0
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.0044ef60
add esp, 4
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0xf6c], xmm0
mov word [ebp - 0xf96], ax
mov dword [ebp - 0xf70], eax
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 0x4d
mov eax, dword [eax + 4]
call eax
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2d8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e38], eax
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d4d0d
mov edi, dword [ebp - 0x3e38]
push esi
mov ecx, edi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e540
mov esi, eax
test esi, esi
jne 0x4d4ce8
mov edi, dword [ebp - 0x3e5c]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2dc]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e38], eax
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d4d65
mov edi, dword [ebp - 0x3e38]
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e540
mov esi, eax
test esi, esi
jne 0x4d4d40
mov edi, dword [ebp - 0x3e5c]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e0]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e38], eax
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d4db7
mov edi, dword [ebp - 0x3e38]
push esi
mov ecx, edi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e540
mov esi, eax
test esi, esi
jne 0x4d4d92
mov edi, dword [ebp - 0x3e5c]
imul eax, dword [ebp - 0xfaf], 0x980
mov eax, dword [eax + edi + 0x2e4]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e38], eax
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d4e09
mov edi, dword [ebp - 0x3e38]
push esi
mov ecx, edi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, edi
call fcn.0044e540
mov esi, eax
test esi, esi
jne 0x4d4de4
mov edi, dword [ebp - 0x3e5c]
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.004b5ac0
imul eax, dword [ebp - 0xfaf], 0x980
push str.NO_PET
add eax, 0x368
add eax, edi
push eax
call fcn.004b5ac0
push 0x120
call fcn.0055f3ea
add esp, 0x14
mov dword [ebp - 0x41a0], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d4e94
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d4e96
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 0x4d4f4a
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x4204], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4d4f89
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d4f8b
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 0x4d503f
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x4200], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4d507e
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d5080
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 0x4d5134
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41fc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4d5173
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d5175
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 0x4d5229
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41f8], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4d5268
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d526a
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 0x4d531e
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41f4], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4d535d
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d535f
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 0x4d5413
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41f0], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4d5452
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d5454
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 0x4d5508
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41ec], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4d5547
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4d5549
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 0x4d55fd
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.00535a30
push 0x120
call fcn.0055f3ea
add esp, 8
mov dword [ebp - 0x41e8], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4d563c
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4d563e
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x3f800000
mov dword [eax + 0x10], 0x3f800000
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [eax], 0x80
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 4
imul eax, dword [ebp - 0xfaf], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e390
imul eax, dword [ebp - 0xfaf], 0x980
push 0x120
cmp dword [eax + edi + 0x2f4], 0xa
jge 0x4d573d
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41e4], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4d56e9
push str.Pointy_Stick
push 0
push 1
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4d56eb
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 0x4d57cb
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41e0], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x4d5767
push str.My_First_Scythe
push 0
push 1
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4d5769
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
mov dword [eax], 1
mov dword [eax + 8], 0x40040000
mov dword [eax + 4], 1
mov dword [eax + 0x14], 0x80
mov dword [eax + 0x18], 0x80
mov dword [eax + 0x10], 0x80
mov dword [eax + 0x34], 0xf
mov dword [eax + 0x38], 0x3e8
mov dword [ecx + 0x108], 0x40000000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 1
mov dword [eax + 0x3c], 0xd
imul eax, dword [ebp - 0xfaf], 0x980
push ecx
mov byte [ebp - 4], 0
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e390
imul eax, dword [ebp - 0xfaf], 0x980
xor ecx, ecx
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x18], 0x64
mov dword [eax + 0x1c], 0
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2fc], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x2f8], 0x1e
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x31c], 0
imul eax, dword [ebp - 0xfaf], 0x980
mov word [eax + edi + 0x318], cx
imul eax, dword [ebp - 0xfaf], 0x980
mov byte [ebp - 0xf64], 1
mov dword [eax + edi + 0xbd0], 1
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [ebp - 0xf70], ecx
mov dword [eax + edi + 0x300], ecx
imul eax, dword [ebp - 0xfaf], 0x980
mov dword [eax + edi + 0x304], ecx
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [0x618398]
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 [0x61839c]
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.0048d040
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d596d
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d5974
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d59ca
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d59d1
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d5a27
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d5a2e
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d5a84
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d5a8b
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d5ae1
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d5ae8
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d5b3e
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d5b45
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d5b9b
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d5ba2
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d5bf8
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
jmp 0x4d5bff
mov byte [ebp - 0x1ed3], 0
mov eax, dword [ebp - 0x3e50]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x1fb4]
mov eax, dword [eax + 4]
push edx
push 0x101
call eax
jmp case.default.0x4d8614
mov dword [ebp - 0x3e63], 2
mov ecx, dword [esi + 0x34]
jmp 0x4d4213
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d5c51
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3efc], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3efb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3efa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ef9], al
mov byte [ebp - 0x3ef8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d5cdb
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d5cee
lea eax, [ebp - 0x3efc]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d5d1e
dec eax
or eax, 0xfffffff8
inc eax
mov byte [ebp - 0xfaf], al
movsx eax, al
imul eax, eax, 0x980
add eax, edi
cmp dword [eax + 0x2c4], 0xffffffff
jle 0x4d5e09
add eax, 0x2a0
push eax
call fcn.0044f370
add esp, 4
lea eax, [ebp - 0x4098]
mov ecx, esi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004be820
test eax, eax
je 0x4d5d94
lea eax, [ebp - 0x4098]
mov ecx, esi
push eax
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bdcf0
movsx eax, byte [ebp - 0xfaf]
mov ecx, edi
imul eax, eax, 0x980
mov dword [eax + edi + 0x2c4], 0xffffffff
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + edi + 0xc10], 0
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
mov dword [eax + edi + 0xc0c], 0
call fcn.0048d040
mov dword [ebp - 0x3e63], 1
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e64]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d5e5f
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d5e66
mov byte [ebp - 0x1fb3], 0
cmp dword [edi + 0xc44], 0xffffffff
jle 0x4d5ebc
movups xmm0, xmmword [edi + 0xc20]
movups xmmword [ebp - 0x1f93], xmm0
movq xmm0, qword [edi + 0xc30]
movq qword [ebp - 0x1f83], xmm0
mov eax, dword [edi + 0xc38]
mov dword [ebp - 0x1f7b], eax
mov ax, word [edi + 0xc3c]
mov word [ebp - 0x1f77], ax
mov al, byte [edi + 0xc3e]
mov byte [ebp - 0x1f75], al
mov byte [ebp - 0x1f74], 0
jmp 0x4d5ec3
mov byte [ebp - 0x1f93], 0
cmp dword [edi + 0x15c4], 0xffffffff
jle 0x4d5f19
movups xmm0, xmmword [edi + 0x15a0]
movups xmmword [ebp - 0x1f73], xmm0
movq xmm0, qword [edi + 0x15b0]
movq qword [ebp - 0x1f63], xmm0
mov eax, dword [edi + 0x15b8]
mov dword [ebp - 0x1f5b], eax
mov ax, word [edi + 0x15bc]
mov word [ebp - 0x1f57], ax
mov al, byte [edi + 0x15be]
mov byte [ebp - 0x1f55], al
mov byte [ebp - 0x1f54], 0
jmp 0x4d5f20
mov byte [ebp - 0x1f73], 0
cmp dword [edi + 0x1f44], 0xffffffff
jle 0x4d5f76
movups xmm0, xmmword [edi + 0x1f20]
movups xmmword [ebp - 0x1f53], xmm0
movq xmm0, qword [edi + 0x1f30]
movq qword [ebp - 0x1f43], xmm0
mov eax, dword [edi + 0x1f38]
mov dword [ebp - 0x1f3b], eax
mov ax, word [edi + 0x1f3c]
mov word [ebp - 0x1f37], ax
mov al, byte [edi + 0x1f3e]
mov byte [ebp - 0x1f35], al
mov byte [ebp - 0x1f34], 0
jmp 0x4d5f7d
mov byte [ebp - 0x1f53], 0
cmp dword [edi + 0x28c4], 0xffffffff
jle 0x4d5fd3
movups xmm0, xmmword [edi + 0x28a0]
movups xmmword [ebp - 0x1f33], xmm0
movq xmm0, qword [edi + 0x28b0]
movq qword [ebp - 0x1f23], xmm0
mov eax, dword [edi + 0x28b8]
mov dword [ebp - 0x1f1b], eax
mov ax, word [edi + 0x28bc]
mov word [ebp - 0x1f17], ax
mov al, byte [edi + 0x28be]
mov byte [ebp - 0x1f15], al
mov byte [ebp - 0x1f14], 0
jmp 0x4d5fda
mov byte [ebp - 0x1f33], 0
cmp dword [edi + 0x3244], 0xffffffff
jle 0x4d6030
movups xmm0, xmmword [edi + 0x3220]
movups xmmword [ebp - 0x1f13], xmm0
movq xmm0, qword [edi + 0x3230]
movq qword [ebp - 0x1f03], xmm0
mov eax, dword [edi + 0x3238]
mov dword [ebp - 0x1efb], eax
mov ax, word [edi + 0x323c]
mov word [ebp - 0x1ef7], ax
mov al, byte [edi + 0x323e]
mov byte [ebp - 0x1ef5], al
mov byte [ebp - 0x1ef4], 0
jmp 0x4d6037
mov byte [ebp - 0x1f13], 0
cmp dword [edi + 0x3bc4], 0xffffffff
jle 0x4d608d
movups xmm0, xmmword [edi + 0x3ba0]
movups xmmword [ebp - 0x1ef3], xmm0
movq xmm0, qword [edi + 0x3bb0]
movq qword [ebp - 0x1ee3], xmm0
mov eax, dword [edi + 0x3bb8]
mov dword [ebp - 0x1edb], eax
mov ax, word [edi + 0x3bbc]
mov word [ebp - 0x1ed7], ax
mov al, byte [edi + 0x3bbe]
mov byte [ebp - 0x1ed5], al
mov byte [ebp - 0x1ed4], 0
jmp 0x4d6094
mov byte [ebp - 0x1ef3], 0
cmp dword [edi + 0x4544], 0xffffffff
jle 0x4d60f0
movups xmm0, xmmword [edi + 0x4520]
movups xmmword [ebp - 0x1ed3], xmm0
movq xmm0, qword [edi + 0x4530]
movq qword [ebp - 0x1ec3], xmm0
mov eax, dword [edi + 0x4538]
mov dword [ebp - 0x1ebb], eax
mov ax, word [edi + 0x453c]
mov word [ebp - 0x1eb7], ax
mov al, byte [edi + 0x453e]
mov byte [ebp - 0x1eb5], al
mov byte [ebp - 0x1eb4], 0
mov ecx, dword [esi + 0x34]
jmp 0x4d5c08
mov byte [ebp - 0x1ed3], 0
mov ecx, dword [esi + 0x34]
jmp 0x4d5c08
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d6115
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f04], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f03], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f02], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f01], al
mov byte [ebp - 0x3f00], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d619f
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d61b2
lea eax, [ebp - 0x3f04]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov eax, dword [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d61c4
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e54]
mov ecx, esi
mov dword [ebp - 0xfaf], eax
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [ebp - 0xfaf]
test eax, eax
js 0x4d61f6
cmp eax, 7
jle 0x4d61fe
xor eax, eax
mov dword [ebp - 0xfaf], eax
imul ecx, eax, 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [ebp - 0xfab]
lea edx, [ebp - 0x3e4c]
mov dword [ecx + edi + 0x2c4], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa3]
push edx
push 0
lea edx, [ebp - 0x2004]
push edx
push 0x4d
mov byte [ecx + edi + 0x2cf], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa2]
mov byte [ecx + edi + 0x2d0], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa1]
mov byte [ecx + edi + 0x2d1], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov eax, dword [ebp - 0xfa7]
mov dword [ecx + edi + 0x2c8], eax
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xfa0]
mov byte [ecx + edi + 0x2d2], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9f]
mov byte [ecx + edi + 0x2d3], al
imul ecx, dword [ebp - 0xfaf], 0x980
mov al, byte [ebp - 0xf9e]
mov byte [ecx + edi + 0x2d4], al
mov eax, dword [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [ebp - 0x2003], eax
mov eax, dword [ecx + edi + 0x2c0]
mov dword [ebp - 0x1fff], eax
mov al, byte [ecx + edi + 0x2cc]
mov byte [ebp - 0x1ff3], al
mov al, byte [ecx + edi + 0x2cd]
mov byte [ebp - 0x1ff2], al
mov al, byte [ecx + edi + 0x2ce]
mov byte [ebp - 0x1ff1], al
mov eax, dword [ecx + edi + 0x2c4]
mov dword [ebp - 0x1ffb], eax
mov al, byte [ecx + edi + 0x2cf]
mov byte [ebp - 0x1ff0], al
mov al, byte [ecx + edi + 0x2d0]
mov byte [ebp - 0x1fef], al
mov al, byte [ecx + edi + 0x2d1]
mov byte [ebp - 0x1fee], al
mov eax, dword [ecx + edi + 0x2c8]
mov dword [ebp - 0x1ff7], eax
mov al, byte [ecx + edi + 0x2d2]
mov byte [ebp - 0x1fed], al
mov al, byte [ecx + edi + 0x2d3]
mov byte [ebp - 0x1fec], al
mov al, byte [ecx + edi + 0x2d4]
mov byte [ebp - 0x1feb], al
movups xmm0, xmmword [ecx + edi + 0x2a0]
movups xmmword [ebp - 0x1fe8], xmm0
movq xmm0, qword [ecx + edi + 0x2b0]
movq qword [ebp - 0x1fd8], xmm0
mov eax, dword [ecx + edi + 0x2b8]
mov dword [ebp - 0x1fd0], eax
movzx eax, word [ecx + edi + 0x2bc]
mov word [ebp - 0x1fcc], ax
mov al, byte [ecx + edi + 0x2be]
mov byte [ebp - 0x1fca], al
mov byte [ebp - 0x1fc9], 0
mov al, byte [ecx + edi + 0x2e8]
mov byte [ebp - 0x1fc8], al
mov al, byte [ecx + edi + 0x2ec]
mov byte [ebp - 0x1fc7], al
mov al, byte [ecx + edi + 0x2f0]
mov byte [ebp - 0x1fc6], al
mov al, byte [ecx + edi + 0x2f4]
mov byte [ebp - 0x1fc5], al
movzx eax, word [ecx + edi + 0x318]
mov word [ebp - 0x1fea], ax
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.0048d040
cmp dword [edi + 0x2c4], 0xffffffff
jle 0x4d5e5f
movups xmm0, xmmword [edi + 0x2a0]
movups xmmword [ebp - 0x1fb3], xmm0
movq xmm0, qword [edi + 0x2b0]
movq qword [ebp - 0x1fa3], xmm0
mov eax, dword [edi + 0x2b8]
mov dword [ebp - 0x1f9b], eax
mov ax, word [edi + 0x2bc]
mov word [ebp - 0x1f97], ax
mov al, byte [edi + 0x2be]
mov byte [ebp - 0x1f95], al
mov byte [ebp - 0x1f94], 0
jmp 0x4d5e66
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d6497
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f0c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f0b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f0a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f09], al
mov byte [ebp - 0x3f08], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d6521
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d6534
lea eax, [ebp - 0x3f0c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
push 0x5d7640
push str.bugs.txt
call fcn.0056f120
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.00596d1e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d350
lea eax, [ebp - 0x13b0]
push eax
call fcn.00596f5e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d350
cmp byte [ebp - 0xfad], 0
mov eax, 0x5dfc70
mov edi, 0x5dfc74
cmove eax, edi
push eax
push esi
call fcn.0043d350
cmp byte [ebp - 0xfaf], 0
mov eax, 0x5dfc78
cmove eax, edi
push eax
push esi
call fcn.0043d350
cmp byte [ebp - 0xfac], 0
mov eax, 0x5dfc7c
cmove eax, edi
push eax
push esi
call fcn.0043d350
add esp, 0x40
mov eax, 0x5dfc80
cmp byte [ebp - 0xfae], 0
cmove eax, edi
push eax
push esi
call fcn.0043d350
cmp byte [ebp - 0xfab], 0
mov eax, 0x5dfc84
cmove eax, edi
push eax
push esi
call fcn.0043d350
lea eax, [ebp - 0xfaa]
push eax
push str._s_
push esi
call fcn.0043d350
lea eax, [ebp - 0xf3b]
push eax
push str._s_
push esi
call fcn.0043d350
lea eax, [ebp - 0xecc]
push eax
push str._s_
push esi
call fcn.0043d350
lea eax, [ebp - 0xe5d]
push eax
push str._s__n
push esi
call fcn.0043d350
add esp, 0x40
push esi
call fcn.0056ee32
mov esi, dword [ebp - 0x3e50]
lea eax, [ebp - 0x3e3c]
add esp, 4
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x25ea]
push str.Thanks_for_your_bug_report___s_
push eax
call fcn.0043d380
add esp, 0xc
mov byte [ebp - 0x25eb], 0xfc
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x25ec]
push 0
push edx
push 0x92
mov eax, dword [eax + 4]
call eax
mov dword [edi + 0x258], 0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d66e6
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f14], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f13], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f12], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f11], al
mov byte [ebp - 0x3f10], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d6770
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d6783
lea eax, [ebp - 0x3f14]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
movsx eax, byte [ebp - 0xfaf]
and eax, 0x80000007
jns 0x4d6796
dec eax
or eax, 0xfffffff8
inc eax
push dword [ebp - 0x3e54]
mov ecx, esi
mov byte [ebp - 0xfaf], al
call fcn.004bea00
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movsx eax, byte [ebp - 0xfaf]
imul eax, eax, 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [ebp - 0x3e54]
lea edx, [ebp - 0x3e4c]
mov dword [ebp - 0x3e93], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x3e94]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
movsx eax, byte [ebp - 0xfaf]
imul ecx, eax, 0x980
mov dword [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.0048c3f0
push dword [ebp - 0x3e54]
mov ecx, esi
push 1
call fcn.004e8940
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x358
add ecx, edi
call fcn.0051b140
imul ecx, dword [edi + 0x188], 0x980
add ecx, 0x38c
add ecx, edi
call fcn.0051b140
lea ecx, [ebp - 0x2150]
call fcn.0051b0a0
imul ecx, dword [edi + 0x188], 0x980
lea eax, [ebp - 0x2150]
push eax
add ecx, 0x324
add ecx, edi
call fcn.0051b100
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 + 0x2fc]
mov edx, dword [eax + edi + 0x2f8]
cmp ecx, edx
jg 0x4d68dc
test ecx, ecx
jns 0x4d68e3
mov dword [eax + edi + 0x2fc], edx
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x20], 0
push dword [edi + 0x14fb4]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [edi + 0x243]
push eax
movzx eax, byte [edi + 0x242]
push eax
movzx eax, byte [edi + 0x241]
push eax
movzx eax, byte [edi + 0x240]
push eax
lea eax, [ebp - 0x13b0]
push str._new_connection_from_IP__d._d._d._d:__s___s___d
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov eax, dword [edi + 0x14f34]
add esp, 0x2c
cmp eax, 2
je 0x4d696f
cmp eax, 3
jne 0x4d6983
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a4850
add esp, 8
lea ecx, [ebp - 0x209c]
call fcn.0051b0a0
mov ecx, dword [ebp - 0x2094]
mov dx, word [ebp - 0x2096]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x2094], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov dword [ebp - 0x3e40], eax
cmp cx, 0x18
jae 0x4d69cb
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2096], dx
jmp 0x4d69d2
mov word [ebp - 0x2094], ax
movzx eax, word [ebp - 0x2092]
cmp esi, 0x18
push eax
mov eax, dword [ebp - 0x3e40]
mov ecx, esi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x209a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov eax, dword [edi + 0x14f34]
add esp, 0x20
cmp eax, 2
je 0x4d6a30
cmp eax, 3
jne 0x4d6a44
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a4850
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e50]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x70], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d6acc
nop dword [eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d6aad
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4d6a80
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d6b3c
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d6b1d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4d6af0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4d6bac
nop dword [eax + eax]
cmp dword [esi + 0x110], 0x12
jne 0x4d6b8d
imul eax, dword [edi + 0x188], 0x980
push esi
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4d6b60
mov eax, dword [ebp - 0x3e50]
push 0
mov ecx, dword [eax + 0x48]
call fcn.0044e420
imul ecx, dword [edi + 0x188], 0x980
mov esi, eax
mov dword [ebp - 0x3e3c], esi
lea eax, [ebp - 0x206b]
lea edx, [ecx + 0x2a0]
add edx, edi
cmp dword [ecx + edi + 0x31c], 1
push edx
jle 0x4d6bee
push str._s_entered_the_game.
jmp 0x4d6bf3
push str.___s_begins_life___
push eax
call fcn.00473380
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00531c80
lea eax, [ebp - 0x206b]
push str.Welcome_to_Blade_Mistress.__Check_out_our_discord_for_all_your_needs__https:__discord.gg_zh7Hrhv64B
push eax
call fcn.00473380
mov esi, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push edi
mov ecx, esi
mov dword [edi + 0x258], 0
call fcn.004e35b0
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle 0x4d7053
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0xc10], 0
jle 0x4d7053
mov esi, dword [eax + edi + 0xc00]
mov ecx, dword [eax + edi + 0xc04]
movss xmm0, dword [eax + edi + 0xbfc]
mov dword [ebp - 0x3e38], ecx
lea eax, [esi + esi*2]
movss dword [ebp - 0x3e58], xmm0
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
lea eax, [eax + str.Ghost]
mov dword [ebp - 0x3e40], eax
je 0x4d7356
push 0x2c8
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41dc], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4d6d06
push 0
push 0
push dword [ebp - 0x3e38]
mov ecx, eax
push esi
call fcn.00498ca0
mov esi, eax
jmp 0x4d6d08
xor esi, esi
imul eax, dword [edi + 0x188], 0x980
lea ecx, [esi + 0x184]
mov byte [ebp - 4], 0
add eax, 0xbd4
add eax, edi
cmp eax, str.NO_NAME
je 0x4d6d38
push 0x20
push ecx
push 0x20
push eax
call fcn.0044d2f0
add esp, 0x10
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle 0x4d6dcd
imul edx, dword [edi + 0x188], 0x980
add edx, 0x2a0
add edx, edi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3e38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d6d65
sub ecx, dword [ebp - 0x3e38]
lea eax, [esi + 0x184]
push ecx
push eax
push edx
call fcn.0059bbc0
add esp, 0xc
test eax, eax
je 0x4d6dcd
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x3e40]
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._ss__s
push eax
call fcn.0043d380
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
add esp, 0x20
mov byte [esi + 0x1dd], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e3c]
movss xmm0, dword [ebp - 0x3e58]
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.0051b320
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 - 0x403c], 0x18
mov dword [ebp - 0x403b], esi
call fcn.0044cdf0
mov ecx, dword [ebp - 0x3e3c]
mov byte [ebp - 0x4037], al
movzx eax, word [esi + 0x220]
mov word [ebp - 0x4036], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x4034], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x4031], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x4030], al
lea eax, [ebp - 0x403c]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.00499490
mov byte [ebp - 0x4004], 0x38
mov dword [ebp - 0x4003], 0xffffffff
mov dword [ebp - 0x3fff], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3ffb], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x3ffa], al
lea eax, [ebp - 0x4004]
mov word [ebp - 0x3ff9], 0xff
mov dword [ebp - 0x3ff7], 0x100ff
jmp 0x4d7320
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f4], 9
jle 0x4d735c
mov ecx, edi
call fcn.004832c0
mov ecx, edi
mov esi, eax
call fcn.004831f0
cmp esi, 1
mov ecx, 1
mov edx, esi
cmovl edx, ecx
xor ecx, ecx
cmp esi, 1
mov dword [ebp - 0x3e38], edx
cmovge ecx, eax
mov dword [ebp - 0x3e40], ecx
test ecx, ecx
jle 0x4d70c3
lea eax, [edx + edx*2]
lea eax, [ecx + eax*2]
imul eax, eax, 0x64
add eax, str.Ghost
nop
cmp byte [eax], 0
jne 0x4d70bd
dec ecx
sub eax, 0x64
test ecx, ecx
jg 0x4d70b0
mov dword [ebp - 0x3e40], 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 - 0x3e58], eax
je 0x4d7356
push 0x2c8
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41d8], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4d711b
push 0
push 0
push dword [ebp - 0x3e40]
mov ecx, eax
push dword [ebp - 0x3e38]
call fcn.00498ca0
mov esi, eax
jmp 0x4d711d
xor esi, esi
push dword [ebp - 0x3e58]
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.0043d380
push 0x1f
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
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 - 0x3e3c]
mov byte [esi + 0x1dd], 1
mov ecx, dword [eax + 0x118]
call fcn.0051b320
cmp dword [esi + 0x1b4], 4
jge 0x4d7224
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 - 0x404c], 0x18
mov dword [ebp - 0x404b], esi
call fcn.0044cdf0
mov byte [ebp - 0x4047], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x3e3c]
mov word [ebp - 0x4046], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x4044], ax
mov al, byte [esi + 0x108]
mov byte [ebp - 0x4041], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x4040], al
lea eax, [ebp - 0x404c]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
push dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.00499490
mov byte [ebp - 0x402c], 0x38
mov dword [ebp - 0x402b], 0xffffffff
mov dword [ebp - 0x4027], 0xffffffff
mov al, byte [esi + 0x108]
mov byte [ebp - 0x4023], al
mov al, byte [esi + 0x10c]
mov byte [ebp - 0x4022], al
lea eax, [ebp - 0x402c]
mov word [ebp - 0x4021], 0xff
mov dword [ebp - 0x401f], 0x100ff
mov ecx, dword [ebp - 0x3e3c]
push 0
push 5
push eax
push 0x11
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
mov dword [edi + 0x14f70], esi
mov dword [esi + 0x21c], edi
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x3e50]
cmp dword [edi + 0x14f34], 1
jne 0x4d738a
mov word [ebp - 0x4148], 0x3e
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4148]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle 0x4d73bb
mov word [ebp - 0x4154], 0x33e
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4154]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x406c], 0x50
lea edx, [ebp - 0x3e4c]
mov eax, dword [edi + 0x23c]
mov dword [ebp - 0x406b], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x406c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0x4074], 0x52
lea edx, [ebp - 0x3e4c]
mov eax, dword [esi + 0xc8]
mov dword [ebp - 0x4073], eax
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4074]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
lea eax, [ebp - 0x31ef]
mov byte [ebp - 0x31f0], 0x59
xor esi, esi
mov dword [ebp - 0x3e40], eax
nop
imul ecx, dword [edi + 0x188], 0x980
push 0
push eax
add ecx, 0x43c
add ecx, esi
add ecx, edi
call fcn.0052a750
mov eax, dword [ebp - 0x3e40]
add esi, 0x138
add eax, 0x200
mov dword [ebp - 0x3e40], eax
cmp esi, 0x750
jl 0x4d7430
mov esi, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x31f0]
mov ecx, dword [esi + 0x34]
push edx
push 0xc01
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
cmp dword [edi + 0x14fac], 0
jne case.default.0x4d8614
cmp dword [edi + 0x14f48], 0
je case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.Thanks_for_paying__Remember_to_use_the__referredby__name_
push eax
call fcn.00473380
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
push str.command_to_reward_the_player_who_introduced_you_to_Blade_Mistress.
lea eax, [ebp - 0x206b]
push eax
call fcn.00473380
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x206c]
push edx
push 0x65
call eax
jmp case.default.0x4d8614
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d7525
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f1c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f1b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f1a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f19], al
mov byte [ebp - 0x3f18], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d75af
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d75c2
lea eax, [ebp - 0x3f1c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
push dword [ebp - 0x3e54]
mov ecx, esi
push 0
call fcn.004e8940
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
lea eax, [ebp - 0x13b0]
push str._log_off_character:__s___s
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov eax, dword [edi + 0x14f34]
add esp, 0x18
cmp eax, 2
je 0x4d7643
cmp eax, 3
jne 0x4d7657
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a4850
add esp, 8
lea ecx, [ebp - 0x208c]
call fcn.0051b0a0
mov ecx, dword [ebp - 0x2084]
mov dx, word [ebp - 0x2086]
add ecx, 0x13
movzx esi, cx
mov word [ebp - 0x2084], cx
lea eax, [esi - 0x18]
movzx eax, ax
mov dword [ebp - 0x3e40], eax
cmp cx, 0x18
jae 0x4d769f
mov ecx, 0xffff
add dx, cx
mov word [ebp - 0x2086], dx
jmp 0x4d76a6
mov word [ebp - 0x2084], ax
movzx eax, word [ebp - 0x2082]
cmp esi, 0x18
push eax
mov eax, dword [ebp - 0x3e40]
mov ecx, esi
movzx eax, ax
cmovae ecx, eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x208a]
push eax
lea eax, [ebp - 0x13b0]
push str._d__02d___d:_02d_n
push eax
call fcn.00473350
lea eax, [ebp - 0x13b0]
push eax
push str.gamelog.txt
call fcn.004a4850
mov eax, dword [edi + 0x14f34]
add esp, 0x20
cmp eax, 2
je 0x4d7704
cmp eax, 3
jne 0x4d7718
lea eax, [ebp - 0x13b0]
push eax
push str.moderatorLog.txt
call fcn.004a4850
add esp, 8
mov esi, dword [ebp - 0x3e3c]
mov ecx, edi
push 0
push esi
call fcn.00474120
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_left_the_game.
push eax
call fcn.00473380
add esp, 0xc
lea eax, [ebp - 0x206c]
mov ecx, esi
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00531c80
push 0
push esi
mov ecx, edi
call fcn.0048c3f0
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4d77c1
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4d7798
cmp dword [esi + 0x124], eax
jg 0x4d77c1
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x108]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x10c]
jmp 0x4d781d
mov ecx, esi
call fcn.0044cdf0
imul ecx, dword [edi + 0x188], 0x980
cmp eax, 3
jne 0x4d77fe
mov eax, dword [esi + 0x12c]
mov dword [ecx + edi + 0x308], eax
mov ecx, dword [esi + 0x130]
dec ecx
imul eax, dword [edi + 0x188], 0x980
mov dword [eax + edi + 0x30c], ecx
jmp 0x4d7824
mov eax, dword [ecx + edi + 0x310]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [ecx + edi + 0x314]
mov dword [ecx + edi + 0x30c], eax
mov ecx, edi
call fcn.0048d040
mov eax, dword [edi + 0x14f70]
test eax, eax
je case.default.0x4d8614
mov dword [eax + 0x23c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x240], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x244], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x248], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x24c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x250], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x254], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x258], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x25c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x260], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x1c0], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x220], 0x19
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x124], 1
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x21c], 0
mov dword [edi + 0x14f70], 0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d7938
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f24], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f23], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f22], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f21], al
mov byte [ebp - 0x3f20], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d79c2
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d79d5
lea eax, [ebp - 0x3f24]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov al, byte [ebp - 0xfab]
cmp al, 0xa
jne 0x4d7a87
mov eax, dword [ecx + edi + 0x2d8]
cmp dword [eax + 0x20], 0
je 0x4d7a61
cmp dword [ebp - 0xfaa], 6
jne 0x4d7a61
mov eax, dword [ebp - 0xfaf]
mov dword [edi + 0x14ee8], eax
mov eax, dword [ecx + edi + 0x2d8]
mov ecx, esi
mov eax, dword [eax + 0x20]
push dword [eax + 0x28]
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
mov ecx, dword [edi + 0x14ec8]
mov eax, dword [ebp - 0xfaf]
mov dword [edi + ecx*4 + 0x14ed0], eax
mov ecx, esi
push dword [ebp - 0xfaa]
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp al, 1
jne 0x4d7a9a
push 1
mov ecx, esi
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp al, 2
jne 0x4d7aad
push 2
push edi
mov ecx, esi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp al, 3
jne 0x4d7ac0
push 3
push edi
mov ecx, esi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp al, 4
jne 0x4d7ad3
push 4
push edi
mov ecx, esi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp al, 0xb
jne 0x4d7b62
cmp dword [edi + 0x14f34], 3
jne 0x4d7aee
push str.Trial_moderators_cannot_open_any_guild_chests.
jmp 0x4d74df
lea eax, [ebp - 0x409c]
push eax
lea eax, [ecx + 0x2a0]
mov ecx, esi
add eax, edi
push eax
call fcn.004be820
test eax, eax
je 0x4d7b58
mov edx, dword [ebp - 0x409c]
cmp edx, dword [ebp - 0x3e3c]
jne 0x4d7b58
imul eax, dword [edi + 0x188], 0x980
push 0xb
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edx + 0x418]
mov dword [ecx + 0x20], eax
mov ecx, esi
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004e37f0
jmp case.default.0x4d8614
push str.You_are_not_allowed_to_open_this_chest._You_must_be_in_the_guild_and_a_paying_player.
jmp 0x4d74df
cmp al, 9
jne 0x4d7ecd
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0xfaa]
call fcn.004be120
cmp dword [ebp - 0xfaa], 6
mov esi, eax
jne 0x4d7b8f
mov esi, dword [edi + 0x14f7c]
test esi, esi
je case.default.0x4d8614
lea edx, [esi + 0x18c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3e38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d7ba8
sub ecx, dword [ebp - 0x3e38]
cmp ecx, 1
jb case.default.0x4d8614
lea eax, [edi + 0x18c]
push eax
push edx
call fcn.0044d720
add esp, 8
test eax, eax
jne case.default.0x4d8614
lea ecx, [ebp - 0x2160]
call fcn.0051b0a0
mov eax, dword [edi + 0x14f7c]
test eax, eax
jne 0x4d7e76
cmp dword [esi + 0x14f7c], eax
jne 0x4d7e76
mov dword [edi + 0x14f7c], esi
mov dword [esi + 0x14f7c], edi
mov dword [edi + 0x14f80], eax
mov dword [esi + 0x14f80], eax
mov dword [edi + 0x14ef4], eax
mov dword [edi + 0x14ef0], eax
mov eax, dword [esi + 0x14f74]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov eax, dword [edi + 0x14f74]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov byte [ebp - 0x2130], 0x53
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x13b0]
push str.You_begin_trading_with__s.
push eax
call fcn.00473350
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
mov ecx, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 0x1c
mov ecx, dword [ecx + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
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 - 0x212f]
push eax
call fcn.004b5b80
mov eax, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov byte [ebp - 0x2125], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2130]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d7d16
mov dword [ebp - 0x3e48], ecx
mov edx, dword [esi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f2c], dl
sar eax, 8
mov byte [ebp - 0x3f2b], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f2a], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f29], al
mov byte [ebp - 0x3f28], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d7d7a
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 - 0x3e48], 5
jmp 0x4d7d8d
lea eax, [ebp - 0x3f2c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._s_begins_trading_with_you.
push eax
call fcn.00473350
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
mov eax, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x212f]
push eax
call fcn.004b5b80
mov eax, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov byte [ebp - 0x2125], 0
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x2130]
mov eax, dword [ecx]
push edx
push 0x21
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e50]
push 9
push edi
call fcn.004e37f0
push 8
push edi
mov edi, dword [ebp - 0x3e50]
mov ecx, edi
call fcn.004e37f0
push 9
push esi
mov ecx, edi
call fcn.004e37f0
push 8
push esi
mov ecx, edi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp eax, esi
jne 0x4d7ea1
cmp dword [esi + 0x14f7c], edi
jne 0x4d7ea1
mov eax, dword [ebp - 0xfaf]
mov ecx, dword [ebp - 0x3e50]
push 9
push edi
mov dword [edi + 0x14ef4], eax
call fcn.004e37f0
jmp case.default.0x4d8614
cmp dword [esi + 0x14f7c], 0
je case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.That_person_is_busy_trading_with_someone_else.
push eax
call fcn.00473380
mov eax, dword [ebp - 0x3e50]
mov ecx, dword [eax + 0x34]
jmp 0x4d74ee
cmp al, 8
jne 0x4d7f40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0xfaa]
call fcn.004be120
cmp dword [ebp - 0xfaa], 6
mov ecx, eax
jne 0x4d7ef6
mov ecx, dword [edi + 0x14f7c]
test ecx, ecx
je case.default.0x4d8614
cmp dword [edi + 0x14f7c], ecx
jne 0x4d7f29
cmp dword [ecx + 0x14f7c], edi
jne 0x4d7f29
mov eax, dword [ebp - 0xfaf]
mov ecx, esi
push 8
push edi
mov dword [edi + 0x14ef0], eax
call fcn.004e37f0
jmp case.default.0x4d8614
cmp dword [ecx + 0x14f7c], 0
je case.default.0x4d8614
push str.That_person_is_busy_trading_with_someone_else.
jmp 0x4d74df
cmp al, 6
jne 0x4d8040
mov eax, dword [ebp - 0xfaa]
test eax, eax
je case.default.0x4d8614
mov ecx, dword [ebp - 0x3e3c]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.0051b490
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d8614
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
cmp eax, 2
je 0x4d7fc0
mov ecx, esi
call fcn.0044cdf0
cmp eax, 3
je 0x4d7fc0
mov ecx, esi
call fcn.0044cdf0
cmp eax, 0x15
jne case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [esi + 0x180]
mov dword [ecx + 0x20], eax
mov ecx, esi
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 0
call fcn.0044cdf0
cmp eax, 2
je 0x4d802d
mov ecx, esi
call fcn.0044cdf0
cmp eax, 0x15
je 0x4d802d
mov ecx, esi
call fcn.0044cdf0
cmp eax, 3
jne case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
push 7
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
push 6
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
test al, al
jne case.default.0x4d8614
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4d8075
lea ecx, [ebp - 0x41d4]
push ecx
push eax
mov ecx, esi
call fcn.004bea60
mov edx, eax
test edx, edx
je 0x4d80a2
push dword [edx + 0x10c]
push dword [edx + 0x108]
jmp 0x4d8081
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [ebp - 0x3e3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
imul ecx, dword [edi + 0x188], 0x980
mov ecx, dword [ecx + edi + 0x2d8]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
push 0
push edi
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004e37f0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d80df
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f34], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f33], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f32], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f31], al
mov byte [ebp - 0x3f30], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d8169
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d817c
lea eax, [ebp - 0x3f34]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d820f
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2230], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x222f]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2230]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x21cc], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
mov dword [edi + 0x258], 0
cmp dword [edi + 0x14f7c], 0
jne 0x4d8324
cmp byte [ebp - 0xfa2], 0
je 0x4d8324
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4d8324
cmp dword [eax + 0x28], 0
jne 0x4d8324
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8267
sub ecx, esi
cmp ecx, 1
jbe 0x4d831e
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8280
sub ecx, esi
push ecx
push edx
push str.Demon_Amulet
call fcn.0059bbc0
add esp, 0xc
test eax, eax
je 0x4d831e
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d82b0
sub ecx, esi
push ecx
push edx
push str.Dragon_Orchid
call fcn.0059bbc0
add esp, 0xc
test eax, eax
je 0x4d831e
mov edx, dword [ebp - 0xfab]
add edx, 8
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d82e0
sub ecx, esi
push ecx
push edx
push str.Ancient_Dragonscale
call fcn.0059bbc0
add esp, 0xc
test eax, eax
je 0x4d831e
lea eax, [ebp - 0x206b]
push str.You_can_only_put_Amulets__Dragonscales_and_Orchids_onto_the_ground.
push eax
call fcn.00473380
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x11c]
jmp 0x4d74ee
mov esi, dword [ebp - 0x3e50]
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [eax + edi + 0x2d8]
mov ecx, esi
push dword [eax + 0x24]
lea eax, [ebp - 0xfb0]
push dword [ebp - 0xfaf]
push eax
push edi
call fcn.004e8ac0
cmp eax, 1
jne 0x4d84d9
push edi
mov ecx, esi
call fcn.004eb810
imul eax, dword [edi + 0x188], 0x980
mov ecx, esi
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
push dword [eax + 0x28]
push edi
call fcn.004e37f0
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
cmp dword [eax + 0x28], 0
jne case.default.0x4d8614
mov eax, dword [edi + 0x108]
mov ecx, dword [edi + 0x14f70]
mov dword [ebp - 0x3e58], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x3e68], eax
xor eax, eax
mov dword [ebp - 0x3e40], eax
test ecx, ecx
je 0x4d8406
lea eax, [ebp - 0x3e40]
push eax
push ecx
mov ecx, esi
call fcn.004bea60
mov ecx, eax
test ecx, ecx
je 0x4d8400
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x3e58], eax
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x3e68], eax
mov eax, dword [ebp - 0x3e40]
mov esi, dword [ebp - 0x3e3c]
test eax, eax
cmovne esi, eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0x3e3c], esi
mov eax, dword [eax + edi + 0x2d8]
mov ecx, dword [eax + 0x20]
add ecx, 8
call fcn.0044e560
mov edx, dword [ebp - 0x3e68]
push 0
push 5
test eax, eax
je 0x4d8486
imul eax, dword [edi + 0x188], 0x980
lea ecx, [ebp - 0x3fd8]
push ecx
push 7
push edx
mov ecx, esi
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x3fd7], eax
mov eax, dword [ebp - 0x3e58]
push eax
push 0
mov byte [ebp - 0x3fd3], al
mov byte [ebp - 0x3fd2], dl
call fcn.00531c80
jmp case.default.0x4d8614
mov byte [ebp - 0x40c8], 0x18
lea ecx, [ebp - 0x40c8]
imul eax, dword [edi + 0x188], 0x980
push ecx
push 0xd
push edx
mov ecx, esi
mov eax, dword [eax + edi + 0x2d8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x40c7], eax
mov eax, dword [ebp - 0x3e58]
push eax
push 0
mov byte [ebp - 0x40c3], 6
mov byte [ebp - 0x40bd], al
mov byte [ebp - 0x40bc], dl
call fcn.00531c80
jmp case.default.0x4d8614
cmp eax, 2
jne case.default.0x4d8614
push edi
mov ecx, esi
call fcn.004eb810
jmp case.default.0x4d8614
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4d8505
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f3c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f3b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f3a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f39], al
mov byte [ebp - 0x3f38], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d858f
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d85a2
lea eax, [ebp - 0x3f3c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov dword [edi + 0x258], 0
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push edi
call fcn.004e2f60
test eax, eax
je case.default.0x4d8614
movzx eax, byte [ebp - 0xfa7]
add eax, 0xffffff38
cmp eax, 3
ja case.default.0x4d8614
jmp dword [eax*4 + 0x4dd628]
push 2
mov ecx, esi
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
push 3
mov ecx, esi
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
push 4
mov ecx, esi
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4d879c
lea ecx, [ebp - 0x40a0]
push ecx
push eax
mov ecx, esi
call fcn.004bea60
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x40a0]
push eax
push dword [ebp - 0xfab]
call fcn.004be120
test eax, eax
je 0x4d86f0
cmp dword [edi + 0x14f34], 1
je 0x4d86d2
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d8614
cmp byte [eax + 0x14fb9], 0
je case.default.0x4d8614
cmp dword [esi + 0x204], 0
jne 0x4d86e5
mov dword [esi + 0x11c], 0
mov dword [esi + 0x204], eax
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x41d0]
push eax
push dword [ebp - 0xfab]
call fcn.004bea60
mov dword [ebp - 0x3e40], eax
test eax, eax
je case.default.0x4d8614
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4d877e
cmp dword [ecx + 0x14f34], 0
jne 0x4d877e
mov ecx, dword [ebp - 0x3e3c]
call fcn.0044cdf0
cmp eax, 4
jne 0x4d8748
mov eax, dword [ebp - 0x3e3c]
cmp dword [eax + 0x134], 6
je 0x4d8778
mov eax, dword [ebp - 0x3e40]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je case.default.0x4d8614
cmp byte [ecx + 0x14fb9], 0
je case.default.0x4d8614
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d8614
jmp 0x4d877e
mov eax, dword [ebp - 0x3e40]
cmp dword [esi + 0x214], 0
jne 0x4d8791
mov dword [esi + 0x11c], 0
mov dword [esi + 0x214], eax
jmp case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.default.0x4d8614
mov ecx, dword [ebp - 0x3e3c]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.0051b490
mov esi, eax
test esi, esi
je 0x4d8842
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne 0x4d8842
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne 0x4d8842
mov ecx, esi
call fcn.0044cdf0
cmp eax, 1
jne 0x4d8842
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x4d8829
cmp dword [eax + 0x14f34], 0
jne 0x4d8829
cmp byte [eax + 0x14fb9], 0
je 0x4d8842
cmp byte [edi + 0x14fb9], 0
je 0x4d8842
cmp dword [edi + 0x14ea0], 0
jne 0x4d883c
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea0], esi
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x41cc]
push eax
push dword [ebp - 0xfab]
call fcn.004be120
test eax, eax
je case.default.0x4d8614
cmp byte [edi + 0x14fb9], 0
je case.default.0x4d8614
cmp byte [eax + 0x14fb9], 0
je case.default.0x4d8614
cmp dword [edi + 0x14ea4], 0
jne 0x4d8898
cmp dword [edi + 0x14ea0], 0
jne 0x4d8898
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea4], eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [ebp - 0xfab]
test eax, eax
je case.default.0x4d8614
mov ecx, dword [ebp - 0x3e3c]
push 1
push eax
mov ecx, dword [ecx + 0x118]
call fcn.0051b490
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d8614
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
cmp eax, 1
jne case.default.0x4d8614
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x4d8952
cmp dword [eax + 0x14f34], 1
je 0x4d8965
cmp dword [edi + 0x14ea0], 0
jne 0x4d8965
mov dword [edi + 0x11c], 0
mov dword [edi + 0x14ea0], esi
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d8986
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f44], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f43], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f42], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f41], al
mov byte [ebp - 0x3f40], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d8a10
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d8a23
lea eax, [ebp - 0x3f44]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov dword [edi + 0x258], 0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov eax, dword [ebp - 0xfaf]
test eax, eax
je case.default.0x4d8614
mov ecx, dword [ecx + edi + 0x2e0]
push eax
add ecx, 8
call fcn.0044e4f0
test eax, eax
je 0x4d8aa9
cmp dword [eax + 0x110], 6
jne 0x4d8aa9
mov ecx, eax
call fcn.0044ce00
push eax
push edi
mov ecx, esi
call fcn.004cdae0
jmp case.default.0x4d8614
mov esi, dword [ebp - 0xfaf]
xor eax, eax
mov edx, str.Swordsmith
xor ecx, ecx
cmp dword [ecx + str.XOKHNBC12345678GD90:S], esi
jne 0x4d8ac3
lea eax, [edx - 0x20]
cmp dword [ecx + 0x617c54], esi
cmove eax, edx
cmp dword [ecx + 0x617c58], esi
jne 0x4d8ad7
lea eax, [edx + 0x20]
add ecx, 0xc
add edx, 0x60
cmp ecx, 0x54
jb 0x4d8ab8
test eax, eax
je case.default.0x4d8614
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e470
test eax, eax
je case.default.0x4d8614
cmp dword [eax + 0x110], 6
jne case.default.0x4d8614
mov ecx, eax
call fcn.0044ce00
mov ecx, dword [ebp - 0x3e50]
push eax
push edi
call fcn.004cdae0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d8b48
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f4c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f4b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f4a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f49], al
mov byte [ebp - 0x3f48], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d8bd2
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d8be5
lea eax, [ebp - 0x3f4c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov esi, dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.0044cdf0
cmp eax, 1
jne 0x4d8db8
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov byte [ebp - 0x3df9], 0
lea edi, [ebp - 0x3e12]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x3e33], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x3e31], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x3e2f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x3e2d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x3df9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x3df8], al
xor eax, eax
mov dword [ebp - 0x3e58], eax
nop dword [eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d8d02
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d8d02
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e40], eax
add eax, edx
mov dword [ebp - 0x3e38], eax
js 0x4d8d02
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e38], eax
jge 0x4d8d02
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x3e40]
mov al, byte [eax + edx]
jmp 0x4d8d04
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x3e58]
mov byte [edi], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d8d6c
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d8d6c
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e40], eax
add eax, edx
mov dword [ebp - 0x3e38], eax
js 0x4d8d6c
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e38], eax
jge 0x4d8d6c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x3e40]
mov al, byte [eax + edx]
jmp 0x4d8d6e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x3e58]
inc edi
cmp edx, 5
jl 0x4d8ca2
inc eax
mov dword [ebp - 0x3e58], eax
cmp eax, 5
jl 0x4d8ca0
mov eax, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e34]
mov ecx, dword [eax + 0x34]
push edx
push 0x3d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
cmp eax, 3
jne case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
mov byte [ebp - 0x3df9], 0
lea edi, [ebp - 0x3e12]
movzx eax, word [esi + 0x124]
mov word [ebp - 0x3e33], ax
movzx eax, word [esi + 0x128]
mov word [ebp - 0x3e31], ax
movzx eax, word [ebp - 0xfaf]
mov word [ebp - 0x3e2f], ax
movzx eax, word [ebp - 0xfad]
mov word [ebp - 0x3e2d], ax
mov al, byte [esi + 0x13c]
mov byte [ebp - 0x3df9], al
mov al, byte [esi + 0x13d]
mov byte [ebp - 0x3df8], al
xor eax, eax
mov dword [ebp - 0x3e58], eax
nop word [eax + eax]
xor edx, edx
mov byte [edi - 0x19], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d8eb2
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d8eb2
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e40], eax
add eax, edx
mov dword [ebp - 0x3e38], eax
js 0x4d8eb2
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e38], eax
jge 0x4d8eb2
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x134]
add eax, dword [ebp - 0x3e40]
mov al, byte [eax + edx]
jmp 0x4d8eb4
xor al, al
mov byte [edi - 0x19], al
mov eax, dword [ebp - 0x3e58]
mov byte [edi], 0
movsx ecx, word [ebp - 0x3e2d]
lea eax, [eax + ecx*4]
add ecx, eax
js 0x4d8f1c
movsx eax, word [ebp - 0x3e31]
cmp ecx, eax
jge 0x4d8f1c
movsx eax, word [ebp - 0x3e2f]
lea eax, [eax + eax*4]
mov dword [ebp - 0x3e40], eax
add eax, edx
mov dword [ebp - 0x3e38], eax
js 0x4d8f1c
movsx eax, word [ebp - 0x3e33]
cmp dword [ebp - 0x3e38], eax
jge 0x4d8f1c
mov eax, dword [esi + 0x124]
imul eax, ecx
add eax, dword [esi + 0x138]
add eax, dword [ebp - 0x3e40]
mov al, byte [eax + edx]
jmp 0x4d8f1e
xor al, al
mov byte [edi], al
inc edx
mov eax, dword [ebp - 0x3e58]
inc edi
cmp edx, 5
jl 0x4d8e52
inc eax
mov dword [ebp - 0x3e58], eax
cmp eax, 5
jl 0x4d8e50
jmp 0x4d8d91
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d8f5c
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f54], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f53], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f52], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f51], al
mov byte [ebp - 0x3f50], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d8fe6
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d8ff9
lea eax, [ebp - 0x3f54]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov esi, dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.0044cdf0
cmp eax, 1
jne 0x4d91c8
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2c4], 0xffffffff
je case.default.0x4d8614
push edi
mov ecx, esi
call fcn.004f2530
test eax, eax
je case.default.0x4d8614
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov dword [ebp - 0x3e76], 0
mov byte [ebp - 0x3e77], 0
mov word [ebp - 0x3e7b], cx
mov word [ebp - 0x3e79], ax
je 0x4d90db
mov al, byte [esi + 0x13c]
inc al
cmp al, 4
mov byte [esi + 0x13c], al
jb 0x4d90ac
mov byte [esi + 0x13c], 0
xor al, al
inc al
mov byte [ebp - 0x3e77], al
push 0
push 5
lea eax, [ebp - 0x3e7c]
mov ecx, esi
push eax
push 0xa
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00531c80
jmp case.default.0x4d8614
cmp byte [ebp - 0xfa8], 0
je 0x4d9109
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 0xb
jb 0x4d90ff
mov byte [esi + 0x13d], 0
xor al, al
inc al
mov byte [ebp - 0x3e74], al
jmp 0x4d90b4
cmp byte [ebp - 0xfa9], 0
je 0x4d9173
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.004f2650
test eax, eax
js 0x4d912d
mov byte [ebp - 0x3e75], al
jmp 0x4d90b4
cmp eax, 0xfffffffe
jne 0x4d914e
lea eax, [ebp - 0x206b]
push str.Edit_outside_bounds_denied.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
jmp 0x4d74ee
cmp eax, 0xffffffff
jne case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_dungeon.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
jmp 0x4d74ee
cmp byte [ebp - 0xfaa], 0
je case.default.0x4d8614
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.004f2650
test eax, eax
js 0x4d919e
mov byte [ebp - 0x3e76], al
jmp 0x4d90b4
cmp eax, 0xfffffffe
je 0x4d9132
cmp eax, 0xffffffff
jne case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_dungeon.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
jmp 0x4d74ee
mov ecx, esi
call fcn.0044cdf0
cmp eax, 3
jne case.default.0x4d8614
lea ecx, [esi + 0x148]
call fcn.0051b140
cmp byte [ebp - 0xfab], 0
mov cx, word [ebp - 0xfaf]
mov ax, word [ebp - 0xfad]
mov word [ebp - 0x3e76], 0
mov byte [ebp - 0x3e74], 0
mov byte [ebp - 0x3e77], 0
mov word [ebp - 0x3e7b], cx
mov word [ebp - 0x3e79], ax
je 0x4d922e
mov al, byte [esi + 0x13c]
inc al
cmp al, 7
jmp 0x4d909b
cmp byte [ebp - 0xfa8], 0
je 0x4d9263
mov al, byte [esi + 0x13d]
inc al
mov byte [esi + 0x13d], al
cmp al, 8
jb 0x4d90ff
xor al, al
mov byte [esi + 0x13d], 0
inc al
mov byte [ebp - 0x3e74], al
jmp 0x4d90b4
cmp byte [ebp - 0xfa9], 0
je 0x4d92b8
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 1
call fcn.00536090
test eax, eax
js 0x4d928a
mov byte [ebp - 0x3e75], al
jmp 0x4d90b4
cmp eax, 0xfffffffe
je 0x4d9132
cmp eax, 0xffffffff
jne case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.That_would_close_off_parts_of_the_tower.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
jmp 0x4d74ee
cmp byte [ebp - 0xfaa], 0
je case.default.0x4d8614
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
push 0
call fcn.00536090
test eax, eax
js 0x4d928a
mov byte [ebp - 0x3e76], al
jmp 0x4d90b4
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d92f9
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f5c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f5b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f5a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f59], al
mov byte [ebp - 0x3f58], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d9383
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d9396
lea eax, [ebp - 0x3f5c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov ecx, eax
mov dword [ebp - 0x3e5c], ecx
test ecx, ecx
je case.0x4d34b5.2
mov edi, dword [ebp - 0x3e3c]
mov ecx, dword [edi + 0x110]
call fcn.0044e540
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4d93ee
mov eax, dword [ebp - 0xfaf]
cmp eax, dword [esi + 0x180]
je 0x4d9404
mov ecx, dword [edi + 0x110]
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4d93d5
jmp case.default.0x4d8614
lea eax, [ebp - 0x2420]
mov byte [ebp - 0x2420], 9
push eax
mov ecx, esi
call fcn.00475d40
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x2420]
mov eax, dword [ecx]
push edx
push 0x4d
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x3e40], ecx
imul eax, dword [esi + 0x188], 0x980
add eax, esi
cmp byte [eax + edi + 0x344], 0xff
je 0x4d9550
mov byte [ebp - 0x20ec], 0x3a
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x20eb], eax
lea eax, [ebp - 0x20df]
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.0044d2f0
imul eax, dword [esi + 0x188], 0x980
lea edx, [ebp - 0x3e4c]
add esp, 0x10
add eax, esi
push edx
push 0
lea edx, [ebp - 0x20ec]
mov al, byte [eax + edi + 0x345]
mov byte [ebp - 0x20e6], al
imul eax, dword [esi + 0x188], 0x980
push edx
push 0x1d
add eax, esi
mov al, byte [eax + edi + 0x344]
mov byte [ebp - 0x20e7], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
mov al, byte [eax + edi + 0x346]
mov byte [ebp - 0x20e5], al
imul eax, dword [esi + 0x188], 0x980
add eax, esi
movss xmm1, dword [eax + edi + 0x354]
divss xmm1, dword [0x5d95c4]
movzx eax, byte [eax + edi + 0x347]
movd xmm0, eax
mov eax, dword [ebp - 0x3e40]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 0x20e4], al
mov eax, dword [ebp - 0x3e3c]
addss xmm1, xmm0
movss dword [ebp - 0x20e3], xmm1
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x3e40]
inc ecx
add edi, 0x34
mov dword [ebp - 0x3e40], ecx
cmp edi, 0x68
jl 0x4d9442
push dword [ebp - 0x3e54]
mov edi, dword [ebp - 0x3e3c]
mov ecx, esi
push 0
push edi
call fcn.00474440
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044e540
test eax, eax
je case.default.0x4d8614
nop word [eax + eax]
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x4d95ce
push esi
push eax
lea eax, [ebp - 0x4224]
push eax
call fcn.004a4650
add esp, 0xc
lea edx, [ebp - 0x3e4c]
push edx
lea edx, [ebp - 0x4224]
jmp 0x4d964a
cmp ecx, 0xe
jne 0x4d9675
mov ecx, dword [eax + 0x11c]
lea edx, [ebp - 0x3e4c]
mov dword [ebp - 0x411b], eax
mov byte [ebp - 0x4120], 0x21
mov dword [ebp - 0x411f], 0x40800000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x4120]
mov al, byte [eax + eax*2 + 0x62d680]
mov byte [ebp - 0x4106], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x62d681]
mov byte [ebp - 0x4105], al
mov eax, dword [ecx]
mov al, byte [eax + eax*2 + 0x62d682]
mov byte [ebp - 0x4104], al
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x4117], eax
xor eax, eax
mov word [ebp - 0x4109], ax
mov byte [ebp - 0x4107], 0x80
mov ecx, dword [edi + 0x11c]
push 0
push edx
push 0x1d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044e5b0
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e4]
add ecx, 8
call fcn.0044e5f0
test eax, eax
jne 0x4d95a0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d96b1
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f64], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f63], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f62], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f61], al
mov byte [ebp - 0x3f60], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d973b
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d974e
lea eax, [ebp - 0x3f64]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [ebp - 0x3e3c]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.0051b340
mov esi, eax
test esi, esi
je 0x4d9aa2
nop dword [eax + eax]
mov ecx, esi
call fcn.0044cdf0
cmp eax, 4
jne case.default.0x4d97e4
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne case.default.0x4d97e4
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne case.default.0x4d97e4
movzx eax, byte [ebp - 0xfaf]
cmp eax, 3
ja case.default.0x4d97e4
jmp dword [eax*4 + 0x4dd638]
mov ecx, dword [ebp - 0x3e50]
push 1
push dword [ebp - 0x3e3c]
push esi
push edi
call fcn.004de7b0
jmp case.default.0x4d97e4
mov ecx, dword [ebp - 0x3e50]
push 0
push dword [ebp - 0x3e3c]
push esi
push edi
call fcn.004de7b0
jmp case.default.0x4d97e4
imul edx, dword [edi + 0x188], 0x980
mov ecx, dword [edx + edi + 0x2d8]
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x18]
test eax, eax
jg 0x4d9882
jl 0x4d9844
cmp esi, 0xb4
jae 0x4d9882
push str.You_dont_have_180_gold_for_healing.
lea eax, [ebp - 0x206b]
push eax
call fcn.00473380
mov eax, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d97e4
mov eax, dword [edx + edi + 0x2fc]
cmp eax, dword [edx + edi + 0x2f8]
jl 0x4d9899
push str.You_are_already_fully_healed.
jmp 0x4d9849
mov eax, dword [ecx + 0x1c]
sub esi, 0xb4
mov dword [ecx + 0x18], esi
sbb eax, 0
mov dword [ecx + 0x1c], eax
mov ecx, edi
call fcn.00482f00
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 - 0x3e40], 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 - 0x3e38], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x4d991c
mov dword [eax + edi + 0x2fc], ecx
mov byte [ebp - 0x4100], 0x26
lea edx, [ebp - 0x3e4c]
imul eax, dword [edi + 0x188], 0x980
push edx
push 0
lea edx, [ebp - 0x4100]
push edx
push 0xd
mov eax, dword [eax + edi + 0x2fc]
mov dword [ebp - 0x40fb], eax
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2f8]
mov dword [ebp - 0x40f7], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x40ff], eax
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push esi
lea eax, [ebp - 0x206b]
push str.You_are_healed_for__d_points.
push eax
call fcn.00473380
mov esi, dword [ebp - 0x3e3c]
lea edx, [ebp - 0x3e4c]
add esp, 0xc
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push 9
push esi
mov ecx, edi
call fcn.004742f0
push 0x5d7640
push str.healing.txt
call fcn.0056f120
mov esi, eax
lea eax, [ebp - 0x13b0]
push eax
call fcn.00596d1e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d350
lea eax, [ebp - 0x13b0]
push eax
call fcn.00596f5e
lea eax, [ebp - 0x13b0]
push eax
push str._s_
push esi
call fcn.0043d350
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x3e38]
push dword [ebp - 0x3e40]
add eax, 0x2a0
add eax, edi
push eax
push str._s___ld___ld_n
push esi
call fcn.0043d350
push esi
call fcn.0056ee32
add esp, 0x40
jmp case.default.0x4d97e4
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f78]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e50]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004e37f0
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x118]
call fcn.0051b3f0
mov esi, eax
test esi, esi
jne 0x4d97a0
mov ecx, dword [ebp - 0x3e3c]
call fcn.0044cdf0
cmp eax, 3
jne 0x4d9b34
cmp byte [ebp - 0xfaf], al
jne 0x4d9b34
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x3fcc]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004be820
test eax, eax
mov eax, dword [ebp - 0x3e3c]
je 0x4d9b3a
cmp dword [ebp - 0x3fcc], eax
jne 0x4d9b3a
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [edi + 0x14f78]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e50]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 1
call fcn.004e37f0
mov eax, dword [ebp - 0x3e3c]
mov ecx, eax
call fcn.0044cdf0
cmp eax, 3
jne case.default.0x4d8614
cmp byte [ebp - 0xfaf], 0
jne case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
lea eax, [ebp - 0x3fcc]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
call fcn.004be820
test eax, eax
je case.default.0x4d8614
mov eax, dword [ebp - 0x3e3c]
cmp dword [ebp - 0x3fcc], eax
jne case.default.0x4d8614
mov ecx, dword [ebp - 0x3e50]
push 1
push eax
push esi
push edi
call fcn.004de7b0
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
cmp dword [ebp - 0xfaf], 0xffffffff
jne case.default.0x4d8614
mov eax, dword [ebp - 0xfa9]
cmp eax, 0xfffffffe
jne 0x4d9cea
mov eax, dword [edi + 0x14f7c]
test eax, eax
je case.default.0x4d8614
lea ecx, [ebp - 0x41c8]
push ecx
push eax
mov ecx, esi
call fcn.004be520
mov dword [ebp - 0x3e38], eax
test eax, eax
je case.default.0x4d8614
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.0048dbf0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [edi + 0x14f74]
mov edx, dword [eax + edi + 0x2d8]
mov eax, dword [ecx + 0x18]
add dword [edx + 0x18], eax
mov eax, dword [ecx + 0x1c]
adc dword [edx + 0x1c], eax
mov edx, dword [ebp - 0xfa1]
mov ecx, dword [ebp - 0xfa5]
test edx, edx
jg 0x4d9c74
jl 0x4d9c5b
test ecx, ecx
jne 0x4d9c74
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e84], xmm0
mov edx, dword [ebp - 0x3e80]
mov ecx, dword [ebp - 0x3e84]
jmp 0x4d9c9f
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp edx, eax
jl 0x4d9c99
jg 0x4d9c95
cmp ecx, esi
jbe 0x4d9c99
mov ecx, esi
mov edx, eax
mov esi, dword [ebp - 0x3e50]
imul eax, dword [edi + 0x188], 0x980
push 9
push edi
mov eax, dword [eax + edi + 0x2d8]
sub dword [eax + 0x18], ecx
sbb dword [eax + 0x1c], edx
mov eax, dword [edi + 0x14f74]
mov dword [eax + 0x18], ecx
mov ecx, esi
mov dword [eax + 0x1c], edx
call fcn.004e37f0
push 8
push dword [ebp - 0x3e38]
mov ecx, esi
call fcn.004e37f0
push 1
mov ecx, esi
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
cmp eax, 0xfffffffd
jne case.default.0x4d8614
mov ecx, dword [ebp - 0xfa1]
mov edx, dword [ebp - 0xfa5]
test ecx, ecx
jl 0x4d9d48
jg 0x4d9d09
test edx, edx
jb 0x4d9d5e
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp ecx, eax
jl 0x4d9d2e
jg 0x4d9d2a
cmp edx, esi
jbe 0x4d9d2e
mov edx, esi
mov ecx, eax
mov eax, dword [edi + 0x14f78]
push ecx
push edx
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.0044e030
add esp, 0x10
mov ecx, eax
jmp 0x4d9da9
test edx, edx
jne 0x4d9d5e
cmp ecx, 0x80000000
jne 0x4d9d5e
or edx, 0xffffffff
mov ecx, closesocket
jmp 0x4d9d65
neg edx
adc ecx, 0
neg ecx
mov eax, dword [edi + 0x14f78]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
cmp ecx, eax
jl 0x4d9d7f
jg 0x4d9d7b
cmp edx, esi
jbe 0x4d9d7f
mov edx, esi
mov ecx, eax
imul eax, dword [edi + 0x188], 0x980
push ecx
push edx
mov eax, dword [eax + edi + 0x2d8]
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.0044e030
add esp, 0x10
mov ecx, eax
neg ecx
adc edx, 0
neg edx
imul eax, dword [edi + 0x188], 0x980
push 0xc
push edi
mov eax, dword [eax + edi + 0x2d8]
sub dword [eax + 0x18], ecx
sbb dword [eax + 0x1c], edx
mov eax, dword [edi + 0x14f78]
add dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x3e50]
adc dword [eax + 0x1c], edx
call fcn.004e37f0
mov ecx, dword [ebp - 0x3e50]
push 1
push edi
call fcn.004e37f0
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4d9e03
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f6c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f6b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f6a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f69], al
mov byte [ebp - 0x3f68], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4d9e8d
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4d9ea0
lea eax, [ebp - 0x3f6c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4d9f33
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x21c8], 0x17
push str.You_are_stunned__and_cannot_open_a_chest_
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x21c7]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x21c8]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2164], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
mov edi, dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.0044cdf0
cmp eax, 1
jne 0x4da037
mov ecx, dword [edi + 0x118]
push 0x3e8
push 0
push 0
call fcn.0051b340
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
cmp eax, 8
jne 0x4da01d
cmp dword [ebp - 0xfaf], esi
jne 0x4da01d
cmp byte [esi + 0x188], 0
jne 0x4d9fdf
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 - 0x3ff0]
mov byte [ebp - 0x3ff0], 0x33
push eax
push 6
mov dword [ebp - 0x3fef], esi
mov byte [ebp - 0x3feb], 1
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
push esi
mov ecx, edi
call fcn.004f26c0
jmp 0x4da012
lea eax, [ebp - 0x206b]
push str.The_chest_is_open_and_empty.
push eax
call fcn.00473380
mov ecx, dword [edi + 0x11c]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov ecx, dword [edi + 0x118]
call fcn.0051b680
mov ecx, dword [edi + 0x118]
call fcn.0051b3f0
mov esi, eax
test esi, esi
jne 0x4d9f67
jmp case.default.0x4d8614
lea eax, [ebp - 0x206b]
push str.You_cant_open_it.
push eax
call fcn.00473380
mov ecx, dword [edi + 0x11c]
jmp 0x4d74ee
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4da069
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f74], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f73], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f72], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f71], al
mov byte [ebp - 0x3f70], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da0f3
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4da106
lea eax, [ebp - 0x3f74]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4da199
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x23d0], 0x17
push str.You_are_stunned__and_cannot_talk_to_the_tree_
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x23cf]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x23d0]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x236c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push dword [ebp - 0x3e3c]
push edi
call fcn.004dee70
jmp case.default.0x4d8614
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4da1c9
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f7c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f7b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f7a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f79], al
mov byte [ebp - 0x3f78], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da253
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4da266
lea eax, [ebp - 0x3f7c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x3e85]
mov eax, dword [ecx]
push edx
push 1
mov eax, dword [eax + 4]
call eax
jmp case.0x4d34b5.2
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4da29d
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f84], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f83], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f82], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f81], al
mov byte [ebp - 0x3f80], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da327
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4da33a
lea eax, [ebp - 0x3f84]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
mov dword [ebp - 0x3e5c], edi
call fcn.0044d4b0
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044d350
lea eax, [ebp - 0xfaf]
push 1
push eax
call fcn.0044d1b0
add esp, 0x14
test edi, edi
je case.default.0x4d8614
cmp byte [ebp - 0xfaf], 0
je case.default.0x4d8614
imul esi, dword [edi + 0x188], 0x980
cmp byte [esi + edi + 0x344], 0xff
je 0x4da4a7
lea eax, [edi + 0x334]
add eax, esi
cmp byte [eax], 0
je 0x4da3f5
mov ecx, str.Pet_A
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da3e0
test dl, dl
je 0x4da3dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da3e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da3c0
xor eax, eax
jmp 0x4da3e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4da4a7
lea eax, [edi + 0x334]
add eax, esi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d2f0
mov byte [ebp - 0x20cc], 0x3a
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x20cb], eax
lea eax, [ebp - 0x20bf]
push 0x10
push eax
lea eax, [edi + 0x334]
add eax, esi
push 0x10
push eax
call fcn.0044d2f0
mov al, byte [esi + edi + 0x345]
add esp, 0x20
mov byte [ebp - 0x20c6], al
mov al, byte [esi + edi + 0x344]
mov byte [ebp - 0x20c7], al
mov al, byte [esi + edi + 0x346]
mov byte [ebp - 0x20c5], al
movss xmm1, dword [esi + edi + 0x354]
divss xmm1, dword [0x5d95c4]
movzx eax, byte [esi + edi + 0x347]
mov ecx, dword [ebp - 0x3e3c]
push 0
push 5
mov byte [ebp - 0x20c4], 0
movd xmm0, eax
lea eax, [ebp - 0x20cc]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x20c3], xmm1
jmp 0x4d90c3
cmp byte [esi + edi + 0x378], 0xff
je case.default.0x4d8614
lea eax, [edi + 0x368]
add eax, esi
cmp byte [eax], 0
je 0x4da4fc
mov ecx, str.Pet_B
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4da4e7
test dl, dl
je 0x4da4e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4da4e7
add eax, 2
add ecx, 2
test dl, dl
jne 0x4da4c7
xor eax, eax
jmp 0x4da4ec
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4d8614
lea eax, [edi + 0x368]
add eax, esi
push 0x10
push eax
lea eax, [ebp - 0xfaf]
push 0x10
push eax
call fcn.0044d2f0
mov byte [ebp - 0x210c], 0x3a
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x210b], eax
lea eax, [ebp - 0x20ff]
push 0x10
push eax
lea eax, [edi + 0x368]
add eax, esi
push 0x10
push eax
call fcn.0044d2f0
mov al, byte [esi + edi + 0x379]
add esp, 0x20
mov byte [ebp - 0x2106], al
mov al, byte [esi + edi + 0x378]
mov byte [ebp - 0x2107], al
mov al, byte [esi + edi + 0x37a]
mov byte [ebp - 0x2105], al
movss xmm1, dword [esi + edi + 0x388]
divss xmm1, dword [0x5d95c4]
movzx eax, byte [esi + edi + 0x37b]
mov ecx, dword [ebp - 0x3e3c]
push 0
push 5
mov byte [ebp - 0x2104], 1
movd xmm0, eax
lea eax, [ebp - 0x210c]
cvtdq2ps xmm0, xmm0
push eax
push 0x1d
addss xmm1, xmm0
movss dword [ebp - 0x2103], xmm1
jmp 0x4d90c3
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4da5c4
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f8c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f8b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f8a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f89], al
mov byte [ebp - 0x3f88], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da64e
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4da661
lea eax, [ebp - 0x3f8c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4da6f4
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2298], 0x17
push str.You_are_stunned__and_cannot_feed_your_pet_
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2297]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2298]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2234], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
push dword [ebp - 0x3e3c]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004dd650
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je 0x4da751
cmp dword [edi + 0x14f34], 1
jne 0x4da751
push dword [ebp - 0x3e3c]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004beb60
jmp case.default.0x4d8614
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle case.default.0x4d8614
mov al, byte [ebp - 0xfaf]
cmp al, 5
je 0x4da773
cmp al, 4
jne case.default.0x4d8614
push dword [ebp - 0x3e3c]
lea eax, [ebp - 0xfb0]
mov ecx, esi
push edi
push eax
call fcn.004beb60
jmp case.default.0x4d8614
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4da7a3
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f94], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f93], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f92], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f91], al
mov byte [ebp - 0x3f90], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da82d
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4da840
lea eax, [ebp - 0x3f94]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
push 5
mov dword [ebp - 0x3e5c], edi
call fcn.0055f3ea
mov edx, eax
add esp, 4
mov dword [ebp - 0x3e80], edx
test edx, edx
je 0x4da877
mov byte [edx], 0x3f
jmp 0x4da879
xor edx, edx
test edi, edi
je case.default.0x4d8614
cmp byte [edi + 0x14fb8], 0
je case.default.0x4d8614
mov eax, dword [edi + 0x238]
mov dword [edx + 1], eax
mov ecx, dword [esi + 0x34]
lea esi, [ebp - 0x3e4c]
push esi
push 0
push edx
mov eax, dword [ecx]
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [ebp - 0xfaf]
mov dword [edi + 0x238], eax
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4da8f8
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3f9c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3f9b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3f9a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3f99], al
mov byte [ebp - 0x3f98], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4da9a1
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
lea edx, [ebp - 0x3e4c]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3f9c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0xfb0]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov ecx, dword [ebp - 0x3e3c]
push 1
push dword [ebp - 0xfae]
mov ecx, dword [ecx + 0x118]
call fcn.0051b490
mov esi, eax
test esi, esi
je case.default.0x4d8614
mov ecx, dword [esi + 0x108]
cmp ecx, dword [edi + 0x108]
jne case.default.0x4d8614
mov ecx, dword [esi + 0x10c]
cmp ecx, dword [edi + 0x10c]
jne case.default.0x4d8614
mov ecx, esi
call fcn.0044cdf0
cmp eax, 2
jne case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
mov eax, dword [esi + 0x180]
mov dword [ecx + 0x20], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [ebp - 0x3e50]
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x24], 0
movzx eax, byte [ebp - 0xfaf]
push eax
push esi
push edi
call fcn.004ddd80
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov al, byte [ebp - 0xfaf]
test al, al
je 0x4daade
cmp al, 3
jne 0x4daade
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4daaf0
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.00473b80
jmp case.default.0x4d8614
mov dword [edi + 0x14f80], 1
mov eax, dword [edi + 0x14f7c]
test eax, eax
je case.default.0x4d8614
lea ecx, [ebp - 0x41c4]
push ecx
push eax
mov ecx, esi
call fcn.004be520
test eax, eax
je case.default.0x4d8614
cmp dword [eax + 0x14f80], 0
je case.default.0x4d8614
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.00481400
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
lea eax, [ebp - 0xfb0]
mov ecx, esi
push eax
push edi
call fcn.004d2640
jmp case.default.0x4d8614
mov eax, dword [str.Simple_avatars_OFF]
mov dword [0x635224], eax
lea eax, [ebp - 0xfaf]
push eax
call fcn.0044ca60
add esp, 4
mov ecx, esi
push dword [ebp - 0x3e54]
call fcn.004bea00
mov dword [ebp - 0x3e5c], eax
jmp case.0x4d34b5.2
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4dabbd
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3fa4], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3fa3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3fa2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e58], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3fa1], al
mov byte [ebp - 0x3fa0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dac47
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e58]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dac5a
lea eax, [ebp - 0x3fa4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
movss xmm0, dword [edi + 0x170]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4daced
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2300], 0x17
push str.You_are_stunned__and_cant_do_that_
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x22ff]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2300]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x229c], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
xor esi, esi
mov dword [ebp - 0x3e68], esi
mov eax, dword [eax + edi + 0x2d8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x3e58], eax
call fcn.0044e540
mov esi, eax
mov dword [ebp - 0x3e6c], esi
test esi, esi
je case.default.0x4d8614
nop word [eax + eax]
cmp dword [ebp - 0xfaf], esi
jne 0x4dcd1e
mov eax, dword [esi + 0x110]
cmp eax, 0xd
jne 0x4daf3d
cmp byte [edi + 0x14fb9], 0
je 0x4dad6c
imul eax, dword [edi + 0x188], 0x980
cmp dword [eax + edi + 0x2f0], 0xa
jl 0x4dcd3e
mov eax, dword [esi + 0x11c]
push 0x1a0
mov dword [ebp - 0x3e40], eax
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41c0], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4dad9f
push edi
mov ecx, eax
call fcn.00493820
mov esi, eax
jmp 0x4dada1
xor esi, esi
mov eax, dword [edi + 0x108]
mov ecx, dword [ebp - 0x3e40]
mov dword [esi + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [esi + 0x10c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x184], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x188], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x18c], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x190], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x194], eax
mov eax, dword [ecx]
mov byte [ebp - 4], 0
mov dword [esi + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e40]
imul ecx, dword [ecx + 0xc], 0x3e8
add eax, ecx
mov dword [esi + 0x198], eax
call fcn.0056eac9
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x3e40]
divss xmm0, dword [0x5d95d0]
addss xmm0, xmm1
comiss xmm0, dword [eax + 4]
jbe 0x4dae46
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x198], eax
mov ecx, dword [ebp - 0x3e3c]
push esi
mov ecx, dword [ecx + 0x118]
call fcn.0051b320
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x13b0]
push str._s_sets_a_bomb_
push eax
call fcn.00473350
push 0x64
lea eax, [ebp - 0x206b]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
mov ecx, dword [ebp - 0x3e3c]
lea eax, [ebp - 0x206c]
add esp, 0x1c
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00531c80
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
mov ecx, dword [ebp - 0x3e3c]
mov byte [ebp - 0x3fe8], 0x18
mov eax, dword [esi + 4]
mov dword [ebp - 0x3fe7], eax
xor eax, eax
mov dword [ebp - 0x3fe2], eax
mov byte [ebp - 0x3fde], al
mov byte [ebp - 0x3fe3], 0xc
mov al, byte [esi + 0x108]
mov byte [ebp - 0x3fdd], al
mov al, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x3fdc], al
lea eax, [ebp - 0x3fe8]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00531c80
jmp 0x4dcd1e
cmp eax, 3
jne 0x4dc2c5
mov esi, dword [esi + 0x11c]
mov eax, dword [esi]
test eax, eax
je 0x4dbee0
cmp eax, 1
je 0x4dbee0
cmp eax, 2
jne 0x4db36d
lea eax, [ebp - 0x40a4]
push eax
push dword [esi + 4]
mov esi, dword [ebp - 0x3e50]
mov ecx, esi
call fcn.004be980
test eax, eax
je 0x4dc2a9
imul eax, dword [edi + 0x188], 0x980
mov eax, dword [eax + edi + 0x2d8]
mov dword [eax + 0x20], 0
cmp dword [edi + 0x14f70], 0
je 0x4db086
cmp dword [edi + 0x184], 0
jne 0x4db086
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
mov byte [ebp - 0x4160], 0x3e
cmp ecx, eax
je 0x4dafd6
mov dword [ebp - 0x3e48], ecx
mov edx, dword [edi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3fac], dl
sar eax, 8
mov byte [ebp - 0x3fab], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3faa], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3fa9], al
mov byte [ebp - 0x3fa8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4db03a
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 - 0x3e48], 5
jmp 0x4db04d
lea eax, [ebp - 0x3fac]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov byte [ebp - 0x415f], 2
lea edx, [ebp - 0x3e4c]
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x4160]
mov eax, dword [ecx]
push edx
push 0xa
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle 0x4db086
mov dword [edi + 0x184], 1
mov esi, dword [ebp - 0x3e3c]
mov ecx, edi
push 6
push esi
call fcn.00474120
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4db0ac
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3fb4], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3fb3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3fb2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e68], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3fb1], al
mov byte [ebp - 0x3fb0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4db136
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e68]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4db149
lea eax, [ebp - 0x3fb4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
cmp dword [edi + 0x14f70], 0
je 0x4db19e
push 0
mov byte [ebp - 0x407c], 0x23
lea ecx, [ebp - 0x407c]
mov eax, dword [edi + 0x14f70]
push 5
mov dword [ebp - 0x407b], eax
mov eax, dword [edi + 0x14f70]
push ecx
push 5
mov ecx, esi
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.00531c80
push dword [edi + 0x14f70]
mov ecx, dword [esi + 0x118]
call fcn.0051b5d0
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044e730
mov esi, dword [ebp - 0x40a4]
mov dword [edi + 0x110], 4
mov dword [edi + 0x108], 4
mov dword [edi + 0x114], 4
mov dword [edi + 0x10c], 4
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044e390
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4db241
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x110], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [ecx + 0x110]
mov dword [ecx + 0x108], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x114], eax
mov ecx, dword [edi + 0x14f70]
mov eax, dword [ecx + 0x114]
mov dword [ecx + 0x10c], eax
push dword [edi + 0x14f70]
mov ecx, dword [esi + 0x118]
call fcn.0051b320
mov ecx, dword [ebp - 0x3e3c]
mov byte [ebp - 0x40cd], 0
mov byte [ebp - 0x40dc], 0x2b
mov dword [ebp - 0x40d1], esi
call fcn.0044cdf0
mov ecx, esi
mov byte [ebp - 0x40db], al
call fcn.0044cdf0
mov byte [ebp - 0x40da], al
lea edx, [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e50]
mov dword [ebp - 0x40d9], 5
mov dword [ebp - 0x40d5], 5
mov dword [ebp - 0x40cc], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x40dc]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov ecx, esi
mov byte [ebp - 0x2488], 0x17
call fcn.0044ce00
push eax
lea eax, [ebp - 0x13b0]
push str.You_enter_the_guild_tower_of__s.
push eax
call fcn.00473350
push 0x64
lea eax, [ebp - 0x2487]
push eax
lea eax, [ebp - 0x13b0]
push 0x400
push eax
call fcn.0044d2f0
mov eax, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
add esp, 0x1c
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x2488]
mov eax, dword [ecx]
push edx
push 0x65
mov eax, dword [eax + 4]
call eax
push esi
push dword [ebp - 0x3e3c]
mov ecx, edi
call fcn.0048c3f0
lea ecx, [esi + 0x148]
call fcn.0051b140
push 6
push esi
mov ecx, edi
call fcn.00484200
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4db345
push esi
call fcn.00499490
push 0
push 1
push esi
mov ecx, edi
call fcn.00492b40
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp eax, 3
jne 0x4dc2a9
mov esi, dword [ebp - 0x3e3c]
xor eax, eax
push eax
push dword [edi + 0x10c]
mov dword [ebp - 0x3e40], eax
push dword [edi + 0x108]
mov ecx, dword [esi + 0x118]
call fcn.0051b340
test eax, eax
je 0x4db4e1
mov ecx, eax
call fcn.0044cdf0
cmp eax, 2
jne 0x4db4a4
mov eax, dword [ebp - 0x3e48]
mov ecx, dword [ebp - 0x3e4c]
cmp ecx, eax
je 0x4db3ca
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3fbc], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3fbb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3fba], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e68], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3fb9], al
mov byte [ebp - 0x3fb8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4db454
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e68]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4db467
lea eax, [ebp - 0x3fbc]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
lea eax, [ebp - 0x206b]
push str.Theres_already_a_merchant_in_your_square.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x206c]
mov eax, dword [eax + 4]
push edx
push 0x65
call eax
mov dword [ebp - 0x3e40], 1
mov ecx, dword [esi + 0x118]
call fcn.0051b3f0
test eax, eax
jne 0x4db3a4
cmp dword [ebp - 0x3e40], eax
je 0x4db4e1
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
inc dword [eax + 0x118]
call fcn.0044e5b0
jmp 0x4dcd1e
push 0x990
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41bc], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4db50d
push 2
mov ecx, eax
call fcn.004a2050
mov dword [ebp - 0x3e68], eax
jmp 0x4db517
mov dword [ebp - 0x3e68], 0
mov eax, str.Mangel
mov byte [ebp - 4], 0
mov dword [ebp - 0x3e40], 0
mov dword [ebp - 0x3e38], eax
push eax
lea eax, [ebp - 0x1ab0]
push str._s_Recall
push eax
call fcn.0043d380
push 0x120
call fcn.0055f3ea
add esp, 0x10
mov dword [ebp - 0x41b4], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4db573
lea ecx, [ebp - 0x1ab0]
push ecx
push 0
push 3
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4db575
xor esi, esi
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e40]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0x447a0000
call fcn.0056eac9
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x3e68]
add edx, 0x14
mov dword [esi + 0x118], edx
push esi
mov ecx, dword [eax + 0x180]
call fcn.005137e0
mov eax, dword [ebp - 0x3e38]
inc dword [ebp - 0x3e40]
add eax, 0x50
mov dword [ebp - 0x3e38], eax
cmp eax, str.Dirk
jl 0x4db530
mov edi, dword [ebp - 0x3e68]
xor esi, esi
call fcn.0056eac9
cdq
mov ecx, 0xc
idiv ecx
push 0x120
mov dword [ebp - 0x3e40], edx
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41b0], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4db63a
push str.Unnamed_Totem
push 0
push 2
mov ecx, eax
call fcn.00512b90
mov edx, eax
mov dword [ebp - 0x3e38], eax
jmp 0x4db642
xor edx, edx
mov dword [ebp - 0x3e38], edx
mov eax, dword [edx + 0x11c]
mov ecx, dword [ebp - 0x3e40]
mov byte [ebp - 4], 0
mov dword [eax], ecx
mov ecx, esi
imul ecx, esi
mov dword [eax + 4], esi
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 esi, 0xc
jbe 0x4db6b1
lea eax, [esi*8]
sub eax, esi
lea eax, [eax*2 + 0x640]
imul eax, esi
sub eax, 0x4aff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x10c], xmm0
push edx
mov dword [edx + 0x118], 0xa
call fcn.00535a30
mov ecx, dword [edi + 0x180]
add esp, 4
push dword [ebp - 0x3e38]
call fcn.005137e0
inc esi
cmp esi, 0x11
jl 0x4db5f2
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41ac], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4db70e
push str.Charcoal_Brick
push 0
push 0xb
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4db710
xor esi, esi
mov eax, dword [esi + 0x11c]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0x3f800000
mov dword [esi + 0x10c], 0x41200000
call fcn.0056eac9
cdq
mov ecx, 0x1e
idiv ecx
push esi
add edx, 0x2bc
mov dword [esi + 0x118], edx
mov esi, dword [ebp - 0x3e68]
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41a8], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4db791
push str.Twisted_Paper
push 0
push 0xc
mov ecx, eax
call fcn.00512b90
mov ecx, eax
mov dword [ebp - 0x3e38], eax
jmp 0x4db799
xor ecx, ecx
mov dword [ebp - 0x3e38], 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.0056eac9
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e38]
add edx, 0x2bc
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x41a4], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4db812
push str.Ancient_Dragonscale
push 0
push 0
mov ecx, eax
call fcn.00512b90
jmp 0x4db814
xor eax, eax
mov dword [ebp - 0x3e38], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x47c35000
call fcn.0056eac9
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e38]
add edx, 0x28
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x419c], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4db87d
push str.Dragon_Orchid
push 0
push 0
mov ecx, eax
call fcn.00512b90
jmp 0x4db87f
xor eax, eax
mov dword [ebp - 0x3e38], eax
mov byte [ebp - 4], 0
mov dword [eax + 0x10c], 0x461c4000
call fcn.0056eac9
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebp - 0x3e38]
add edx, 0x32
push eax
mov dword [eax + 0x118], edx
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4198], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4db8e8
push str.Demon_Amulet
push 0
push 0
mov ecx, eax
call fcn.00512b90
jmp 0x4db8ea
xor eax, eax
mov dword [eax + 0x10c], 0x47435000
mov dword [eax + 0x118], 0x14
mov ecx, dword [esi + 0x180]
push eax
mov byte [ebp - 4], 0
call fcn.005137e0
mov dword [ebp - 0x3e38], 0
mov dword [ebp - 0x3e40], 0x1f4
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4194], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x4db951
push str.Unnamed_Staff
push 0
push 0xe
mov ecx, eax
call fcn.00512b90
mov esi, eax
jmp 0x4db953
xor esi, esi
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e38]
mov byte [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], ecx
inc ecx
mov eax, ecx
mov dword [esi + 0x108], 0
imul eax, dword [ebp - 0x3e40]
mov dword [ebp - 0x3e38], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10c], xmm0
call fcn.0056eac9
mov ecx, 0xa
cdq
idiv ecx
push ecx
inc edx
mov dword [esp], 0
push esi
mov dword [esi + 0x118], edx
call fcn.005335c0
add esp, 8
push esi
mov esi, dword [ebp - 0x3e68]
mov ecx, dword [esi + 0x180]
call fcn.005137e0
mov eax, dword [ebp - 0x3e40]
add eax, 0x1f4
mov dword [ebp - 0x3e40], eax
cmp eax, 0x7d0
jl 0x4db922
mov eax, str.Plain
mov edi, 1
mov dword [ebp - 0x3e38], eax
nop dword [eax + eax]
push eax
lea eax, [ebp - 0x1ab0]
push str._s_Bead
push eax
call fcn.0043d380
push 0x120
call fcn.0055f3ea
add esp, 0x10
mov dword [ebp - 0x418c], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x4dba43
lea ecx, [ebp - 0x1ab0]
push ecx
push 0
push 0x10
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dba45
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
xor edx, edx
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [eax], 0
mov byte [ebp - 4], 0
movss dword [eax + 4], xmm0
mov eax, edi
imul eax, edi
mov dword [ecx + 0x108], 0
imul eax, eax, 0x3e8
movd xmm0, eax
mov eax, 0x190
div edi
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x10c], xmm0
mov dword [ecx + 0x118], eax
mov ecx, dword [esi + 0x180]
call fcn.005137e0
mov eax, dword [ebp - 0x3e38]
inc edi
add eax, 0x20
mov dword [ebp - 0x3e38], eax
cmp eax, str.Fiery
jl 0x4dba00
mov edi, dword [ebp - 0x3e5c]
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4190], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x4dbaf0
push str.Tin_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbaf2
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x3f800000
mov dword [eax + 0x10], 0x3f800000
mov dword [eax], 0x80
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x3f800000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4188], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x4dbb77
push str.Aluminum_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbb79
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40000000
mov dword [eax + 0x10], 0x40000000
mov dword [eax], 0xa8
mov dword [eax + 4], 0xa8
mov dword [eax + 8], 0xa8
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x40a00000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4184], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x4dbbfe
push str.Steel_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbc00
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40400000
mov dword [eax + 0x10], 0x40400000
mov dword [eax], 0xe4
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x41700000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4180], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x4dbc85
push str.Carbon_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbc87
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40800000
mov dword [eax + 0x10], 0x40800000
mov dword [eax], 0x80
mov dword [eax + 4], 0x80
mov dword [eax + 8], 0xe4
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x42480000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x417c], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4dbd0c
push str.Zinc_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbd0e
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40a00000
mov dword [eax + 0x10], 0x40a00000
mov dword [eax], 0x80
mov dword [eax + 4], 0xe4
mov dword [eax + 8], 0x80
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x437a0000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4178], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4dbd93
push str.Adamantium_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbd95
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40c00000
mov dword [eax + 0x10], 0x40c00000
mov dword [eax], 0x1c
mov dword [eax + 4], 0x1c
mov dword [eax + 8], 0x30
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
push 0x120
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4170], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4dbe1a
push str.Mithril_Ingot
push 0
push 4
mov ecx, eax
call fcn.00512b90
mov ecx, eax
jmp 0x4dbe1c
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax + 0xc], 0x40e00000
mov dword [eax + 0x10], 0x40e00000
mov dword [eax], 0xe4
mov dword [eax + 4], 0xe4
mov dword [eax + 8], 0xe4
mov dword [ecx + 0x108], 0x3f800000
mov dword [ecx + 0x10c], 0x461c4000
mov dword [ecx + 0x118], 0x190
mov ecx, dword [esi + 0x180]
call fcn.005137e0
mov dword [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov eax, dword [edi + 0x108]
mov dword [esi + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [esi + 0x10c], eax
push esi
mov esi, dword [ebp - 0x3e3c]
mov ecx, dword [esi + 0x118]
call fcn.0051b320
push esi
push dword [edi + 0x10c]
mov ecx, edi
push dword [edi + 0x108]
call fcn.00483390
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp dword [edi + 0x14f70], 0
je 0x4dbfcd
cmp dword [edi + 0x184], 0
jne 0x4dbfcd
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
mov byte [ebp - 0x416c], 0x3e
cmp ecx, eax
je 0x4dbf17
mov dword [ebp - 0x3e48], ecx
mov edx, dword [edi + 0x180]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3fc4], dl
sar eax, 8
mov byte [ebp - 0x3fc3], al
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3fc2], al
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3fc1], al
mov byte [ebp - 0x3fc0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dbf7b
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 - 0x3e48], 5
jmp 0x4dbf8e
lea eax, [ebp - 0x3fc4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov eax, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e4c]
mov byte [ebp - 0x416b], 2
push edx
push 0
mov ecx, dword [eax + 0x34]
lea edx, [ebp - 0x416c]
push edx
push 0xa
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, edi
call fcn.00475b10
cmp eax, 9
jle 0x4dbfcd
mov dword [edi + 0x184], 1
push dword [ebp - 0x3e54]
mov ecx, dword [ebp - 0x3e50]
push 0
call fcn.004e8940
cmp dword [edi + 0x14f70], 0
je 0x4dc03f
push 0
mov byte [ebp - 0x4084], 0x23
lea ecx, [ebp - 0x4084]
mov eax, dword [edi + 0x14f70]
push 5
mov dword [ebp - 0x4083], eax
mov eax, dword [edi + 0x14f70]
push ecx
mov ecx, dword [ebp - 0x3e3c]
push 5
push dword [eax + 0x10c]
push dword [eax + 0x108]
push 0
call fcn.00531c80
mov eax, dword [ebp - 0x3e3c]
push dword [edi + 0x14f70]
mov ecx, dword [eax + 0x118]
call fcn.0051b5d0
push 0
push 0
mov ecx, edi
call fcn.0048c3f0
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dc060
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3e9c], dl
shr eax, 8
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3e9b], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3e9a], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e68], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3e99], al
mov byte [ebp - 0x3e98], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dc0ea
mov eax, dword [ebp - 0x3e38]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e68]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dc0fd
lea eax, [ebp - 0x3e9c]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov ecx, dword [ebp - 0x3e3c]
mov byte [ebp - 0x40f0], 0x2b
call fcn.0044cdf0
mov byte [ebp - 0x40ef], al
lea edx, [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e50]
mov byte [ebp - 0x40ee], 0
mov dword [ebp - 0x40ed], 0x100
mov dword [ebp - 0x40e9], 0x100
mov dword [ebp - 0x40e0], 0
mov byte [ebp - 0x40e1], 0
mov ecx, dword [eax + 0x34]
push edx
push 0
lea edx, [ebp - 0x40f0]
mov eax, dword [ecx]
push edx
push 0x14
mov eax, dword [eax + 4]
call eax
mov eax, dword [esi]
test eax, eax
jne 0x4dc223
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182f8]
mov dword [edi + 0x110], eax
mov dword [edi + 0x108], eax
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182fc]
mov dword [edi + 0x114], eax
mov dword [edi + 0x10c], eax
mov eax, dword [esi + 4]
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182f8]
mov dword [ecx + edi + 0x310], eax
mov eax, dword [esi + 4]
imul ecx, dword [edi + 0x188], 0x980
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182fc]
mov dword [ecx + edi + 0x314], eax
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4dc274
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182f8]
mov dword [ecx + 0x108], eax
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x14f70]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x6182fc]
mov dword [ecx + 0x10c], eax
jmp 0x4dc274
cmp eax, 1
jne 0x4dc274
cmp dword [esi + 4], eax
mov edx, 0x5a
mov esi, 0xdc
mov ecx, 0x35
cmovne edx, esi
cmovne ecx, esi
mov dword [edi + 0x110], edx
mov dword [edi + 0x108], edx
mov dword [edi + 0x114], ecx
mov dword [edi + 0x10c], ecx
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x4dc274
mov dword [eax + 0x108], edx
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x10c], ecx
mov esi, dword [ebp - 0x3e50]
push 0
mov ecx, dword [esi + 0x48]
call fcn.0044e420
mov ecx, dword [edi + 0x14f70]
test ecx, ecx
je 0x4dc29a
push ecx
mov ecx, dword [eax + 0x118]
call fcn.0051b320
push dword [ebp - 0x3e54]
mov ecx, esi
push 1
call fcn.004e8940
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp eax, 0x11
je 0x4dc8b4
cmp eax, 0x14
je 0x4dc8b4
cmp eax, 0x12
je 0x4dc74a
cmp eax, 0x13
je 0x4dc74a
cmp eax, 0x15
jne 0x4dcd1e
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e4c]
mov dword [ebp - 0x3e38], eax
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dc314
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ea4], dl
shr eax, 8
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ea3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e70], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3ea2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e80], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ea1], al
mov byte [ebp - 0x3ea0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dc39e
mov eax, dword [ebp - 0x3e40]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e70]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e80]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dc3b1
lea eax, [ebp - 0x3ea4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov eax, dword [ebp - 0x3e50]
mov byte [ebp - 0x3fd0], 0
mov ecx, dword [eax + 0x48]
call fcn.0044e540
cmp dword [ebp - 0x3e3c], eax
jne 0x4dcdd4
mov ecx, 0x6182fc
mov esi, 1
nop dword [eax]
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4dc417
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x3fd0]
cmp eax, 3
movzx edx, dl
cmovle edx, esi
mov dword [ebp - 0x3fd0], edx
jmp 0x4dc41d
mov edx, dword [ebp - 0x3fd0]
add ecx, 0x50
cmp ecx, 0x618a7c
jl 0x4dc3e0
mov esi, dword [ebp - 0x3e3c]
test dl, dl
je 0x4dcdd4
cmp dword [edi + 0x14f70], 0
jne 0x4dcda3
mov edx, dword [ebp - 0x3e38]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x3e70], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x3e80], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x3e40], xmm0
imul eax, eax, 0x64
cmp byte [eax + str.Ghost], 0
je 0x4dc898
push 0x2c8
call fcn.0055f3ea
add esp, 4
mov dword [ebp - 0x4174], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4dc4b7
push 0
push 0
push dword [ebp - 0x3e80]
mov ecx, eax
push dword [ebp - 0x3e70]
call fcn.00498ca0
mov dword [ebp - 0x3e68], eax
jmp 0x4dc4c1
mov dword [ebp - 0x3e68], 0
lea eax, [ebp - 0x13b0]
mov byte [ebp - 4], 0
push eax
mov eax, dword [ebp - 0x3e6c]
add eax, 8
push str._s____n_
push eax
call fcn.0043dd20
lea eax, [ebp - 0x13b0]
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x1eb0]
push str._ss__s
push eax
call fcn.0043d380
mov eax, dword [ebp - 0x3e68]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x1eb0]
push 0x400
push eax
call fcn.0044d2f0
mov ecx, dword [ebp - 0x3e68]
add esp, 0x2c
mov edx, dword [ebp - 0x3e38]
movss xmm0, dword [ebp - 0x3e40]
mov byte [ecx + 0x1dd], 1
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x10c], eax
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x110], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x114], eax
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x22c], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x1b4], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x1bc], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1ac], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x1b0], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1b8], eax
mov al, byte [edx + 0x27]
mov byte [ecx + 0x1a7], al
mov al, byte [edx + 0x26]
mov byte [ecx + 0x1a6], al
mov al, byte [edx + 0x25]
mov byte [ecx + 0x1a5], al
mov al, byte [edx + 0x24]
mov byte [ecx + 0x1a4], al
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x1a8], eax
movss dword [ecx + 0x1f4], xmm0
push ecx
mov ecx, dword [esi + 0x118]
call fcn.0051b320
mov ecx, dword [ebp - 0x3e68]
mov dword [ecx + 0x120], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x3e68]
sub eax, 0x2710
mov dword [ecx + 0x118], eax
mov byte [ebp - 0x405c], 0x18
mov dword [ebp - 0x405b], ecx
call fcn.0044cdf0
mov ecx, dword [ebp - 0x3e68]
mov byte [ebp - 0x4057], al
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x4056], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x4054], ax
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x4051], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x4050], al
lea eax, [ebp - 0x405c]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.00531c80
mov ecx, dword [ebp - 0x3e68]
push esi
call fcn.00499490
mov ecx, dword [ebp - 0x3e68]
mov byte [ebp - 0x4018], 0x38
mov dword [ebp - 0x4017], 0xffffffff
mov dword [ebp - 0x4013], 0xffffffff
mov al, byte [ecx + 0x108]
mov byte [ebp - 0x400f], al
mov al, byte [ecx + 0x10c]
push 0
push 5
mov byte [ebp - 0x400e], al
lea eax, [ebp - 0x4018]
push eax
push 0x11
mov word [ebp - 0x400d], 0xff
mov dword [ebp - 0x400b], 0x100ff
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.00531c80
mov eax, dword [ebp - 0x3e68]
mov ecx, dword [ebp - 0x3e58]
mov dword [edi + 0x14f70], eax
mov dword [eax + 0x21c], edi
mov eax, dword [ebp - 0x3e6c]
mov dword [edi + 0x184], 1
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e4c]
mov dword [ebp - 0x3e38], eax
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dc76c
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3eac], dl
shr eax, 8
mov dword [ebp - 0x3e80], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3eab], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e70], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eaa], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e40], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ea9], al
mov byte [ebp - 0x3ea8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dc7f6
mov eax, dword [ebp - 0x3e80]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e70]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e40]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dc809
lea eax, [ebp - 0x3eac]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov esi, dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4dc885
xor esi, esi
mov ecx, 0x6182fc
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4dc84c
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle esi, eax
add ecx, 0x50
cmp ecx, 0x618a7c
jl 0x4dc821
test esi, esi
jne 0x4dc863
push dword [ebp - 0x3e3c]
jmp 0x4dc886
push str.Please_leave_town_first._:_
lea eax, [ebp - 0x206b]
push eax
call fcn.00473380
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x11c]
jmp 0x4dcd02
push esi
push dword [ebp - 0x3e38]
mov ecx, dword [ebp - 0x3e50]
push edi
call fcn.004cf1d0
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
mov eax, dword [esi + 0x11c]
mov ecx, dword [ebp - 0x3e4c]
mov dword [ebp - 0x3e40], eax
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dc8d6
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3eb4], dl
shr eax, 8
mov dword [ebp - 0x3e80], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3eb3], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e70], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eb2], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3eb1], al
mov byte [ebp - 0x3eb0], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dc960
mov eax, dword [ebp - 0x3e80]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e70]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e38]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dc973
lea eax, [ebp - 0x3eb4]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov esi, dword [ebp - 0x3e3c]
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4dcceb
cmp dword [esi + 0x124], eax
jne 0x4dcceb
xor esi, esi
mov ecx, 0x6182fc
nop dword [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4dc9cb
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
mov eax, 1
cmovle esi, eax
add ecx, 0x50
cmp ecx, 0x618a7c
jl 0x4dc9a0
test esi, esi
jne 0x4dcce1
mov eax, dword [ebp - 0x3e6c]
cmp dword [eax + 0x110], 0x11
jne 0x4dc9f4
push 1
jmp 0x4dccb0
mov esi, dword [ebp - 0x3e40]
cmp dword [esi + 0x10], 0xffffffff
jle 0x4dca2f
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
mov eax, dword [esi + 0xc]
cmp eax, 4
jge 0x4dca66
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
jle 0x4dca9c
cmp eax, 9
jge 0x4dca9c
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp eax, 0xb
jne 0x4dcad0
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp eax, 0x10
jne 0x4dcb04
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
cmp eax, 0x11
jle 0x4dcb38
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
mov ecx, edi
call fcn.00482f00
mov ecx, eax
cmp ecx, 1
jge 0x4dcb4f
mov ecx, edi
call fcn.00483160
mov ecx, eax
movss xmm1, dword [esi + 8]
divss xmm1, dword [0x5d95c8]
imul eax, dword [esi + 0xc], 0x258
addss xmm1, dword [0x5d9058]
mov edx, dword [eax + 0x6268f8]
mov eax, dword [esi + 4]
shr eax, 0x1f
cmp dword [esi], 0
jl 0x4dcb81
cmp eax, 1
jne 0x4dcb90
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5dd3b8]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
jge 0x4dcbd2
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
sub eax, ecx
cmp eax, 9
jle 0x4dcc08
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
xor eax, eax
mov dword [ebp - 0x3e68], eax
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x110]
call fcn.0044e540
mov esi, eax
test esi, esi
je 0x4dccae
nop dword [eax + eax]
mov ecx, esi
call fcn.0044cdf0
test eax, eax
jne 0x4dcc5d
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x4dcc5d
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x4dcc5d
inc dword [ebp - 0x3e68]
mov eax, dword [ebp - 0x3e3c]
mov ecx, dword [eax + 0x110]
call fcn.0044e5f0
mov esi, eax
test esi, esi
jne 0x4dcc30
cmp dword [ebp - 0x3e68], 1
jle 0x4dccae
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push dword [ebp - 0x3e40]
push edi
call fcn.004cfd50
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
push 0
push dword [ebp - 0x3e3c]
mov ecx, dword [ebp - 0x3e50]
push dword [ebp - 0x3e40]
push edi
call fcn.004d1100
mov eax, dword [ebp - 0x3e6c]
mov ecx, dword [ebp - 0x3e58]
mov dword [ebp - 0x3e68], eax
call fcn.0044e5b0
jmp 0x4dcd1e
push str.The_EarthKey_doesnt_work_in_a_town.
jmp 0x4dc868
lea eax, [ebp - 0x206b]
push str.The_EarthKey_doesnt_work_here.
push eax
call fcn.00473380
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx]
lea edx, [ebp - 0x3e4c]
add esp, 8
mov eax, dword [eax + 4]
push edx
push 0
lea edx, [ebp - 0x206c]
push edx
push 0x65
call eax
mov ecx, dword [ebp - 0x3e58]
call fcn.0044e5f0
mov esi, eax
mov dword [ebp - 0x3e6c], eax
test esi, esi
jne 0x4dad30
jmp 0x4dce18
lea eax, [ebp - 0x13b0]
mov byte [ebp - 0x2368], 0x17
push str.Only_smiths_can_set_bombs_in_PVP_zones.
push eax
call fcn.00473350
mov ecx, 0x18
mov eax, dword [ebp - 0x3e50]
lea esi, [ebp - 0x13b0]
add esp, 8
lea edi, [ebp - 0x2367]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x3e4c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2368]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x2304], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov edi, dword [ebp - 0x3e5c]
jmp 0x4dce18
push 0x64
lea eax, [ebp - 0x2557]
mov byte [ebp - 0x2558], 0x17
push eax
push 0xc8
push str.Stable_your_existing_pet_first_with_the__stablepet_command.
call fcn.0044d2f0
add esp, 0x10
lea edx, [ebp - 0x3e4c]
push edx
lea edx, [ebp - 0x2558]
jmp 0x4dce03
push 0x64
lea eax, [ebp - 0x24ef]
mov byte [ebp - 0x24f0], 0x17
push eax
push 0xc8
push str.You_must_be_in_town_to_let_out_a_pet.
call fcn.0044d2f0
add esp, 0x10
lea edx, [ebp - 0x3e4c]
push edx
lea edx, [ebp - 0x24f0]
mov eax, dword [ebp - 0x3e50]
push 0
push edx
push 0x65
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov esi, dword [ebp - 0x3e68]
test esi, esi
je case.default.0x4d8614
mov eax, dword [esi + 0x118]
cmp eax, 1
jle 0x4dce49
mov ecx, dword [ebp - 0x3e50]
dec eax
push edi
mov dword [esi + 0x118], eax
call fcn.004eb810
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e58]
push esi
call fcn.0044e730
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x3e50]
push edi
call fcn.004eb810
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je case.default.0x4d8614
mov eax, dword [edi + 0x14f34]
cmp eax, 1
je 0x4dced9
cmp eax, 2
je 0x4dced9
cmp eax, 3
je 0x4dced9
imul eax, dword [edi + 0x188], 0x980
test byte [eax + edi + 0x318], 1
jne 0x4dced9
mov edx, dword [edi + 0x23c]
lea eax, [edi + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test edx, ecx
je 0x4dcef7
not ecx
and ecx, edx
jmp 0x4dcef7
mov edx, dword [edi + 0x23c]
lea eax, [edi + 0x23c]
mov ecx, dword [ebp - 0xfaf]
test edx, ecx
je 0x4dcef5
not ecx
and ecx, edx
jmp 0x4dcef7
or ecx, edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3e4c]
mov byte [ebp - 0x408c], 0x50
mov eax, dword [eax]
mov dword [ebp - 0x408b], eax
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dcf1e
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ebc], dl
shr eax, 8
mov dword [ebp - 0x3e80], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ebb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e70], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eba], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3eb9], al
mov byte [ebp - 0x3eb8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dcfc7
mov eax, dword [ebp - 0x3e80]
mov byte [ecx], dl
lea edx, [ebp - 0x3e4c]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e70]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e38]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
mov ecx, dword [esi + 0x34]
push edx
push 0
lea edx, [ebp - 0x408c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3ebc]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov ecx, dword [esi + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x408c]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov byte [ebp - 0x3df4], 0x59
push eax
push dword [ebp - 0x3e54]
mov ecx, esi
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x40b8], 0
mov dword [ebp - 0x3e5c], edi
mov dword [ebp - 0x40b4], 0
mov dword [ebp - 0x40b0], 0
mov ecx, dword [ebp - 0x3e54]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x3ec3], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x3ec4], cl
sar ecx, 0x18
mov byte [ebp - 0x3ec2], al
lea eax, [ebp - 0x3ec4]
mov byte [ebp - 0x3ec1], cl
lea ecx, [ebp - 0x40b8]
push eax
mov byte [ebp - 4], 0x22
mov byte [ebp - 0x3ec0], 0
call fcn.00493760
lea eax, [ebp - 0x3df3]
xor esi, esi
mov dword [ebp - 0x3e38], eax
imul ecx, dword [edi + 0x188], 0x980
push 0
push eax
add ecx, 0x43c
add ecx, esi
add ecx, edi
call fcn.0052a750
mov eax, dword [ebp - 0x3e38]
add esi, 0x138
add eax, 0x200
mov dword [ebp - 0x3e38], eax
cmp esi, 0x750
jl 0x4dd092
mov eax, dword [ebp - 0x3e50]
lea edx, [ebp - 0x40b8]
push edx
push 0
lea edx, [ebp - 0x3df4]
mov ecx, dword [eax + 0x34]
push edx
push 0xc01
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
lea ecx, [ebp - 0x40b8]
mov byte [ebp - 4], 0
call fcn.00473980
jmp case.default.0x4d8614
mov ecx, dword [ebp - 0x3e4c]
mov eax, dword [ebp - 0x3e48]
cmp ecx, eax
je 0x4dd11c
mov dword [ebp - 0x3e48], ecx
mov edx, dword [ebp - 0x3e54]
cmove ecx, eax
mov eax, edx
mov byte [ebp - 0x3ecc], dl
shr eax, 8
mov dword [ebp - 0x3e80], eax
mov eax, edx
sar eax, 8
mov byte [ebp - 0x3ecb], al
mov eax, edx
shr eax, 0x10
mov dword [ebp - 0x3e70], eax
mov eax, edx
sar eax, 0x10
mov byte [ebp - 0x3eca], al
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x3e38], eax
mov eax, edx
sar eax, 0x18
mov byte [ebp - 0x3ec9], al
mov byte [ebp - 0x3ec8], 0
cmp ecx, dword [ebp - 0x3e44]
je 0x4dd1a6
mov eax, dword [ebp - 0x3e80]
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x3e70]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x3e38]
mov byte [ecx + 3], al
mov byte [ecx + 4], 0
add dword [ebp - 0x3e48], 5
jmp 0x4dd1b9
lea eax, [ebp - 0x3ecc]
push eax
push ecx
lea ecx, [ebp - 0x3e4c]
call fcn.0043ec40
mov edx, esi
mov byte [ebp - 0x4094], 0x5b
mov eax, edi
mov ecx, dword [edx + 0xb0]
test ecx, ecx
cmovg eax, ecx
mov dword [ebp - 0x4093], eax
mov ecx, dword [edx + 0x34]
lea edx, [ebp - 0x3e4c]
push edx
push 0
lea edx, [ebp - 0x4094]
mov eax, dword [ecx]
push edx
push 5
mov eax, dword [eax + 4]
call eax
jmp case.0x4d34b5.2
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je 0x4dd4f1
lea eax, [ebp - 0x14b0]
push eax
call fcn.00596d1e
lea eax, [ebp - 0x14b0]
push eax
lea eax, [ebp - 0x15b0]
push 0x5d8428
push eax
call fcn.0043d380
lea eax, [ebp - 0x15b0]
push eax
push str.MacroDetection.csv
call fcn.004a4850
lea eax, [ebp - 0x14b0]
push eax
call fcn.00596f5e
lea eax, [ebp - 0x14b0]
push eax
lea eax, [ebp - 0x15b0]
push str.__s_
push eax
call fcn.0043d380
lea eax, [ebp - 0x15b0]
push eax
push str.MacroDetection.csv
call fcn.004a4850
lea eax, [ebp - 0x14b0]
push eax
call fcn.00596f5e
cmp byte [ebp - 0xfa3], 0
mov ecx, str.not_booted
mov eax, str.booted
cmove eax, ecx
push eax
push dword [ebp - 0xfa7]
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [ebp - 0xfa8]
push eax
movzx eax, byte [ebp - 0xfa9]
push eax
movzx eax, byte [ebp - 0xfaa]
push eax
movzx eax, byte [ebp - 0xfab]
push eax
lea eax, [ebp - 0x15b0]
push str._d._d._d._d__s__s__d__s_n
push eax
call fcn.0043d380
add esp, 0x5c
lea eax, [ebp - 0x15b0]
push eax
push str.MacroDetection.csv
call fcn.004a4850
add esp, 8
cmp byte [ebp - 0xfa3], 0
je case.default.0x4d8614
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_is_inactive__logged_off.
push eax
call fcn.00473380
add esp, 0xc
jmp 0x4dd48c
mov edi, dword [ebp - 0x3e5c]
test edi, edi
je case.default.0x4d8614
mov dword [edi + 0x258], 0
jmp case.default.0x4d8614
lea eax, [ebp - 0x3e3c]
mov ecx, esi
push eax
push dword [ebp - 0x3e54]
call fcn.004be120
mov edi, eax
mov dword [ebp - 0x3e5c], edi
test edi, edi
je 0x4dd4f1
cmp dword [edi + 0x14f34], 1
je case.default.0x4d8614
lea eax, [ebp - 0x1430]
push eax
call fcn.00596d1e
lea eax, [ebp - 0x1430]
push eax
lea eax, [ebp - 0x16b0]
push 0x5d8428
push eax
call fcn.0043d380
lea eax, [ebp - 0x16b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a4850
lea eax, [ebp - 0x1430]
push eax
call fcn.00596f5e
lea eax, [ebp - 0x1430]
push eax
lea eax, [ebp - 0x16b0]
push str.__s_
push eax
call fcn.0043d380
lea eax, [ebp - 0x16b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a4850
lea eax, [ebp - 0x1430]
push eax
call fcn.00596f5e
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [edi + 0x18c]
push eax
movzx eax, byte [ebp - 0xfa8]
push eax
movzx eax, byte [ebp - 0xfa9]
push eax
movzx eax, byte [ebp - 0xfaa]
push eax
movzx eax, byte [ebp - 0xfab]
push eax
lea eax, [ebp - 0x16b0]
push str._d._d._d._d__s__s_n
push eax
call fcn.0043d380
add esp, 0x54
lea eax, [ebp - 0x16b0]
push eax
push str.afkMacroDetection.csv
call fcn.004a4850
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x206b]
push str._s_is_inactive__logged_off.
push eax
call fcn.00473380
add esp, 0x14
mov esi, dword [ebp - 0x3e3c]
lea eax, [ebp - 0x206c]
push 0
push 5
push eax
push 0x65
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.00531c80
mov ecx, dword [ebp - 0x3e50]
push esi
push edi
call fcn.004d30d0
mov edi, 0x1e
mov eax, dword [ebp - 0x3e50]
lea edx, [ebp - 0x3e8c]
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 - 0x3e8c]
test eax, eax
jg 0x4d3460
lea ecx, [ebp - 0x3e4c]
call fcn.00473980
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.0055f428
mov esp, ebp
pop ebp
ret