Function at 0x498250
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5af62a
mov eax, dword fs:[0]
push eax
sub esp, 0x618
mov eax, dword [0x616798]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x5d8], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x5b8], esi
mov dword [ebp - 0x604], 0
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x5fc], 0
mov ecx, esi
mov dword [ebp - 4], 0
mov byte [ebp - 0x52c], 0x17
mov dword [ebp - 0x5d4], 0
call fcn.0044c2c0
cmp eax, 1
mov eax, 0
cmove eax, esi
mov dword [ebp - 0x5bc], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [edi + 0x1ec]
mov edx, eax
mov dword [ebp - 0x5b4], edx
test ecx, ecx
jle 0x498458
cmp dword [edi + 0x1e8], edx
ja 0x498458
mov eax, dword [edi + 0x1ac]
add dword [edi + 0x1f0], ecx
sub eax, ecx
mov dword [edi + 0x1ac], eax
test eax, eax
jg 0x498377
mov ecx, dword [edi + 0x218]
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x124], 1
mov dword [edi + 0x208], eax
test ecx, ecx
je 0x498350
call fcn.0044c2c0
cmp eax, 1
jne 0x498350
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push eax
jmp 0x49843c
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x498448
call fcn.0044c2c0
cmp eax, 2
jne 0x498448
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 1
jmp 0x49843c
push 0
mov dword [ebp - 0x5c7], eax
mov ecx, esi
mov eax, dword [edi + 0x1b0]
push 2
mov dword [ebp - 0x5c3], eax
lea eax, [ebp - 0x5cc]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x5cc], 0x27
push dword [edi + 0x108]
mov dword [ebp - 0x5cb], edi
push 0
call fcn.0052c140
mov eax, dword [edi + 0x1bc]
imul eax, eax
cmp eax, dword [edi + 0x1ec]
jg 0x4983e4
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x471c4000
push 7
call fcn.00497560
cmp dword [edi + 0x204], 0
jne 0x49840e
cmp dword [edi + 0x214], 0
jne 0x49840e
mov eax, dword [ebp - 0x5b4]
mov dword [edi + 0x11c], eax
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x204], eax
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x498422
call fcn.0044c2c0
cmp eax, 1
je 0x498436
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x498448
call fcn.0044c2c0
cmp eax, 2
jne 0x498448
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 0
mov ecx, dword [edi + 0x218]
push edi
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [ebp - 0x5b4]
mov dword [edi + 0x1ec], 0
cmp dword [edi + 0x120], 0
je 0x49892e
mov ecx, dword [edi + 0x118]
mov eax, edx
sub eax, ecx
test ecx, ecx
je 0x498477
cmp edx, ecx
jae 0x49847c
mov eax, 0x7d1
mov dword [edi + 0x204], 0
mov dword [edi + 0x214], 0
cmp eax, 0x7d0
jbe 0x49ced7
mov eax, dword [edi + 0x110]
mov dword [edi + 0x108], eax
mov eax, dword [edi + 0x114]
mov dword [edi + 0x120], 0
mov dword [edi + 0x10c], eax
mov ecx, dword [esi + 0x118]
push edi
call fcn.00515c00
cmp byte [edi + 0x184], 0
movzx eax, byte [edi + 0x108]
je 0x49859f
mov byte [ebp - 0x3d], al
mov ecx, edi
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x3c], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x42], ax
movzx eax, word [edi + 0x224]
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x33]
push 0x20
push eax
push 0x20
mov byte [ebp - 0x48], 0x19
mov dword [ebp - 0x47], edi
mov byte [ebp - 0x43], 1
call fcn.004977a0
push eax
call fcn.0044c9c0
movzx eax, byte [edi + 0x1a7]
add esp, 0x10
movss xmm0, dword [edi + 0x1a8]
mov ecx, esi
mov byte [ebp - 0x38], al
movzx eax, byte [edi + 0x1a4]
mov byte [ebp - 0x3b], al
movzx eax, byte [edi + 0x1a5]
mov byte [ebp - 0x3a], al
movzx eax, byte [edi + 0x1a6]
mov byte [ebp - 0x39], al
movss dword [ebp - 0x37], xmm0
call fcn.0044c2c0
cmp eax, 1
jne 0x498586
xor al, al
mov byte [ebp - 0x3e], al
cmp byte [edi + 0x1dc], al
jne 0x498586
cmp byte [edi + 0x1de], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov byte [ebp - 0x3e], al
mov ecx, edi
call fcn.0044c2c0
push 0
mov byte [ebp - 0x43], al
lea eax, [ebp - 0x48]
push 6
push eax
push 0x35
jmp 0x498629
mov byte [ebp - 0x5c1], al
mov ecx, esi
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c0], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x5c6], ax
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x5cc], 0x18
mov dword [ebp - 0x5cb], edi
mov word [ebp - 0x5c4], ax
call fcn.0044c2c0
cmp eax, 1
jne 0x49860f
xor al, al
mov byte [ebp - 0x5c2], al
cmp byte [edi + 0x1dc], al
jne 0x49860f
cmp byte [edi + 0x1de], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov byte [ebp - 0x5c2], al
mov ecx, edi
call fcn.0044c2c0
push 0
mov byte [ebp - 0x5c7], al
lea eax, [ebp - 0x5cc]
push 6
push eax
push 0xd
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x498719
mov ecx, eax
call fcn.0044c2c0
test eax, eax
jne 0x498700
mov ecx, dword [ebp - 0x5a4]
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x498700
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x498700
cmp dword [ecx + 0x14ea0], 0
mov dword [ebp - 0x5d4], ecx
jne 0x4986ed
cmp dword [ecx + 0x14f38], 0
jne 0x4986ed
cmp dword [edi + 0x21c], 0
jne 0x4986ed
mov eax, dword [ebp - 0x5bc]
test eax, eax
je 0x4986c9
push ecx
mov ecx, eax
call fcn.004ecc10
test eax, eax
jne 0x4986ed
mov ecx, dword [ebp - 0x5a4]
cmp dword [ecx + 0x14f70], 0
jne 0x4986ed
cmp dword [edi + 0x220], 0x1f
je 0x4986f6
mov eax, dword [ebp - 0x5b4]
mov dword [ecx + 0x11c], eax
mov dword [ecx + 0x14ea0], edi
cmp dword [edi + 0x220], 0x1f
jne 0x498700
mov dword [ebp - 0x5d4], 0
mov ecx, dword [esi + 0x110]
call fcn.0044dd50
mov dword [ebp - 0x5a4], eax
test eax, eax
jne 0x498657
cmp dword [edi + 0x214], 0
jne 0x498784
cmp dword [edi + 0x204], 0
jne 0x498784
mov ecx, dword [ebp - 0x5d4]
test ecx, ecx
je 0x498784
cmp dword [ecx + 0x14f38], 0
jne 0x498784
cmp dword [edi + 0x21c], 0
jne 0x498784
mov eax, dword [ebp - 0x5bc]
test eax, eax
je 0x49875d
push ecx
mov ecx, eax
call fcn.004ecc10
test eax, eax
jne 0x498784
call fcn.005619b8
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x5b4]
sub eax, edx
mov dword [edi + 0x11c], eax
mov eax, dword [ebp - 0x5d4]
mov dword [edi + 0x204], eax
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x4987ba
lea ecx, [ebp - 0x5d0]
push ecx
mov ecx, dword [0x61aa7c]
push eax
call fcn.004ba890
test eax, eax
je 0x4987ba
mov ecx, dword [edi + 0x21c]
push 0
push 0
push dword [ebp - 0x5d0]
call fcn.0048f7c0
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x498876
cmp dword [ecx + 0x184], 0
jne 0x498876
call fcn.00473770
cmp eax, 9
jle 0x498876
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515a30
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x498876
mov ecx, eax
call fcn.0044c2c0
cmp eax, 1
jne 0x498861
mov eax, dword [ebp - 0x5a4]
cmp dword [eax + 0x204], 0
jne 0x498861
cmp dword [eax + 0x21c], 0
jne 0x498861
mov eax, dword [eax + 0x218]
test eax, eax
je 0x498861
cmp dword [eax + 4], 0
jbe 0x498861
call fcn.005619b8
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5b4]
sub eax, edx
mov dword [ecx + 0x11c], eax
mov dword [ecx + 0x214], edi
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
mov dword [ebp - 0x5a4], eax
test eax, eax
jne 0x498806
mov eax, dword [edi + 0x218]
test eax, eax
je 0x49ced7
cmp dword [eax + 4], 1
jne 0x49ced7
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515a30
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x49ced7
mov ecx, eax
call fcn.0044c2c0
cmp eax, 1
jne 0x498914
cmp dword [edi + 0x204], 0
jne 0x498914
cmp dword [edi + 0x214], 0
jne 0x498914
mov eax, dword [ebp - 0x5a4]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x498914
call fcn.00473770
cmp eax, 9
jle 0x498914
call fcn.005619b8
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x5b4]
sub eax, edx
mov dword [edi + 0x11c], eax
mov eax, dword [ebp - 0x5a4]
mov dword [edi + 0x214], eax
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
mov dword [ebp - 0x5a4], eax
test eax, eax
jne 0x4988b5
jmp 0x49ced7
mov eax, dword [edi + 0x11c]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x5a8], ecx
test eax, eax
je 0x498946
cmp edx, eax
jae 0x498951
mov ecx, 0x7d1
mov dword [ebp - 0x5a8], ecx
mov eax, dword [edi + 0x204]
test eax, eax
je 0x498971
mov ecx, dword [esi + 0x110]
push eax
call fcn.0044dc60
test eax, eax
jne 0x498971
mov dword [edi + 0x204], eax
cmp dword [edi + 0x214], 0
je 0x498a40
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x4c4]
push eax
call fcn.00515b40
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
mov dword [ebp - 0x5b0], 0
push dword [edi + 0x108]
call fcn.00515a30
mov dword [ebp - 0x598], eax
test eax, eax
je 0x498a0a
nop dword [eax]
cmp dword [ebp - 0x5b0], 0
jne 0x498a0a
mov ecx, eax
call fcn.0044c2c0
cmp eax, 1
jne 0x4989f5
mov ecx, dword [ebp - 0x598]
cmp dword [edi + 0x214], ecx
mov ecx, 1
mov eax, dword [ebp - 0x5b0]
cmove eax, ecx
mov dword [ebp - 0x5b0], eax
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x4989c0
movups xmm0, xmmword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b4]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00515d00
cmp dword [ebp - 0x5b0], 0
jne 0x498a40
mov dword [edi + 0x214], 0
mov ecx, dword [edi + 0x204]
xorps xmm4, xmm4
movss xmm2, dword [0x5c0174]
movss xmm3, dword [0x5c0180]
mov edx, dword [ebp - 0x5a8]
test ecx, ecx
je 0x4994ca
movd xmm0, edx
mov eax, edx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5bb220]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, xmm2
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x4994ca
comiss xmm4, dword [edi + 0x170]
jb 0x4994ca
mov eax, dword [ebp - 0x5bc]
test eax, eax
je 0x498ac1
push ecx
mov ecx, eax
call fcn.004ecc10
test eax, eax
jne 0x4994b1
call fcn.005619b8
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebp - 0x5b4]
sub eax, edx
mov dword [ebp - 0x5a4], 0
cmp byte [edi + 0x1df], 0
mov dword [edi + 0x11c], eax
jle 0x498afc
cmp dword [edi + 0x220], 0x1b
je 0x49ced7
mov eax, dword [edi + 0x214]
test eax, eax
je 0x498b28
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x498b28
call fcn.00473770
xor ecx, ecx
cmp eax, 9
mov eax, 1
cmovg ecx, eax
mov dword [ebp - 0x5a4], ecx
cmp dword [edi + 0x220], 0x1b
jne 0x498b47
call fcn.005619b8
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
je 0x499606
cmp dword [edi + 0x220], 0x1e
jne 0x498b6f
cmp dword [edi + 0x224], 1
jle 0x498b6f
call fcn.005619b8
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
je 0x499606
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov esi, eax
mov dword [ebp - 0x59c], esi
test esi, esi
je 0x499498
nop word [eax + eax]
cmp dword [ebp - 0x5a4], 0
jne 0x4994ab
cmp dword [edi + 0x124], 0
jne 0x4994a1
cmp esi, dword [edi + 0x204]
jne 0x499477
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x499477
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x499477
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x499477
mov dword [ebp - 0x5d4], esi
cmp dword [esi + 0x184], eax
je 0x498c32
mov ecx, dword [esi + 0x14f70]
test ecx, ecx
je 0x498c32
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x498c32
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x498c32
mov dword [edi + 0x214], ecx
mov dword [edi + 0x204], 0
jmp 0x499477
imul eax, dword [esi + 0x188], 0x980
mov dword [ebp - 0x5a4], 1
mov dword [ebp - 0x5d4], esi
mov dword [ebp - 0x5b0], 0
mov dword [ebp - 0x598], 0
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x5bc], eax
test eax, eax
je 0x498da8
nop dword [eax]
cmp dword [ebp - 0x598], 0
jne 0x498da8
mov ecx, eax
call fcn.0044c2d0
mov ecx, str.Dodging
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x498cc0
test dl, dl
je 0x498cbc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x498cc0
add ecx, 2
add eax, 2
test dl, dl
jne 0x498ca0
xor eax, eax
jmp 0x498cc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x498d1a
mov esi, dword [ebp - 0x5bc]
mov eax, dword [edi + 0x1b8]
mov dword [ebp - 0x598], 1
mov esi, dword [esi + 0x11c]
mov ecx, dword [esi + 8]
dec ecx
sub eax, ecx
mov dword [ebp - 0x5b0], ecx
mov ecx, 0
cmovns ecx, eax
xor eax, eax
cmp ecx, 0xa
cmovle eax, ecx
mov ecx, dword [0x61aa7c]
imul eax, dword [ecx + 0x94]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x5bc]
call fcn.0044c2d0
mov ecx, str.Pet_Energy
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x498d50
test dl, dl
je 0x498d4c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x498d50
add ecx, 2
add eax, 2
test dl, dl
jne 0x498d30
xor eax, eax
jmp 0x498d55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x498d81
cmp dword [esi + 0x184], eax
je 0x498d81
mov eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x598], 1
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x5b0], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x5bc], eax
test eax, eax
jne 0x498c80
mov ecx, dword [ebp - 0x5b0]
add ecx, dword [esi + 0x14f08]
mov eax, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x160]
sub eax, ecx
comiss xmm1, dword [0x5bc024]
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x598], eax
jbe 0x498dee
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x598], eax
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x598]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x498e30
call fcn.005619b8
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x498e39
cmp esi, 0x14
jle 0x49940d
mov esi, dword [ebp - 0x59c]
mov eax, 0x55555556
mov ecx, dword [edi + 0x1b4]
imul dword [esi + 0x14f0c]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0
sub ecx, eax
mov eax, dword [edi + 0x220]
cmovns edx, ecx
mov dword [ebp - 0x598], edx
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x224]
lea eax, [eax + ecx*2]
imul eax, eax, 0x64
test byte [eax + 0x60a938], 0x20
je 0x498eb9
movd xmm0, dword [esi + 0x14f18]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [0x5bc028]
divss xmm0, dword [0x5c015c]
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si edx, xmm1
mov dword [ebp - 0x598], edx
call fcn.005619b8
mov ecx, dword [ebp - 0x598]
xorps xmm2, xmm2
mov edx, dword [esi + 0x14f2c]
movd xmm1, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
mulss xmm1, xmm0
divss xmm1, dword [0x5bcef0]
addss xmm1, xmm2
cvttss2si eax, xmm1
add ecx, eax
test edx, edx
jle 0x498f21
imul edx, ecx
mov eax, 0x88888889
mov dword [ebp - 0x5d0], edx
imul edx
add edx, dword [ebp - 0x5d0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, eax
add dword [edi + 0x1ac], eax
cmp dword [esi + 0x14f30], 0
jle 0x498f42
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2f8]
cmp ecx, eax
jl 0x498f42
lea ecx, [eax - 1]
cmp dword [esi + 0x14f34], 1
je 0x498f5c
imul eax, dword [esi + 0x188], 0x980
sub dword [eax + esi + 0x2fc], ecx
mov eax, dword [esi + 0x180]
push 0
push 2
mov dword [ebp - 0x60f], eax
lea eax, [ebp - 0x614]
push eax
push 0xd
push dword [edi + 0x10c]
mov dword [ebp - 0x60b], ecx
push dword [edi + 0x108]
mov ecx, dword [ebp - 0x5b8]
push 0
mov byte [ebp - 0x614], 0x22
mov dword [ebp - 0x613], edi
call fcn.0052c140
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x623], eax
push 0
mov byte [ebp - 0x624], 0x26
push 2
mov eax, dword [ecx + esi + 0x2fc]
mov dword [ebp - 0x61f], eax
mov eax, dword [ecx + esi + 0x2f8]
mov ecx, dword [ebp - 0x5b8]
mov dword [ebp - 0x61b], eax
lea eax, [ebp - 0x624]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2fc], 0
jg 0x4991ce
mov dword [eax + esi + 0x2fc], 0
lea ecx, [ebp - 0x5e0]
mov dword [esi + 0x124], 1
mov eax, dword [ebp - 0x604]
mov dword [ebp - 0x600], eax
push dword [esi + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0x604]
call fcn.00490370
mov ecx, dword [ebp - 0x5b8]
call fcn.0044c2c0
test eax, eax
jne 0x4990a2
mov eax, 0x100
mov ecx, edi
sub eax, dword [esi + 0x108]
push eax
mov eax, 0x100
sub eax, dword [esi + 0x10c]
push eax
call fcn.004977a0
push eax
lea eax, [ebp - 0x4b0]
push str.The__s_defeats_you_at__dN__dE.
push eax
call fcn.0043d360
add esp, 0x14
jmp 0x49918c
mov ecx, dword [ebp - 0x5b8]
call fcn.0044c2c0
cmp eax, 4
jne 0x4990eb
mov eax, 0x40
mov ecx, edi
sub eax, dword [esi + 0x108]
push eax
mov eax, 0x40
sub eax, dword [esi + 0x10c]
push eax
call fcn.004977a0
push eax
lea eax, [ebp - 0x4b0]
push str.The__s_defeats_you_in_a_Mystic_Realm_at__dN__dE.
push eax
call fcn.0043d360
add esp, 0x14
jmp 0x49918c
mov ecx, dword [ebp - 0x5b8]
call fcn.0044c2c0
cmp eax, 2
jne 0x499131
mov eax, 0x40
mov ecx, edi
sub eax, dword [esi + 0x108]
push eax
mov eax, 0x40
sub eax, dword [esi + 0x10c]
push eax
call fcn.004977a0
push eax
lea eax, [ebp - 0x4b0]
push str.The__s_defeats_you_in_the_Labyrinth_at__dN__dE.
push eax
call fcn.0043d360
add esp, 0x14
jmp 0x49918c
mov ecx, dword [ebp - 0x5b8]
mov eax, dword [ecx + 0x124]
sub eax, dword [esi + 0x108]
push eax
mov eax, dword [ecx + 0x128]
sub eax, dword [esi + 0x10c]
push eax
mov eax, 0x100
sub eax, dword [ecx + 0x12c]
push eax
mov eax, 0x100
sub eax, dword [ecx + 0x130]
push eax
lea eax, [ecx + 0x144]
mov ecx, edi
push eax
call fcn.004977a0
push eax
lea eax, [ebp - 0x4b0]
push str.The__s_defeats_you_in_the__s___dN__dE__at__dN__dE.
push eax
call fcn.0043d360
add esp, 0x20
push 0x64
lea eax, [ebp - 0x52b]
push eax
lea eax, [ebp - 0x4b0]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0x5b8]
lea edx, [ebp - 0x604]
add esp, 0x10
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x52c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x4991e9
cmp dword [esi + 0x14ea0], 0
jne 0x4991e9
mov eax, dword [ebp - 0x5b4]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea0], edi
mov ecx, dword [edi + 0x220]
cmp ecx, 0x1f
jne 0x499221
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [edi + 0x220]
lea eax, [ecx + 1]
cmp edx, eax
jge 0x499221
push dword [ebp - 0x5b8]
mov ecx, edi
call fcn.0049cf40
mov ecx, dword [edi + 0x220]
cmp ecx, 0x18
jne 0x499477
mov eax, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x160]
sub eax, dword [ebp - 0x5b0]
comiss xmm1, dword [0x5bc024]
jbe 0x499256
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
sub eax, dword [esi + 0x14f1c]
mov dword [ebp - 0x5d0], eax
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x5d0]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x4992a4
call fcn.005619b8
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x4992ad
cmp esi, 0x14
jle 0x499477
mov esi, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x5b8]
push 0
push 3
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x4bf], eax
lea eax, [ebp - 0x4c0]
push eax
push 0xe
push dword [esi + 0x10c]
mov byte [ebp - 0x4c0], 0x4a
push dword [esi + 0x108]
mov dword [ebp - 0x4b6], 0x1e
push 0
mov dword [ebp - 0x4bb], 0xffffffff
mov byte [ebp - 0x4b7], 1
call fcn.0052c140
mov eax, dword [ebp - 0x604]
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x600], eax
push dword [esi + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x5c4]
push eax
lea ecx, [ebp - 0x604]
call fcn.00490370
mov ecx, edi
call fcn.004977a0
push eax
lea eax, [ebp - 0x4b0]
push str.The__s_ensnares_you_in_its_web_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x52b]
push eax
lea eax, [ebp - 0x4b0]
push 0x400
push eax
call fcn.0044c9c0
mov eax, dword [ebp - 0x5b8]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
lea eax, [ebp - 0x604]
push eax
push 0
lea eax, [ebp - 0x52c]
mov edx, dword [ecx]
push eax
push 0x65
call dword [edx + 4]
mov eax, dword [ebp - 0x5b0]
mov ecx, dword [esi + 0x14f1c]
cdq
add ecx, ecx
sub eax, edx
sar eax, 1
mov esi, eax
mov eax, 2
neg esi
sub esi, ecx
add esi, dword [edi + 0x1b8]
cmp esi, 2
push ecx
cmovl esi, eax
imul edi, esi, 0x3e8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x59c]
add eax, edi
push eax
push 8
call fcn.00495570
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
add eax, edi
mov ecx, dword [ebp - 0x59c]
push eax
push 2
call fcn.00495570
mov edi, dword [ebp - 0x5d8]
jmp 0x499477
mov esi, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x5b8]
push 0
push 2
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x5f3], eax
lea eax, [ebp - 0x5f8]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x5f8], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x5f7], edi
push 0
mov dword [ebp - 0x5ef], 0xffffffff
call fcn.0052c140
cmp dword [esi + 0x14ea0], 0
jne 0x499477
mov eax, dword [ebp - 0x5b4]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea0], edi
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [eax + 0x110]
call fcn.0044dd50
mov esi, eax
mov dword [ebp - 0x59c], eax
test esi, esi
jne 0x498b90
cmp dword [ebp - 0x5a4], 0
jne 0x4994ab
mov dword [edi + 0x204], 0
mov esi, dword [ebp - 0x5b8]
movss xmm2, dword [0x5c0174]
xorps xmm4, xmm4
movss xmm3, dword [0x5c0180]
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edi + 0x214]
test eax, eax
je 0x49a2ee
cmp eax, edi
je 0x49a2ee
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x5bb220]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, xmm2
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x49a2ee
comiss xmm4, dword [edi + 0x170]
jb 0x49a2ee
cmp byte [edi + 0x1df], 0
mov eax, dword [ebp - 0x5b4]
mov dword [edi + 0x11c], eax
jle 0x499540
cmp dword [edi + 0x220], 0x1b
je 0x49ced7
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x4995a0
call fcn.00473770
cmp eax, 9
jle 0x4995a0
cmp dword [edi + 0x220], 0x1b
jne 0x49956f
call fcn.005619b8
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
je 0x499593
cmp dword [edi + 0x220], 0x1e
jne 0x4995a0
cmp dword [edi + 0x224], 1
jle 0x4995a0
call fcn.005619b8
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
jne 0x4995a0
push esi
mov ecx, edi
call fcn.00496470
jmp 0x49ced7
cmp dword [edi + 0x21c], 0
jne 0x499613
mov eax, dword [edi + 0x214]
test eax, eax
je 0x499613
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x499613
call fcn.00473770
cmp eax, 9
jle 0x499613
cmp dword [edi + 0x220], 0x1b
jne 0x4995e2
call fcn.005619b8
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
je 0x499606
cmp dword [edi + 0x220], 0x1e
jne 0x499613
cmp dword [edi + 0x224], 1
jle 0x499613
call fcn.005619b8
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
jne 0x499613
push esi
mov ecx, edi
call fcn.0049d7c0
jmp 0x49ced7
mov eax, dword [edi + 0x214]
mov dword [ebp - 0x598], 0
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x4996e3
call fcn.00473770
cmp eax, 9
jle 0x4996e3
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
test esi, esi
je 0x4996e3
nop word [eax + eax]
mov ecx, esi
call fcn.0044c2d0
mov ecx, str.Pet_Energy
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4996a0
test dl, dl
je 0x49969c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4996a0
add ecx, 2
add eax, 2
test dl, dl
jne 0x499680
xor eax, eax
jmp 0x4996a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4996b8
mov eax, dword [esi + 0x11c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x598], eax
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x499670
mov eax, dword [edi + 0x214]
mov edx, dword [ebp - 0x598]
mov ecx, dword [eax + 0x1bc]
mov eax, dword [edi + 0x1b8]
cmp edx, ecx
jle 0x499703
sub eax, edx
jmp 0x499705
sub eax, ecx
movss xmm1, dword [edi + 0x160]
comiss xmm1, dword [0x5bc024]
mov dword [ebp - 0x598], eax
jbe 0x499731
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x598], eax
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x598]
add esi, 2
add edx, eax
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x499779
call fcn.005619b8
cdq
mov ecx, 0x190
idiv ecx
mov eax, 0x1e
cmp edx, 6
cmove esi, eax
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x4997b7
call fcn.00473770
cmp eax, 9
jle 0x4997b7
call fcn.005619b8
and eax, 0x8000000f
jns 0x49979e
dec eax
or eax, 0xfffffff0
inc eax
mov edx, dword [edi + 0x21c]
imul ecx, dword [edx + 0x188], 0x980
cmp eax, dword [ecx + edx + 0xbd0]
jl 0x4997c0
cmp esi, 0x14
jle 0x49a161
mov eax, dword [edi + 0x1b4]
xor esi, esi
test eax, eax
cmovns esi, eax
call fcn.005619b8
movd xmm0, esi
xorps xmm2, xmm2
cvtdq2ps xmm0, xmm0
mov ecx, dword [edi + 0x21c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
mulss xmm1, xmm0
divss xmm1, dword [0x5bcef0]
addss xmm1, xmm2
cvttss2si eax, xmm1
add eax, esi
mov dword [ebp - 0x5b0], eax
test ecx, ecx
je 0x4998eb
call fcn.00473770
cmp eax, 9
jle 0x4998eb
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov esi, eax
mov byte [ebp - 0x5a9], 0
lea eax, [ebp - 0x60]
push str.Pet_Mastery
push eax
call fcn.0043d360
add esp, 8
test esi, esi
je 0x4998eb
cmp byte [ebp - 0x5a9], 0
jne 0x4998eb
mov ecx, esi
call fcn.0044c2d0
lea ecx, [ebp - 0x60]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x499897
test dl, dl
je 0x499893
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x499897
add ecx, 2
add eax, 2
test dl, dl
jne 0x499877
xor eax, eax
jmp 0x49989c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4998c2
mov ecx, dword [edi + 0x21c]
mov esi, dword [esi + 0x11c]
mov byte [ebp - 0x5a9], 1
call fcn.00473770
imul eax, dword [esi + 8]
add dword [ebp - 0x5b0], eax
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x499860
mov eax, dword [edi + 0x214]
mov esi, dword [ebp - 0x5b8]
mov ecx, esi
push 0
mov dword [ebp - 0x5f3], eax
mov eax, dword [ebp - 0x5b0]
push 2
mov dword [ebp - 0x5ef], eax
lea eax, [ebp - 0x5f8]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x5f8], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x5f7], edi
push 0
call fcn.0052c140
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5b0]
sub dword [eax + 0x1ac], ecx
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x499a4b
call fcn.00473770
cmp eax, 9
jle 0x499a4b
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x5d0], eax
test eax, eax
je 0x499a4b
mov esi, eax
mov ecx, esi
call fcn.0044c2d0
mov ecx, str.Pet_Energy
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4999d0
test dl, dl
je 0x4999cc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4999d0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4999b0
xor eax, eax
jmp 0x4999d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x499a16
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x5b0]
cmp eax, 0x12
jge 0x4999f7
cdq
sub eax, edx
sar eax, 1
jmp 0x4999fc
mov eax, 9
mov ecx, dword [0x61aa7c]
inc eax
imul eax, dword [ecx + 0x94]
mov ecx, dword [ebp - 0x5d0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x4999a1
mov esi, dword [ebp - 0x5b8]
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x499c7c
call fcn.00473770
cmp eax, 9
jle 0x499c7c
push dword [edi + 0x21c]
mov ecx, dword [edi + 0x214]
push dword [ebp - 0x5b0]
call fcn.00498060
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
lea eax, [ebp - 0x60]
push str.Pet_Mastery
push eax
mov byte [ebp - 0x5a9], 0
mov byte [ebp - 0x594], 0x17
call fcn.0043d360
mov eax, dword [ebp - 0x598]
add esp, 8
test eax, eax
je 0x499c7c
cmp byte [ebp - 0x5a9], 0
jne 0x499c7c
mov ecx, eax
call fcn.0044c2d0
lea ecx, [ebp - 0x60]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x499b07
test dl, dl
je 0x499b03
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x499b07
add ecx, 2
add eax, 2
test dl, dl
jne 0x499ae7
xor eax, eax
jmp 0x499b0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x499c4f
mov eax, dword [ebp - 0x598]
mov byte [ebp - 0x5a9], 1
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x5d0], eax
test edx, edx
ja 0x499c3e
jb 0x499b4c
cmp eax, 0x64
jae 0x499c3e
mov eax, edx
mov ecx, 0x186a0
mul ecx
mov edx, 0x186a0
mov ecx, eax
mov eax, dword [ebp - 0x5d0]
mul edx
add ecx, edx
mov edx, dword [ebp - 0x5b0]
cmp ecx, dword [edx + 4]
ja 0x499c38
jb 0x499b81
mov ecx, edx
cmp eax, dword [ecx]
ja 0x499c3e
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5e0], 0
mov eax, dword [edi + 0x21c]
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x5e4], 0
mov byte [ebp - 4], 1
push dword [eax + 0x180]
call fcn.004716f0
lea eax, [ebp - 0x5c4]
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00490370
mov eax, dword [ebp - 0x5b0]
add dword [eax + 8], 1
adc dword [eax + 0xc], 0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xb0]
push str.You_gained__s_skill___You_feel_more_in_tune_with_your_pets.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x593]
push eax
lea eax, [ebp - 0xb0]
push 0x400
push eax
call fcn.0044c9c0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x5e8]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x594]
push edx
push 0x65
call dword [eax + 4]
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0
call fcn.00471720
mov ecx, dword [ebp - 0x5b0]
mov eax, dword [0x61aa7c]
mov eax, dword [eax + 0xac]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x499ad0
mov ecx, dword [edi + 0x214]
mov dword [ebp - 0x623], ecx
push 0
mov byte [ebp - 0x624], 0x27
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x61f], eax
mov eax, dword [ecx + 0x1b0]
mov ecx, esi
push 2
mov dword [ebp - 0x61b], eax
lea eax, [ebp - 0x624]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x499cfb
call fcn.0044c2c0
cmp eax, 1
jne 0x499cfb
mov eax, dword [edi + 0x214]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 0
mov ecx, dword [eax + 0x218]
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x499d2d
call fcn.0044c2c0
cmp eax, 2
jne 0x499d2d
mov eax, dword [edi + 0x214]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 0
mov ecx, dword [eax + 0x218]
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [edi + 0x214]
cmp dword [eax + 0x1ac], 0
jg 0x499fab
push 0
push 2
mov dword [ebp - 0x60f], eax
mov ecx, esi
lea eax, [ebp - 0x614]
mov byte [ebp - 0x614], 0x22
push eax
push 0xd
push dword [edi + 0x10c]
mov dword [ebp - 0x613], edi
push dword [edi + 0x108]
mov dword [ebp - 0x60b], 0xfffffc18
push 0
call fcn.0052c140
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x499edf
call fcn.00473770
cmp eax, 9
jle 0x499edf
mov eax, dword [edi + 0x214]
mov ecx, dword [edi + 0x1bc]
mov dword [ebp - 0x5d0], ecx
cmp ecx, dword [eax + 0x1b8]
jg 0x499edf
mov eax, dword [edi + 0x1b0]
inc ecx
imul eax, ecx
inc dword [edi + 0x1b8]
inc dword [edi + 0x1b4]
mov dword [edi + 0x1bc], ecx
mov ecx, dword [edi + 0x21c]
cdq
idiv dword [ebp - 0x5d0]
mov dword [edi + 0x1b0], eax
call fcn.0048a010
mov ecx, dword [edi + 0x21c]
mov byte [ebp - 0x598], 0
call fcn.004806c0
cmp eax, 1
jge 0x499e29
mov ecx, dword [edi + 0x21c]
call fcn.00480790
mov ecx, dword [ebp - 0x598]
cmp eax, 2
movzx ecx, cl
mov eax, 1
cmovl ecx, eax
mov dword [ebp - 0x598], ecx
mov ecx, dword [edi + 0x21c]
call fcn.00480790
cmp eax, dword [edi + 0x220]
jne 0x499e4c
mov ecx, dword [edi + 0x21c]
call fcn.004806c0
cmp eax, 1
je 0x499e50
mov al, 1
jmp 0x499e56
mov eax, dword [ebp - 0x598]
cmp dword [edi + 0x220], 0x1a
jg 0x499e67
test al, al
je 0x499edf
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x5d0], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x499e96
push 0x5bef9c
push 0
push 8
mov ecx, eax
call fcn.0050d390
mov ecx, eax
jmp 0x499e98
xor ecx, ecx
mov eax, dword [ecx + 0x11c]
push ecx
mov byte [ebp - 4], 0
mov dword [eax], 0xe
mov dword [eax + 4], 1
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 0x447a0000
mov dword [ecx + 0x118], 1
mov ecx, dword [edi + 0x214]
mov ecx, dword [ecx + 0x180]
call fcn.0050dff0
mov eax, dword [edi + 0x214]
mov dword [eax + 0x124], 1
mov eax, dword [edi + 0x214]
mov dword [eax + 0x208], 0
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x499f20
mov eax, dword [edi + 0x214]
mov dword [eax + 0x208], ecx
mov ecx, dword [edi + 0x214]
call fcn.004974f0
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x499f3a
call fcn.0044c2c0
cmp eax, 1
je 0x499f5c
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x499fd4
call fcn.0044c2c0
cmp eax, 2
jne 0x499fd4
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x4c4]
push eax
call fcn.00515b40
mov eax, dword [edi + 0x214]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 1
mov ecx, dword [eax + 0x218]
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
movups xmm0, xmmword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b4]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00515d00
jmp 0x499fd4
mov ecx, eax
call fcn.00497540
test eax, eax
jne 0x499fd4
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5b4]
mov dword [eax + 0x11c], ecx
mov eax, dword [edi + 0x214]
mov dword [eax + 0x214], edi
cmp dword [edi + 0x220], 0x1f
jne 0x499ffd
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [edi + 0x224]
inc eax
cmp edx, eax
jge 0x499ffd
push esi
mov ecx, edi
call fcn.00495ec0
cmp dword [edi + 0x220], 0x18
jne 0x49a2f4
mov eax, dword [edi + 0x214]
mov ecx, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x160]
sub ecx, dword [eax + 0x1bc]
comiss xmm1, dword [0x5bc024]
mov dword [ebp - 0x598], ecx
jbe 0x49a048
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x598], eax
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.005619b8
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x598]
add esi, 2
add edx, eax
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x49a08a
call fcn.005619b8
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x49a093
cmp esi, 0x14
jle 0x49a2ee
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5b8]
push 0
push 3
mov dword [ebp - 0x4bb], eax
lea eax, [ebp - 0x4c0]
push eax
push 0xe
push dword [edi + 0x10c]
mov byte [ebp - 0x4c0], 0x4a
push dword [edi + 0x108]
mov dword [ebp - 0x4b6], 0x1e
push 0
mov dword [ebp - 0x4bf], 0xffffffff
mov byte [ebp - 0x4b7], 1
call fcn.0052c140
mov eax, dword [edi + 0x214]
mov esi, dword [edi + 0x1b8]
push ecx
sub esi, dword [eax + 0x1bc]
mov eax, 2
cmp esi, 2
cmovl esi, eax
imul edi, esi, 0x3e8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x5d8]
add eax, edi
push eax
push 8
mov ecx, dword [ecx + 0x214]
call fcn.00495570
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
add eax, edi
mov edi, dword [ebp - 0x5d8]
push eax
push 2
mov ecx, dword [edi + 0x214]
call fcn.00495570
jmp 0x49a2ee
mov eax, dword [edi + 0x214]
mov esi, dword [ebp - 0x5b8]
mov ecx, esi
push 0
push 2
mov dword [ebp - 0x5f3], eax
lea eax, [ebp - 0x5f8]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x5f8], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x5f7], edi
push 0
mov dword [ebp - 0x5ef], 0xffffffff
call fcn.0052c140
mov eax, dword [edi + 0x214]
mov ecx, eax
mov dword [ebp - 0x598], eax
call fcn.00497540
test eax, eax
mov eax, dword [ebp - 0x598]
jne 0x49a1e7
mov ecx, dword [ebp - 0x5b4]
mov dword [eax + 0x11c], ecx
mov eax, dword [edi + 0x214]
mov dword [eax + 0x214], edi
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49a2f4
call fcn.00473770
cmp eax, 9
jle 0x49a2f4
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dcb0
mov dword [ebp - 0x5d0], eax
test eax, eax
je 0x49a2f4
mov esi, eax
mov ecx, esi
call fcn.0044c2d0
mov ecx, str.Pet_Energy
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49a264
test dl, dl
je 0x49a260
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49a264
add ecx, 2
add eax, 2
test dl, dl
jne 0x49a244
xor eax, eax
jmp 0x49a269
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49a2bf
mov eax, dword [edi + 0x214]
mov ecx, dword [esi + 0x11c]
mov dword [ebp - 0x5d0], ecx
mov eax, dword [eax + 0x1bc]
mov esi, dword [ecx + 8]
cdq
cmp dword [ecx + 0xc], edx
ja 0x49a2bf
jb 0x49a294
cmp esi, eax
jae 0x49a2bf
mov ecx, dword [edi + 0x1b8]
sub ecx, esi
inc ecx
lea eax, [ecx - 1]
cmp eax, 9
ja 0x49a2bf
mov eax, dword [0x61aa7c]
mov eax, dword [eax + 0x94]
imul eax, ecx
mov ecx, dword [ebp - 0x5d0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 8
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x49a238
mov esi, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0x5b4]
mov ecx, edx
mov eax, dword [edi + 0x1c8]
sub ecx, eax
mov dword [ebp - 0x5d0], 5
test eax, eax
je 0x49a322
cmp edx, eax
jb 0x49a322
cmp ecx, 0x3e8
jbe 0x49aa3b
mov eax, dword [edi + 0x1ac]
add eax, dword [edi + 0x234]
mov dword [ebp - 0x5b0], eax
mov dword [edi + 0x1ac], eax
mov eax, dword [edi + 0x220]
mov dword [edi + 0x1c8], edx
cmp eax, 7
jne 0x49a5b1
mov eax, dword [edi + 0x224]
cmp eax, 4
jne 0x49a4ef
cmp dword [edi + 0x21c], 0
jne 0x49a4ef
lea ecx, [edi + 0x184]
mov edx, str.Dragon_Chaplain
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x5a9], al
lea eax, [edi + 0x184]
jne 0x49a3b8
cmp byte [ebp - 0x5a9], 0
je 0x49a3b4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x5a9], al
lea eax, [edi + 0x184]
jne 0x49a3b8
add ecx, 2
add edx, 2
cmp byte [ebp - 0x5a9], 0
jne 0x49a376
xor ecx, ecx
jmp 0x49a3bd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x49a495
mov eax, dword [ebp - 0x5b0]
add eax, 0xc8
mov dword [ebp - 0x598], ecx
mov dword [edi + 0x1ac], eax
mov eax, dword [edi + 0x218]
mov dword [ebp - 0x5bc], eax
add eax, 0x774
mov ecx, eax
mov dword [ebp - 0x5a4], eax
call fcn.0044dcb0
test eax, eax
je 0x49a42a
mov edi, dword [ebp - 0x5a4]
xor esi, esi
cmp dword [eax + 0x128], 0
jne 0x49a419
cmp dword [eax + 0x108], 0xa
jge 0x49a419
inc esi
mov ecx, edi
call fcn.0044dd50
test eax, eax
jne 0x49a406
mov dword [ebp - 0x598], esi
mov edi, dword [ebp - 0x5bc]
mov esi, dword [ebp - 0x598]
add edi, 0x784
mov dword [ebp - 0x5a4], 3
mov ecx, edi
call fcn.0044dcb0
test eax, eax
je 0x49a46f
cmp dword [eax + 0x128], 0
jne 0x49a464
cmp dword [eax + 0x108], 0xa
jge 0x49a464
inc esi
mov ecx, edi
call fcn.0044dd50
test eax, eax
jne 0x49a451
add edi, 0x10
sub dword [ebp - 0x5a4], 1
jne 0x49a446
mov edi, dword [ebp - 0x5d8]
imul eax, esi, 0x64
mov esi, dword [ebp - 0x5b8]
add dword [edi + 0x1ac], eax
jmp 0x49a643
mov ecx, str.Dragon_ArchMage
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49a4c0
test dl, dl
je 0x49a4bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49a4c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x49a4a0
xor eax, eax
jmp 0x49a4c5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x5b0]
jne 0x49a4df
add eax, 0xc8
mov dword [edi + 0x1ac], eax
jmp 0x49a643
add eax, 0x258
mov dword [edi + 0x1ac], eax
jmp 0x49a643
cmp eax, 3
jne 0x49a643
cmp dword [edi + 0x21c], 0
jne 0x49a643
lea ecx, [edi + 0x184]
mov edx, str.Dragon_Prelate
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x5a9], al
lea eax, [edi + 0x184]
jne 0x49a552
cmp byte [ebp - 0x5a9], 0
je 0x49a54e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x5a9], al
lea eax, [edi + 0x184]
jne 0x49a552
add ecx, 2
add edx, 2
cmp byte [ebp - 0x5a9], 0
jne 0x49a510
xor ecx, ecx
jmp 0x49a557
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x49a643
mov ecx, str.Dragon_Acolyte
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49a584
test dl, dl
je 0x49a580
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49a584
add eax, 2
add ecx, 2
test dl, dl
jne 0x49a564
xor eax, eax
jmp 0x49a589
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x5b0]
jne 0x49a5a1
add eax, 0x3c
mov dword [edi + 0x1ac], eax
jmp 0x49a643
add eax, 0x96
mov dword [edi + 0x1ac], eax
jmp 0x49a643
cmp eax, 0x18
jne 0x49a5e6
cmp dword [edi + 0x224], 4
jne 0x49a643
cmp dword [edi + 0x21c], 0
jne 0x49a643
movss xmm0, dword [edi + 0x1a8]
mulss xmm0, dword [0x5c0d98]
cvttss2si eax, xmm0
jmp 0x49a63d
cmp eax, 0x1b
jne 0x49a61a
cmp dword [edi + 0x21c], 0
jne 0x49a643
mov eax, dword [edi + 0x224]
inc eax
imul eax, eax, 0xc8
mov dword [edi + 0x234], eax
cmp eax, 0xfa
jge 0x49a643
mov dword [edi + 0x234], 0xfa
jmp 0x49a643
cmp eax, 0x1e
jne 0x49a643
cmp dword [edi + 0x21c], 0
jne 0x49a643
imul eax, dword [edi + 0x224], 0x47e
mov ecx, 1
cmp eax, 1
cmovl eax, ecx
mov dword [edi + 0x234], eax
mov eax, dword [edi + 0x1b0]
cmp dword [edi + 0x1ac], eax
jle 0x49a661
mov dword [edi + 0x1ac], eax
mov dword [edi + 0x230], 0
cmp byte [edi + 0x1f9], 0
je 0x49aa3b
cmp dword [edi + 0x220], 0x21
mov ecx, dword [edi + 0x1fc]
lea eax, [ecx + 1]
mov dword [edi + 0x1fc], eax
jne 0x49a871
mov dword [edi + 0x1fc], ecx
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49a70c
mov ecx, dword [edi + 0x228]
xor esi, esi
mov dword [edi + 0x1fc], eax
mov eax, dword [edi + 0x22c]
mov dword [edi + 0x10c], eax
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x1b0]
mov dword [edi + 0x108], ecx
mov dword [edi + 0x110], ecx
mov dword [edi + 0x1ac], eax
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0
mov dword [esp], 0
push esi
call fcn.00497560
inc esi
cmp esi, 0xb
jl 0x49a6e1
mov esi, dword [ebp - 0x5b8]
jmp 0x49a871
mov edi, dword [ebp - 0x598]
mov ecx, edi
call fcn.0047f0d0
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2f0], eax
jl 0x49a764
mov ecx, edi
call fcn.00484760
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2ec], eax
jl 0x49a764
mov ecx, edi
call fcn.00486160
imul ecx, dword [edi + 0x188], 0x980
cmp dword [ecx + edi + 0x2e8], eax
jge 0x49a856
mov dword [ebp - 0x5cc], 0
mov dword [ebp - 0x5c4], 0
mov eax, dword [ebp - 0x5d4]
mov byte [ebp - 4], 3
mov dword [ebp - 0x5c8], 0
mov byte [ebp - 0x5a0], 0
mov ecx, dword [eax + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x5a3], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x5a4], cl
mov byte [ebp - 0x5a2], al
lea eax, [ebp - 0x5a4]
sar ecx, 0x18
push eax
mov byte [ebp - 0x5a1], cl
lea ecx, [ebp - 0x5cc]
push 0
call fcn.0043eab0
lea eax, [ebp - 0x4af]
push str.The_Boss_tells_you__I_despise_cheaters___Return_without_your_stat_totem_
push eax
call fcn.0043d360
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 0x4b0], 4
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49a7f6
sub ecx, edx
lea eax, [ebp - 0x5cc]
push eax
mov dword [ebp - 0x598], ecx
lea eax, [ebp - 0x4b0]
mov ecx, dword [esi + 0x11c]
push 0
push eax
mov eax, dword [ebp - 0x598]
mov edx, dword [ecx]
inc eax
push eax
call dword [edx + 4]
imul eax, dword [edi + 0x188], 0x980
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 0
mov dword [eax + edi + 0x2fc], 0
mov dword [edi + 0x124], 1
call fcn.00471720
mov ecx, dword [esi + 0x110]
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x49a712
mov edi, dword [ebp - 0x5d8]
cmp dword [edi + 0x220], 0x1f
jne 0x49aa3b
cmp dword [edi + 0x21c], 0
je 0x49a9f2
mov ecx, esi
mov byte [edi + 0x1f9], 0
call fcn.0044c2c0
test eax, eax
jne 0x49a9f2
mov ecx, dword [edi + 0x21c]
call fcn.00473770
cmp eax, 9
jle 0x49a9f2
call fcn.005619b8
cdq
mov ecx, 0xfe
idiv ecx
lea edi, [edx + 1]
call fcn.005619b8
mov ecx, 0xfe
cdq
idiv ecx
mov ecx, edx
mov dword [ebp - 0x5a4], ecx
nop word [eax + eax]
mov eax, dword [esi]
push ecx
push edi
push ecx
mov eax, dword [eax + 0x20]
mov ecx, esi
push edi
call eax
test eax, eax
sete byte [ebp - 0x5a9]
test eax, eax
jne 0x49a922
call fcn.005619b8
cdq
mov ecx, 0xfe
idiv ecx
lea edi, [edx + 1]
call fcn.005619b8
mov ecx, 0xfe
cdq
idiv ecx
lea ecx, [edx + 1]
mov dword [ebp - 0x5a4], ecx
jmp 0x49a928
mov ecx, dword [ebp - 0x5a4]
cmp byte [ebp - 0x5a9], 0
jne 0x49a8e0
mov dword [ebp - 0x598], edi
mov edi, dword [ebp - 0x5d8]
push 0x2c8
mov eax, dword [edi + 0x224]
cmp eax, 5
cmovg eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x5bc], eax
call fcn.00554883
add esp, 4
mov dword [ebp - 0x5b0], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x49a985
push 0
push 0
push dword [ebp - 0x5bc]
mov ecx, eax
push 0x1f
call fcn.004955d0
mov ecx, eax
jmp 0x49a987
xor ecx, ecx
mov eax, dword [ebp - 0x598]
mov dword [ecx + 0x228], eax
mov dword [ecx + 0x110], eax
mov dword [ecx + 0x108], eax
mov dword [ecx + 0x22c], eax
mov dword [ecx + 0x114], eax
mov dword [ecx + 0x10c], eax
mov byte [ecx + 0x1f9], 1
push ecx
mov ecx, dword [esi + 0x118]
mov byte [ebp - 4], 0
call fcn.00515a10
mov ecx, dword [edi + 0x224]
mov eax, dword [0x61aa7c]
mov edx, dword [ebp - 0x598]
mov dword [eax + ecx*8 + 4], edx
mov ecx, dword [edi + 0x224]
mov eax, dword [0x61aa7c]
mov edx, dword [ebp - 0x5a4]
mov dword [eax + ecx*8 + 8], edx
mov eax, dword [edi + 0x10c]
mov ecx, dword [edi + 0x108]
mov edx, dword [esi]
push eax
push ecx
push eax
mov eax, dword [edx + 0x20]
push ecx
mov ecx, esi
call eax
test eax, eax
jne 0x49aa3b
mov byte [edi + 0x1f9], al
mov dword [edi + 0x1c0], eax
mov dword [edi + 0x220], 0x19
mov dword [edi + 0x1ac], eax
mov dword [edi + 0x1b0], eax
mov dword [edi + 0x124], 1
mov edx, dword [ebp - 0x5b4]
mov ecx, edx
mov eax, dword [edi + 0x1d0]
sub ecx, eax
test eax, eax
je 0x49aa5f
cmp edx, eax
jb 0x49aa5f
cmp ecx, 0x2710
jbe 0x49c1fc
cmp dword [edi + 0x220], 0x19
mov eax, edx
mov dword [edi + 0x1d0], eax
jne 0x49ab59
lea eax, [edi + 0x184]
test eax, eax
jne 0x49ab59
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x49ab59
call fcn.005619b8
cdq
mov ecx, 0x32
idiv ecx
cmp edx, 5
jne 0x49ab59
mov eax, dword [0x61aa7c]
mov eax, dword [eax + 0x64]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5bb220]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [0x5c0d9c]
comiss xmm0, xmm1
ja 0x49aae1
comiss xmm1, dword [0x5c0da0]
jbe 0x49ab59
mov dword [edi + 0x23c], 0
mov dword [edi + 0x240], 0
mov dword [edi + 0x244], 0
mov dword [edi + 0x248], 0
mov dword [edi + 0x24c], 0
mov dword [edi + 0x250], 0
mov dword [edi + 0x254], 0
mov dword [edi + 0x258], 0
mov dword [edi + 0x25c], 0
mov dword [edi + 0x260], 0
mov dword [edi + 0x124], 1
mov dword [edi + 0x1c0], 0
push 8
lea eax, [edi + 0x184]
push str.Revenant
push eax
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49ac17
lea ecx, [ebp - 0x4c0]
call fcn.005157a0
lea eax, [ebp - 0x4c0]
push eax
lea ecx, [edi + 0x2b4]
call fcn.00515800
cmp eax, 0x5a0
jle 0x49ac17
mov dword [edi + 0x23c], 0
mov dword [edi + 0x240], 0
mov dword [edi + 0x244], 0
mov dword [edi + 0x248], 0
mov dword [edi + 0x24c], 0
mov dword [edi + 0x250], 0
mov dword [edi + 0x254], 0
mov dword [edi + 0x258], 0
mov dword [edi + 0x25c], 0
mov dword [edi + 0x260], 0
mov dword [edi + 0x124], 1
mov dword [edi + 0x1c0], 0
push 0xe
lea eax, [edi + 0x184]
push str.Storm_Creature
push eax
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49acd3
lea ecx, [ebp - 0x4c0]
call fcn.005157a0
lea eax, [ebp - 0x4c0]
push eax
lea ecx, [edi + 0x2b4]
call fcn.00515800
cmp eax, 0xa
jle 0x49acd3
mov dword [edi + 0x23c], 0
mov dword [edi + 0x240], 0
mov dword [edi + 0x244], 0
mov dword [edi + 0x248], 0
mov dword [edi + 0x24c], 0
mov dword [edi + 0x250], 0
mov dword [edi + 0x254], 0
mov dword [edi + 0x258], 0
mov dword [edi + 0x25c], 0
mov dword [edi + 0x260], 0
mov dword [edi + 0x124], 1
mov dword [edi + 0x1c0], 0
mov eax, dword [0x61aa7c]
cmp dword [eax + 0x88], 0
je 0x49ae48
push 9
lea eax, [edi + 0x184]
push str.Possessed
push eax
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49ae48
call fcn.005619b8
cdq
mov ecx, 0xfa
idiv ecx
cmp edx, 0x17
jne 0x49ae48
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5a8], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x59c], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49ad44
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x5a8]
jne 0x49af4b
dec ecx
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x59c]
mov eax, 1
mov dword [ebp - 0x598], eax
cmp ecx, dword [edi + 0x108]
jne 0x49ad8d
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x598], 0
cmove eax, dword [ebp - 0x598]
mov dword [ebp - 0x598], eax
mov eax, dword [esi]
push edx
push ecx
push dword [edi + 0x10c]
mov eax, dword [eax + 0x20]
mov ecx, esi
push dword [edi + 0x108]
call eax
test eax, eax
je 0x49ae48
cmp dword [ebp - 0x598], 0
je 0x49ae48
mov eax, dword [ebp - 0x5a8]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x5a8]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x59c]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
cmp dword [edi + 0x220], 0x20
jne 0x49b099
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x59c], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5a8], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49ae80
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x59c]
jne 0x49af88
dec ecx
mov dword [ebp - 0x59c], ecx
mov edx, dword [ebp - 0x5a8]
mov eax, 1
mov dword [ebp - 0x598], eax
cmp ecx, dword [edi + 0x108]
jne 0x49aec9
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x598], 0
cmove eax, dword [ebp - 0x598]
mov dword [ebp - 0x598], eax
mov eax, dword [esi]
push edx
push ecx
push dword [edi + 0x10c]
mov eax, dword [eax + 0x20]
mov ecx, esi
push dword [edi + 0x108]
call eax
test eax, eax
je 0x49b099
cmp dword [ebp - 0x598], 0
je 0x49b099
cmp dword [edi + 0x224], 0
mov eax, dword [edi + 4]
mov dword [ebp - 0x4bf], eax
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x4bb], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x4c4], 0x38
mov dword [ebp - 0x4c3], 0xffffffff
mov byte [ebp - 0x4ba], al
jle 0x49afc5
mov word [ebp - 0x4b9], 0x19ff
mov byte [ebp - 0x4b7], 0x19
jmp 0x49afd5
cmp eax, 1
jne 0x49af56
inc ecx
jmp 0x49ad51
cmp eax, 2
jne 0x49af6d
mov edx, dword [ebp - 0x59c]
dec edx
mov dword [ebp - 0x59c], edx
jmp 0x49ad5d
cmp eax, 3
jne 0x49ad57
mov edx, dword [ebp - 0x59c]
inc edx
mov dword [ebp - 0x59c], edx
jmp 0x49ad5d
cmp eax, 1
jne 0x49af93
inc ecx
jmp 0x49ae8d
cmp eax, 2
jne 0x49afaa
mov edx, dword [ebp - 0x5a8]
dec edx
mov dword [ebp - 0x5a8], edx
jmp 0x49ae99
cmp eax, 3
jne 0x49ae93
mov edx, dword [ebp - 0x5a8]
inc edx
mov dword [ebp - 0x5a8], edx
jmp 0x49ae99
mov word [ebp - 0x4b9], 0xff32
mov byte [ebp - 0x4b7], 0x32
push 0
push 5
mov eax, 1
mov byte [ebp - 0x4b6], 0
mov word [ebp - 0x4b5], ax
mov ecx, esi
lea eax, [ebp - 0x4c4]
push eax
push 0x11
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5a8]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x59c]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x5a8]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
cmp dword [edi + 0x220], 0x1f
jne 0x49b4dd
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5a8], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x59c], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49b0d1
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49b0db
dec dword [ebp - 0x5a8]
jmp 0x49b100
cmp eax, 1
jne 0x49b0e8
inc dword [ebp - 0x5a8]
jmp 0x49b100
cmp eax, 2
jne 0x49b0f5
dec dword [ebp - 0x59c]
jmp 0x49b100
cmp eax, 3
jne 0x49b100
inc dword [ebp - 0x59c]
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x5b0], 0
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
je 0x49b18f
mov ecx, eax
call fcn.0044c2c0
test eax, eax
jne 0x49b17a
mov ecx, dword [ebp - 0x598]
cmp dword [ecx + 0x14f34], eax
jne 0x49b17a
mov eax, dword [edi + 0x108]
sub eax, dword [ecx + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
jge 0x49b17a
mov eax, dword [edi + 0x10c]
sub eax, dword [ecx + 0x10c]
mov ecx, dword [ebp - 0x5b0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
mov eax, 1
cmovl ecx, eax
mov dword [ebp - 0x5b0], ecx
mov ecx, dword [esi + 0x110]
call fcn.0044dd50
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49b123
mov ecx, dword [ebp - 0x5a8]
mov edx, dword [ebp - 0x59c]
cmp ecx, dword [edi + 0x108]
jne 0x49b1c6
mov eax, dword [ebp - 0x5b0]
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x598], 0
cmove eax, dword [ebp - 0x598]
mov dword [ebp - 0x5b0], eax
mov eax, dword [esi]
push edx
push ecx
push dword [edi + 0x10c]
mov eax, dword [eax + 0x20]
mov ecx, esi
push dword [edi + 0x108]
call eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x5b0]
cmp byte [edi + 0x1a4], 0
jne 0x49b206
cmp byte [edi + 0x1a5], 0
jne 0x49b206
cmp byte [edi + 0x1a6], 0xff
je 0x49b4dd
test eax, eax
je 0x49b4dd
call fcn.005619b8
and eax, 0x800000ff
jns 0x49b221
dec eax
or eax, 0xffffff00
inc eax
mov dword [ebp - 0x598], eax
call fcn.005619b8
and eax, 0x800000ff
jns 0x49b23a
dec eax
or eax, 0xffffff00
inc eax
mov dword [ebp - 0x5a4], eax
call fcn.005619b8
mov edx, eax
and edx, 0x800000ff
jns 0x49b257
dec edx
or edx, 0xffffff00
inc edx
cmp dword [edi + 0x21c], 0
mov dword [ebp - 0x5b0], edx
jne 0x49b2e1
movzx eax, byte [edi + 0x108]
mov ecx, dword [edi + 4]
mov byte [ebp - 0x4bb], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x4ba], al
mov eax, dword [ebp - 0x598]
mov byte [ebp - 0x4b9], al
mov eax, dword [ebp - 0x5a4]
mov byte [ebp - 0x4b8], al
mov eax, 2
push 0
mov word [ebp - 0x4b5], ax
lea eax, [ebp - 0x4c4]
push 5
push eax
mov byte [ebp - 0x4c4], 0x38
mov dword [ebp - 0x4c3], 0xffffffff
mov dword [ebp - 0x4bf], ecx
mov byte [ebp - 0x4b7], dl
mov byte [ebp - 0x4b6], 0
push 0x11
jmp 0x49b3f9
push 0x198
call fcn.00554883
add esp, 4
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x49b30d
mov ecx, eax
call fcn.00494430
mov ecx, eax
mov dword [ebp - 0x5bc], eax
jmp 0x49b315
xor ecx, ecx
mov dword [ebp - 0x5bc], ecx
mov eax, dword [ebp - 0x598]
mov dword [ecx + 0x188], eax
mov eax, dword [ebp - 0x5a4]
mov dword [ecx + 0x18c], eax
mov eax, dword [ebp - 0x5b0]
mov dword [ecx + 0x180], 4
mov dword [ecx + 0x184], 0xc8
mov dword [ecx + 0x190], eax
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x10c], eax
mov dword [ecx + 0x194], 0xc8
push ecx
mov ecx, dword [esi + 0x118]
mov byte [ebp - 4], 0
call fcn.00515a10
mov ecx, dword [ebp - 0x5bc]
mov byte [ebp - 0x4c0], 0x54
mov dword [ebp - 0x4bf], ecx
push 0
movzx eax, byte [ecx + 0x180]
mov byte [ebp - 0x4bb], al
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x4b5], eax
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x4b7], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x4b6], al
movzx eax, byte [ecx + 0x188]
mov byte [ebp - 0x4ba], al
movzx eax, byte [ecx + 0x18c]
mov byte [ebp - 0x4b9], al
movzx eax, byte [ecx + 0x190]
mov byte [ebp - 0x4b8], al
lea eax, [ebp - 0x4c0]
push 5
push eax
push 0xf
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.0052c140
cmp dword [edi + 0x21c], 0
jne 0x49b4dd
mov edx, dword [ebp - 0x5a8]
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x120], 1
mov dword [edi + 0x110], edx
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x5a8]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x59c]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
cmp byte [edi + 0x1f9], 0
je 0x49b4dd
mov ecx, dword [edi + 0x224]
mov eax, dword [0x61aa7c]
mov edx, dword [ebp - 0x5a8]
mov dword [eax + ecx*8 + 4], edx
mov ecx, dword [edi + 0x224]
mov eax, dword [0x61aa7c]
mov edx, dword [ebp - 0x59c]
mov dword [eax + ecx*8 + 8], edx
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x598], eax
nop dword [eax + eax]
movss xmm1, dword [edi + eax*4 + 0x154]
comiss xmm1, xmm0
jbe 0x49b5b2
mov ecx, dword [ebp - 0x5b4]
cmp dword [edi + eax*4 + 0x128], ecx
jae 0x49b521
mov dword [edi + eax*4 + 0x154], 0
jmp 0x49b5b2
cmp eax, 4
jne 0x49b5b2
movd xmm0, dword [edi + 0x1ac]
mov ecx, esi
mulss xmm1, dword [0x5bcbcc]
push 0
cvtdq2ps xmm0, xmm0
push 2
mov byte [ebp - 0x5f8], 0x27
mov dword [ebp - 0x5f7], edi
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [edi + 0x1ac], eax
mov dword [ebp - 0x5f3], eax
mov eax, dword [edi + 0x1b0]
mov dword [ebp - 0x5ef], eax
lea eax, [ebp - 0x5f8]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
cmp dword [edi + 0x1ac], 0
xorps xmm0, xmm0
mov eax, dword [ebp - 0x598]
jg 0x49b5b2
mov dword [edi + 0x1ac], 0
mov dword [edi + 0x124], 1
inc eax
mov dword [ebp - 0x598], eax
cmp eax, 0xb
jl 0x49b4f0
cmp dword [edi + 0x23c], 0
je 0x49b5fa
mov eax, dword [edi + 0x264]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x264], eax
cmp eax, 1
jge 0x49b5fa
mov dword [edi + 0x23c], 0
cmp dword [edi + 0x240], 0
je 0x49b632
mov eax, dword [edi + 0x268]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x268], eax
cmp eax, 1
jge 0x49b632
mov dword [edi + 0x240], 0
cmp dword [edi + 0x244], 0
je 0x49b66a
mov eax, dword [edi + 0x26c]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x26c], eax
cmp eax, 1
jge 0x49b66a
mov dword [edi + 0x244], 0
cmp dword [edi + 0x248], 0
je 0x49b6a2
mov eax, dword [edi + 0x270]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x270], eax
cmp eax, 1
jge 0x49b6a2
mov dword [edi + 0x248], 0
cmp dword [edi + 0x24c], 0
je 0x49b6da
mov eax, dword [edi + 0x274]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x274], eax
cmp eax, 1
jge 0x49b6da
mov dword [edi + 0x24c], 0
cmp dword [edi + 0x250], 0
je 0x49b712
mov eax, dword [edi + 0x278]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x278], eax
cmp eax, 1
jge 0x49b712
mov dword [edi + 0x250], 0
cmp dword [edi + 0x254], 0
je 0x49b74a
mov eax, dword [edi + 0x27c]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x27c], eax
cmp eax, 1
jge 0x49b74a
mov dword [edi + 0x254], 0
cmp dword [edi + 0x258], 0
je 0x49b782
mov eax, dword [edi + 0x280]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x280], eax
cmp eax, 1
jge 0x49b782
mov dword [edi + 0x258], 0
cmp dword [edi + 0x25c], 0
je 0x49b7ba
mov eax, dword [edi + 0x284]
lea ecx, [eax + eax*8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x284], eax
cmp eax, 1
jge 0x49b7ba
mov dword [edi + 0x25c], 0
cmp dword [edi + 0x260], 0
je 0x49b7f2
mov ecx, dword [edi + 0x288]
mov eax, 0x66666667
lea ecx, [ecx + ecx*8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x288], eax
cmp eax, 1
jge 0x49b7f2
mov dword [edi + 0x260], 0
cmp dword [edi + 0x220], 0x1b
jne 0x49ba86
mov eax, dword [edi + 0x1ac]
cmp eax, dword [edi + 0x1b0]
jge 0x49ba86
cmp byte [edi + 0x1df], 1
mov ecx, dword [edi + 0x21c]
setne al
mov byte [edi + 0x1df], al
test ecx, ecx
je 0x49b83c
call fcn.00473770
cmp eax, 9
jle 0x49b83c
mov byte [edi + 0x1df], 0
movsx eax, byte [edi + 0x1df]
mov ecx, esi
push 0
push 5
mov dword [ebp - 0x5df], eax
lea eax, [ebp - 0x5e4]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5e4], 0x56
push dword [edi + 0x108]
mov dword [ebp - 0x5e3], edi
push 0
call fcn.0052c140
cmp byte [edi + 0x1df], 1
jne 0x49ba86
xor eax, eax
nop word [eax + eax]
inc eax
mov dword [ebp - 0x5bc], eax
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5a8], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x59c], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49b8c2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49b8cc
dec dword [ebp - 0x5a8]
jmp 0x49b8f1
cmp eax, 1
jne 0x49b8d9
inc dword [ebp - 0x5a8]
jmp 0x49b8f1
cmp eax, 2
jne 0x49b8e6
dec dword [ebp - 0x59c]
jmp 0x49b8f1
cmp eax, 3
jne 0x49b8f1
inc dword [ebp - 0x59c]
mov ecx, dword [edi + 0x228]
xor eax, eax
mov edx, dword [edi + 0x22c]
mov esi, dword [ebp - 0x5a8]
mov edi, dword [ebp - 0x59c]
sub esi, ecx
sub ecx, dword [ebp - 0x5a8]
sub edi, edx
sub edx, dword [ebp - 0x59c]
cmp ecx, 2
setle al
xor ecx, ecx
cmp edx, 2
cmovle ecx, eax
xor eax, eax
cmp esi, 2
cmovle eax, ecx
xor ecx, ecx
cmp edi, 2
mov edi, dword [ebp - 0x5d8]
cmovle ecx, eax
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5a4], ecx
cmp eax, dword [edi + 0x108]
jge 0x49b961
xor edx, edx
cmp eax, 2
cmovl ecx, edx
mov dword [ebp - 0x5a4], ecx
mov esi, dword [edi + 0x10c]
mov edx, dword [ebp - 0x59c]
cmp edx, esi
jge 0x49b98b
cmp edx, 2
mov dword [ebp - 0x598], 0
cmovl ecx, dword [ebp - 0x598]
mov dword [ebp - 0x5a4], ecx
cmp eax, dword [edi + 0x108]
jne 0x49b9a0
xor eax, eax
cmp edx, esi
cmove ecx, eax
mov dword [ebp - 0x5a4], ecx
mov esi, dword [ebp - 0x5b8]
mov ecx, esi
push edx
push dword [ebp - 0x5a8]
mov eax, dword [esi]
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x49b9db
cmp dword [ebp - 0x5a4], 0
je 0x49b9db
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jae 0x49b9ef
mov eax, dword [ebp - 0x5bc]
cmp eax, 0xa
jl 0x49b890
jmp 0x49ba86
mov eax, dword [ebp - 0x5a8]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x5a8]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x59c]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
push esi
mov ecx, edi
call fcn.004977d0
cmp dword [edi + 0x220], 0x1e
jne 0x49bce6
cmp dword [edi + 0x224], 1
jle 0x49bce6
mov eax, dword [edi + 0x1ac]
cmp eax, dword [edi + 0x1b0]
jge 0x49bce6
cmp byte [edi + 0x1df], 1
mov ecx, dword [edi + 0x21c]
setne al
mov byte [edi + 0x1df], al
test ecx, ecx
je 0x49badd
call fcn.00473770
cmp eax, 9
jle 0x49badd
mov byte [edi + 0x1df], 0
cmp byte [edi + 0x1df], 1
jne 0x49bce6
xor eax, eax
nop dword [eax]
inc eax
mov dword [ebp - 0x5bc], eax
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5a8], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x59c], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49bb22
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49bb2c
dec dword [ebp - 0x5a8]
jmp 0x49bb51
cmp eax, 1
jne 0x49bb39
inc dword [ebp - 0x5a8]
jmp 0x49bb51
cmp eax, 2
jne 0x49bb46
dec dword [ebp - 0x59c]
jmp 0x49bb51
cmp eax, 3
jne 0x49bb51
inc dword [ebp - 0x59c]
mov ecx, dword [edi + 0x228]
xor eax, eax
mov edx, dword [edi + 0x22c]
mov esi, dword [ebp - 0x5a8]
mov edi, dword [ebp - 0x59c]
sub esi, ecx
sub ecx, dword [ebp - 0x5a8]
sub edi, edx
sub edx, dword [ebp - 0x59c]
cmp ecx, 2
setle al
xor ecx, ecx
cmp edx, 2
cmovle ecx, eax
xor eax, eax
cmp esi, 2
cmovle eax, ecx
xor ecx, ecx
cmp edi, 2
mov edi, dword [ebp - 0x5d8]
cmovle ecx, eax
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5a4], ecx
cmp eax, dword [edi + 0x108]
jge 0x49bbc1
xor edx, edx
cmp eax, 2
cmovl ecx, edx
mov dword [ebp - 0x5a4], ecx
mov esi, dword [edi + 0x10c]
mov edx, dword [ebp - 0x59c]
cmp edx, esi
jge 0x49bbeb
cmp edx, 2
mov dword [ebp - 0x598], 0
cmovl ecx, dword [ebp - 0x598]
mov dword [ebp - 0x5a4], ecx
cmp eax, dword [edi + 0x108]
jne 0x49bc00
xor eax, eax
cmp edx, esi
cmove ecx, eax
mov dword [ebp - 0x5a4], ecx
mov esi, dword [ebp - 0x5b8]
mov ecx, esi
push edx
push dword [ebp - 0x5a8]
mov eax, dword [esi]
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x49bc3b
cmp dword [ebp - 0x5a4], 0
je 0x49bc3b
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jae 0x49bc4f
mov eax, dword [ebp - 0x5bc]
cmp eax, 0xa
jl 0x49baf0
jmp 0x49bce6
mov eax, dword [ebp - 0x5a8]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x5a8]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x59c]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
push esi
mov ecx, edi
call fcn.004977d0
cmp dword [edi + 0x220], 7
jne 0x49c1fc
mov eax, dword [esi]
mov ecx, esi
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov eax, dword [eax + 0x34]
call eax
mov dword [ebp - 0x5d4], eax
add eax, 8
mov ecx, eax
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x5b0], eax
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
je 0x49bdd5
mov edi, dword [ebp - 0x5b0]
mov esi, eax
nop dword [eax + eax]
cmp dword [esi + 0x110], 0
jne 0x49bdbc
push 0x13
mov ecx, esi
call fcn.0044c2d0
push eax
push str.Ancient_Dragonscale
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49bd86
mov eax, dword [ebp - 0x5a4]
add eax, dword [esi + 0x118]
mov dword [ebp - 0x5a4], eax
cmp dword [esi + 0x110], 0
jne 0x49bdbc
push 0xc
mov ecx, esi
call fcn.0044c2d0
push eax
push str.Demon_Amulet
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49bdbc
mov eax, dword [ebp - 0x5bc]
add eax, dword [esi + 0x118]
mov dword [ebp - 0x5bc], eax
mov ecx, edi
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x49bd50
mov edi, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x5b8]
mov eax, dword [edi + 0x224]
cmp eax, 2
jne 0x49c066
cmp dword [ebp - 0x5a4], 1
jle 0x49bf6c
mov ecx, dword [ebp - 0x5b0]
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
je 0x49be66
mov edi, dword [ebp - 0x5b0]
mov esi, eax
nop
cmp dword [esi + 0x110], 0
jne 0x49be4d
push 0x13
mov ecx, esi
call fcn.0044c2d0
push eax
push str.Ancient_Dragonscale
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49be4d
push esi
mov ecx, edi
call fcn.0044dea0
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, edi
call fcn.0044dcb0
jmp 0x49be54
mov ecx, edi
call fcn.0044dd50
mov esi, eax
test esi, esi
jne 0x49be10
mov edi, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x5b8]
push 0x120
call fcn.00554883
add esp, 4
mov dword [ebp - 0x598], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x49be93
push str.Elatium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050d390
jmp 0x49be95
xor eax, eax
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x598], eax
mov byte [ebp - 4], 0
mov dword [ecx + 0xc], 0x41100000
mov dword [ecx + 0x10], 0x41100000
mov dword [ecx], 0
mov dword [ecx + 4], 0x32
mov dword [ecx + 8], 0x80
mov ecx, 1
mov dword [eax + 0x108], 0x3f800000
mov dword [eax + 0x10c], 0x47927c00
mov eax, dword [ebp - 0x5a4]
cdq
sub eax, edx
sar eax, 1
cmp eax, 1
cmovl eax, ecx
mov ecx, dword [ebp - 0x598]
push ecx
mov dword [ecx + 0x118], eax
mov ecx, dword [ebp - 0x5b0]
call fcn.0044daf0
lea eax, [ebp - 0x4ae]
push str.The_dragon_agrees_to_a_trade.
push eax
call fcn.0043d360
lea ecx, [ebp - 0x4b0]
mov word [ebp - 0x4b0], 0xfb04
add esp, 8
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49bf30
push 0
push 1
sub ecx, edx
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov eax, dword [edi + 0x224]
cmp eax, 2
jne 0x49c066
cmp dword [ebp - 0x5bc], 0
jle 0x49c066
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x598], 0
call fcn.0044dcb0
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x49c000
mov esi, dword [ebp - 0x5b0]
mov edi, eax
cmp dword [edi + 0x110], 0
jne 0x49bfdd
push 0xc
mov ecx, edi
call fcn.0044c2d0
push eax
push str.Demon_Amulet
call fcn.00584520
add esp, 0xc
test eax, eax
jne 0x49bfdd
push edi
mov ecx, esi
call fcn.0044dea0
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov ecx, esi
call fcn.0044dcb0
jmp 0x49bfee
mov ecx, esi
mov dword [ebp - 0x598], 1
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x49bfa0
mov edi, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x5b8]
push esi
push dword [ebp - 0x5bc]
mov ecx, edi
call fcn.00496be0
cmp dword [ebp - 0x598], 0
jne 0x49c066
mov eax, dword [ebp - 0x5d4]
mov ecx, esi
mov dword [ebp - 0x5c7], eax
movzx eax, byte [edi + 0x108]
push 0
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x5c2], al
lea eax, [ebp - 0x5c8]
push eax
push 7
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1a
push dword [edi + 0x108]
push 0
call fcn.0052c140
cmp dword [edi + 0x220], 7
jne 0x49c1fc
cmp dword [edi + 0x224], 4
jne 0x49c1fc
mov eax, str.Dragon_ArchMage
lea edx, [edi + 0x184]
nop dword [eax + eax]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x49c0b0
test cl, cl
je 0x49c0ac
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x49c0b0
add edx, 2
add eax, 2
test cl, cl
jne 0x49c090
xor eax, eax
jmp 0x49c0b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49c1fc
cmp dword [edi + 0x1ac], 0x3a98
jge 0x49c1fc
cmp dword [edi + 0x230], eax
jne 0x49c1fc
mov dword [edi + 0x230], 1
mov dword [ebp - 0x5a4], 4
nop dword [eax]
push 0x2c8
call fcn.00554883
add esp, 4
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x49c124
push 0
push 0
push 5
push 7
mov ecx, eax
call fcn.004955d0
mov edx, eax
mov dword [ebp - 0x598], eax
jmp 0x49c12c
xor edx, edx
mov dword [ebp - 0x598], edx
mov ecx, dword [edi + 0x10c]
mov eax, dword [edi + 0x108]
mov dword [edx + 0x108], eax
mov dword [edx + 0x10c], ecx
mov dword [edx + 0x110], eax
mov dword [edx + 0x114], ecx
mov dword [edx + 0x228], eax
mov dword [edx + 0x22c], ecx
mov ecx, dword [esi + 0x118]
push edx
mov byte [ebp - 4], 0
call fcn.00515a10
mov ecx, dword [ebp - 0x598]
mov byte [ebp - 0x5cc], 0x18
mov dword [ebp - 0x5cb], ecx
call fcn.0044c2c0
mov ecx, dword [ebp - 0x598]
mov byte [ebp - 0x5c7], al
push 0
push 5
movzx eax, word [ecx + 0x220]
mov word [ebp - 0x5c6], ax
movzx eax, word [ecx + 0x224]
mov word [ebp - 0x5c4], ax
mov byte [ebp - 0x5c2], 0
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x5c1], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5cc]
push eax
push 0xd
push dword [ecx + 0x10c]
push dword [ecx + 0x108]
mov ecx, esi
push 0
call fcn.0052c140
sub dword [ebp - 0x5a4], 1
jne 0x49c0f0
mov eax, dword [edi + 0x1cc]
mov ecx, dword [ebp - 0x5b4]
sub ecx, eax
test eax, eax
je 0x49c222
cmp dword [ebp - 0x5b4], eax
jb 0x49c222
cmp ecx, 0xc350
jbe 0x49c64f
cmp dword [edi + 0x120], 0
jne 0x49c64f
cmp dword [edi + 0x204], 0
jne 0x49c64f
call fcn.005619b8
cdq
mov ecx, 0x2710
idiv ecx
mov eax, dword [ebp - 0x5b4]
sub eax, edx
mov dword [edi + 0x1cc], eax
movsx eax, byte [edi + 0x1dc]
mov dword [ebp - 0x5d4], eax
test eax, eax
jne 0x49c306
mov ecx, esi
call fcn.0044c2c0
test eax, eax
jne 0x49c300
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x4c4]
push eax
call fcn.00515b40
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515a30
test eax, eax
je 0x49c2dd
mov edi, dword [ebp - 0x5d4]
mov ecx, eax
call fcn.0044c2c0
mov ecx, dword [esi + 0x118]
cmp eax, 7
mov eax, 1
cmove edi, eax
call fcn.00515ad0
test eax, eax
jne 0x49c2b0
mov dword [ebp - 0x5d4], edi
mov edi, dword [ebp - 0x5d8]
movups xmm0, xmmword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b4]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00515d00
mov eax, dword [ebp - 0x5d4]
cmp dword [edi + 0x220], 0x1a
jne 0x49c3d7
test eax, eax
jne 0x49c3d7
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x598], eax
lea eax, [ebp - 0x4c4]
push eax
call fcn.00515b40
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515a30
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x49c38a
mov edi, eax
mov ecx, edi
call fcn.0044c2c0
cmp eax, 1
jne 0x49c373
cmp dword [edi + 0x220], 0x1a
jne 0x49c373
inc dword [ebp - 0x598]
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
mov edi, eax
test edi, edi
jne 0x49c358
mov edi, dword [ebp - 0x5d8]
movups xmm0, xmmword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b4]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00515d00
mov eax, dword [ebp - 0x598]
add eax, 0xfffffffe
cmp eax, 4
ja 0x49c4b0
mov eax, dword [edi + 0x108]
mov dword [edi + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [edi + 0x22c], eax
mov eax, dword [ebp - 0x5d4]
cmp dword [edi + 0x220], 0x1d
jne 0x49c4ba
test eax, eax
jne 0x49c4c2
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x598], eax
lea eax, [ebp - 0x4c4]
push eax
call fcn.00515b40
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515a30
mov dword [ebp - 0x5a4], eax
test eax, eax
je 0x49c462
mov edi, eax
nop
mov ecx, edi
call fcn.0044c2c0
cmp eax, 1
jne 0x49c44b
cmp dword [edi + 0x220], 0x1d
jne 0x49c44b
inc dword [ebp - 0x598]
mov ecx, dword [esi + 0x118]
call fcn.00515ad0
mov edi, eax
test edi, edi
jne 0x49c430
mov edi, dword [ebp - 0x5d8]
movups xmm0, xmmword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4b4]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00515d00
mov eax, dword [ebp - 0x598]
add eax, 0xfffffffe
cmp eax, 4
ja 0x49c4c2
mov eax, dword [edi + 0x108]
mov dword [edi + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [edi + 0x22c], eax
jmp 0x49c64f
mov eax, 1
jmp 0x49c3dd
test eax, eax
je 0x49c64f
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x59c], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5a8], eax
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x49c4ed
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x59c]
jne 0x49c8ef
dec ecx
mov dword [ebp - 0x59c], ecx
mov edx, dword [ebp - 0x5a8]
mov eax, 1
mov dword [ebp - 0x5a4], eax
cmp ecx, dword [edi + 0x108]
jge 0x49c533
cmp ecx, 2
mov dword [ebp - 0x598], 0
cmovl eax, dword [ebp - 0x598]
mov dword [ebp - 0x5a4], eax
cmp edx, dword [edi + 0x10c]
jge 0x49c555
cmp edx, 2
mov dword [ebp - 0x598], 0
cmovl eax, dword [ebp - 0x598]
mov dword [ebp - 0x5a4], eax
cmp ecx, dword [edi + 0x108]
jne 0x49c57a
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x598], 0
cmove eax, dword [ebp - 0x598]
mov dword [ebp - 0x5a4], eax
mov eax, dword [esi]
push edx
push ecx
push dword [edi + 0x10c]
mov eax, dword [eax + 0x20]
mov ecx, esi
push dword [edi + 0x108]
call eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x5a4]
cmp dword [edi + 0x21c], 0
jne 0x49c64f
test eax, eax
je 0x49c64f
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jb 0x49c64f
mov eax, dword [ebp - 0x59c]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5a8]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi + 0x118], eax
mov ecx, esi
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5c2], al
mov eax, dword [ebp - 0x59c]
push 0
mov byte [ebp - 0x5c1], al
mov eax, dword [ebp - 0x5a8]
push 5
mov byte [ebp - 0x5c0], al
lea eax, [ebp - 0x5c8]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
mov edx, dword [edi + 0x1d8]
test edx, edx
je 0x49ced7
mov eax, dword [edi + 0x1d4]
mov ecx, dword [ebp - 0x5b4]
sub ecx, eax
mov dword [ebp - 0x598], 0x927c1
cmp dword [ebp - 0x5b4], eax
cmovb ecx, dword [ebp - 0x598]
test eax, eax
mov eax, dword [ebp - 0x5b4]
jne 0x49c694
mov dword [edi + 0x1d4], eax
xor ecx, ecx
cmp edx, 2
jne 0x49c92c
cmp ecx, 0x927c0
jbe 0x49ced7
mov dword [edi + 0x1d4], eax
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x5a4], 0
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
je 0x49ced7
cmp dword [ebp - 0x5a4], 0
jne 0x49c732
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x598]
xor ecx, ecx
cmp edx, 3
cmovne eax, ecx
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x5a4], eax
call fcn.0044dd50
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49c6d2
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49c6d2
cmp dword [ebp - 0x5a4], eax
je 0x49ced7
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jb 0x49ced7
movzx eax, byte [edi + 0x108]
mov ecx, esi
push 0
mov byte [ebp - 0x5c3], al
movzx eax, byte [edi + 0x10c]
push 6
mov byte [ebp - 0x5c2], al
lea eax, [ebp - 0x5c8]
push eax
push 7
push dword [edi + 0x10c]
mov byte [ebp - 0x5c8], 0x1a
push dword [edi + 0x108]
mov dword [ebp - 0x5c7], edi
push 0
call fcn.0052c140
mov ecx, dword [ebp - 0x5a4]
push edi
mov eax, dword [ecx + 0x108]
mov dword [edi + 0x108], eax
mov eax, dword [ecx + 0x10c]
mov dword [edi + 0x10c], eax
mov ecx, dword [esi + 0x118]
call fcn.00515c00
movzx eax, byte [edi + 0x108]
mov ecx, edi
mov byte [ebp - 0x5dd], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5dc], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x5e2], ax
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x5e8], 0x18
mov dword [ebp - 0x5e7], edi
mov word [ebp - 0x5e0], ax
call fcn.0044c2c0
push 0
push 6
mov byte [ebp - 0x5e3], al
mov ecx, esi
lea eax, [ebp - 0x5e8]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
movzx eax, byte [edi + 0x108]
mov ecx, esi
push 0
mov byte [ebp - 0x4bb], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x4ba], al
lea eax, [ebp - 0x4c4]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x4c4], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x4c3], 0xffffffff
push 0
mov dword [ebp - 0x4bf], edi
mov word [ebp - 0x4b9], 0xff
mov dword [ebp - 0x4b7], 0x10100
call fcn.0052c140
lea eax, [ebp - 0x4ae]
push str.The_Thieving_Spirit_has_arrived_
push eax
call fcn.0043d360
lea ecx, [ebp - 0x4b0]
mov word [ebp - 0x4b0], 0xfe04
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c8b3
push 0
push 5
sub ecx, edx
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov dword [edi + 0x1d8], 1
jmp 0x49ced7
cmp eax, 1
jne 0x49c8fa
inc ecx
jmp 0x49c4fa
cmp eax, 2
jne 0x49c911
mov edx, dword [ebp - 0x5a8]
dec edx
mov dword [ebp - 0x5a8], edx
jmp 0x49c506
cmp eax, 3
jne 0x49c500
mov edx, dword [ebp - 0x5a8]
inc edx
mov dword [ebp - 0x5a8], edx
jmp 0x49c506
cmp edx, 1
jne 0x49ced7
cmp ecx, 0x7530
jbe 0x49ced7
mov dword [edi + 0x1d4], eax
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x5b0], 0
call fcn.0044dcb0
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x5a4], eax
test ecx, ecx
je 0x49cd63
nop
mov edx, dword [ebp - 0x5b0]
test edx, edx
jne 0x49c9ee
cmp eax, 0xc8
jge 0x49cd63
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x49c9ac
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
cmove edx, ecx
mov dword [ebp - 0x5b0], edx
mov ecx, dword [esi + 0x110]
inc dword [ebp - 0x5a4]
call fcn.0044dd50
mov ecx, eax
mov eax, dword [ebp - 0x5a4]
test ecx, ecx
jne 0x49c970
mov ecx, dword [esi + 0x110]
call fcn.0044dcb0
mov ecx, eax
mov eax, dword [ebp - 0x5a4]
test ecx, ecx
jne 0x49c970
mov edx, dword [ebp - 0x5b0]
test edx, edx
je 0x49cd63
imul eax, dword [edx + 0x188], 0x980
mov dword [ebp - 0x5b4], 0
mov eax, dword [eax + edx + 0x2e4]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x59c], eax
call fcn.0044dcb0
xor ecx, ecx
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x5a4], ecx
test eax, eax
je 0x49caaa
mov edi, dword [ebp - 0x59c]
xor esi, esi
test esi, esi
jne 0x49ca98
cmp dword [eax + 0x110], 2
jne 0x49ca66
inc ecx
mov dword [ebp - 0x5a4], ecx
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
mov esi, dword [ebp - 0x598]
xor eax, eax
cmp edx, 3
cmovne esi, eax
mov ecx, edi
call fcn.0044dd50
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49ca37
test ecx, ecx
jle 0x49ca98
mov ecx, edi
call fcn.0044dcb0
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x598], eax
test eax, eax
jne 0x49ca37
mov edi, dword [ebp - 0x5d8]
mov dword [ebp - 0x5b4], esi
mov esi, dword [ebp - 0x5b8]
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x598], 0
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0x5a4], ecx
test ecx, ecx
je 0x49cb5e
nop
mov eax, dword [ebp - 0x5b4]
test eax, eax
jne 0x49cc4d
mov eax, dword [ebp - 0x598]
cmp eax, 0x64
jge 0x49cb6c
mov ecx, dword [ecx + 0x110]
cmp ecx, 1
je 0x49cb25
cmp ecx, 0x15
je 0x49cb25
call fcn.005619b8
cdq
idiv dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5b4]
cmp edx, 3
cmove eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x598]
mov ecx, dword [ebp - 0x59c]
inc eax
mov dword [ebp - 0x598], eax
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0x5a4], ecx
test ecx, ecx
jne 0x49cad0
mov ecx, dword [ebp - 0x59c]
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0x5a4], eax
test ecx, ecx
jne 0x49cad0
mov eax, dword [ebp - 0x5b4]
test eax, eax
jne 0x49cc4d
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x598], 0
imul eax, dword [ecx + 0x188], 0x980
mov eax, dword [eax + ecx + 0x2d8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x59c], eax
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0x5a4], ecx
test ecx, ecx
je 0x49ccfd
nop dword [eax]
mov eax, dword [ebp - 0x5b4]
test eax, eax
jne 0x49cc4d
mov eax, dword [ebp - 0x598]
cmp eax, 0x64
jge 0x49ccfd
mov ecx, dword [ecx + 0x110]
cmp ecx, 1
je 0x49cc06
cmp ecx, 0x15
je 0x49cc06
call fcn.005619b8
cdq
mov ecx, 0x23
idiv ecx
mov eax, dword [ebp - 0x5b4]
cmp edx, 3
cmove eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x598]
mov ecx, dword [ebp - 0x59c]
inc eax
mov dword [ebp - 0x598], eax
call fcn.0044dd50
mov ecx, eax
mov dword [ebp - 0x5a4], ecx
test ecx, ecx
jne 0x49cbb0
mov ecx, dword [ebp - 0x59c]
call fcn.0044dcb0
mov ecx, eax
mov dword [ebp - 0x5a4], eax
test ecx, ecx
jne 0x49cbb0
mov eax, dword [ebp - 0x5b4]
test eax, eax
je 0x49ccfd
mov ecx, dword [ebp - 0x5b0]
cmp dword [ecx + 0x14f34], 0
jne 0x49ccfd
mov ecx, dword [ebp - 0x59c]
push eax
call fcn.0044dea0
mov ecx, dword [edi + 0x180]
push dword [ebp - 0x5b4]
add ecx, 8
call fcn.0044daf0
mov ecx, dword [ebp - 0x5b4]
call fcn.0044c2d0
mov ecx, dword [ebp - 0x5b0]
push eax
imul eax, dword [ecx + 0x188], 0x980
add ecx, 0x2a0
add eax, ecx
push eax
lea eax, [ebp - 0x4ae]
push str.The_Thieving_Spirit_has_stolen__ss__s_
push eax
call fcn.0043d360
lea ecx, [ebp - 0x4b0]
mov word [ebp - 0x4b0], 0xfe04
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49ccd0
push 0
push 5
sub ecx, edx
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
movzx eax, byte [edi + 0x108]
mov ecx, esi
push 0
mov byte [ebp - 0x4bb], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x4ba], al
lea eax, [ebp - 0x4c4]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x4c4], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x4c3], 0xffffffff
push 0
mov dword [ebp - 0x4bf], edi
mov word [ebp - 0x4b9], 0xff
mov dword [ebp - 0x4b7], 0x10100
call fcn.0052c140
call fcn.005619b8
cdq
mov ecx, 3
idiv ecx
mov eax, dword [edi + 0x108]
dec edx
add eax, edx
mov dword [ebp - 0x598], eax
call fcn.005619b8
cdq
mov ecx, 3
idiv ecx
mov eax, dword [edi + 0x10c]
mov ecx, dword [ebp - 0x598]
dec eax
add edx, eax
mov eax, dword [esi]
push edx
push ecx
push edx
mov eax, dword [eax + 0x20]
push ecx
mov ecx, esi
mov dword [ebp - 0x5a4], edx
call eax
test eax, eax
je 0x49cd63
mov ecx, dword [edi + 0x108]
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x5d0], eax
cmp dword [ebp - 0x598], ecx
jne 0x49cdda
cmp dword [ebp - 0x5a4], eax
je 0x49cd63
movss xmm0, dword [edi + 0x174]
lea edx, [ebp - 0x5c8]
push 0
push 6
push edx
push 7
push eax
push ecx
mov byte [ebp - 0x5c3], cl
mov ecx, esi
push 0
movss dword [ebp - 0x5bc], xmm0
mov byte [ebp - 0x5c8], 0x1a
mov dword [ebp - 0x5c7], edi
mov byte [ebp - 0x5c2], al
call fcn.0052c140
movss xmm0, dword [ebp - 0x5bc]
xorps xmm1, xmm1
mov eax, dword [ebp - 0x5b0]
comiss xmm0, xmm1
push edi
cmovbe eax, dword [ebp - 0x598]
mov dword [edi + 0x108], eax
mov eax, dword [ebp - 0x5d0]
cmovbe eax, dword [ebp - 0x5a4]
mov dword [edi + 0x10c], eax
mov ecx, dword [esi + 0x118]
call fcn.00515c00
movzx eax, byte [edi + 0x108]
mov ecx, edi
mov byte [ebp - 0x5dd], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x5dc], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x5e2], ax
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x5e8], 0x18
mov dword [ebp - 0x5e7], edi
mov word [ebp - 0x5e0], ax
call fcn.0044c2c0
push 0
push 6
mov byte [ebp - 0x5e3], al
mov ecx, esi
lea eax, [ebp - 0x5e8]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052c140
mov dword [edi + 0x1d8], 2
lea ecx, [ebp - 0x604]
call fcn.00471720
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.005548c1
mov esp, ebp
pop ebp
ret 4