Function at 0x499810
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c25af
mov eax, dword fs:[0]
push eax
sub esp, 0x664
mov eax, dword [0x626734]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x624], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x5e8], esi
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x63c], 0
mov dword [ebp - 0x638], 0
mov ecx, esi
mov dword [ebp - 4], 0
mov byte [ebp - 0x57c], 0x17
mov dword [ebp - 0x620], 0
call fcn.0044ccc0
cmp eax, 1
mov eax, 0
cmove eax, esi
mov dword [ebp - 0x600], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [edi + 0x1ec]
mov edx, eax
mov dword [ebp - 0x61c], edx
test ecx, ecx
jle 0x499a18
cmp dword [edi + 0x1e8], edx
ja 0x499a18
mov eax, dword [edi + 0x1ac]
add dword [edi + 0x1f0], ecx
sub eax, ecx
mov dword [edi + 0x1ac], eax
test eax, eax
jg 0x499937
mov ecx, dword [edi + 0x218]
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x124], 1
mov dword [edi + 0x208], eax
test ecx, ecx
je 0x499910
call fcn.0044ccc0
cmp eax, 1
jne 0x499910
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push eax
jmp 0x4999fc
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x499a08
call fcn.0044ccc0
cmp eax, 2
jne 0x499a08
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 1
jmp 0x4999fc
push 0
mov dword [ebp - 0x60f], eax
mov ecx, esi
mov eax, dword [edi + 0x1b0]
push 2
mov dword [ebp - 0x60b], eax
lea eax, [ebp - 0x614]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x614], 0x27
push dword [edi + 0x108]
mov dword [ebp - 0x613], edi
push 0
call fcn.00529cd0
mov eax, dword [edi + 0x1bc]
imul eax, eax
cmp eax, dword [edi + 0x1ec]
jg 0x4999a4
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x471c4000
push 7
call fcn.00498ae0
cmp dword [edi + 0x204], 0
jne 0x4999ce
cmp dword [edi + 0x214], 0
jne 0x4999ce
mov eax, dword [ebp - 0x61c]
mov dword [edi + 0x11c], eax
mov eax, dword [edi + 0x20c]
mov dword [edi + 0x204], eax
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x4999e2
call fcn.0044ccc0
cmp eax, 1
je 0x4999f6
mov ecx, dword [edi + 0x218]
test ecx, ecx
je 0x499a08
call fcn.0044ccc0
cmp eax, 2
jne 0x499a08
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 - 0x61c]
mov dword [edi + 0x1ec], 0
cmp dword [edi + 0x120], 0
mov ecx, edx
je 0x499ed6
mov eax, dword [edi + 0x118]
sub ecx, eax
test eax, eax
je 0x499a59
cmp edx, eax
jb 0x499a59
mov dword [edi + 0x204], 0
mov dword [edi + 0x214], 0
cmp ecx, 0x7d0
jbe 0x49e609
jmp 0x499a6d
mov dword [edi + 0x204], 0
mov dword [edi + 0x214], 0
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.00513750
cmp byte [edi + 0x184], 0
mov al, byte [edi + 0x108]
mov cl, byte [edi + 0x10c]
movzx edx, word [edi + 0x220]
mov esi, dword [ebp - 0x5e8]
je 0x499b72
mov byte [ebp - 0x3d], al
movzx eax, word [edi + 0x224]
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x33]
push 0x20
push eax
mov byte [ebp - 0x3c], cl
mov ecx, edi
push 0x20
mov byte [ebp - 0x48], 0x19
mov dword [ebp - 0x47], edi
mov word [ebp - 0x42], dx
mov byte [ebp - 0x43], 1
call fcn.00498d10
push eax
call fcn.0044d1c0
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.0044ccc0
cmp eax, 1
jne 0x499b5c
xor al, al
mov byte [ebp - 0x3e], al
cmp byte [edi + 0x1dc], al
jne 0x499b5c
cmp byte [edi + 0x1de], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov byte [ebp - 0x3e], al
mov ecx, edi
call fcn.0044ccc0
push 0
mov byte [ebp - 0x43], al
lea eax, [ebp - 0x48]
push 6
push eax
push 0x35
jmp 0x499bee
mov byte [ebp - 0x609], al
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x608], cl
mov ecx, esi
mov byte [ebp - 0x614], 0x18
mov dword [ebp - 0x613], edi
mov word [ebp - 0x60e], dx
mov word [ebp - 0x60c], ax
call fcn.0044ccc0
cmp eax, 1
jne 0x499bd4
xor al, al
mov byte [ebp - 0x60a], al
cmp byte [edi + 0x1dc], al
jne 0x499bd4
cmp byte [edi + 0x1de], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov byte [ebp - 0x60a], al
mov ecx, edi
call fcn.0044ccc0
push 0
mov byte [ebp - 0x60f], al
lea eax, [ebp - 0x614]
push 6
push eax
push 0xd
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov ecx, dword [esi + 0x110]
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x499cd5
mov ecx, esi
call fcn.0044ccc0
test eax, eax
jne 0x499cba
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x499cba
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x499cba
cmp dword [esi + 0x14ea0], 0
mov dword [ebp - 0x620], esi
jne 0x499ca2
cmp dword [esi + 0x14f14], 0
jne 0x499ca2
cmp dword [edi + 0x21c], 0
jne 0x499ca2
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x499c7e
push esi
mov ecx, eax
call fcn.004ee140
test eax, eax
jne 0x499ca2
cmp dword [esi + 0x14f48], 0
jne 0x499ca2
cmp dword [edi + 0x220], 0x1f
je 0x499ca2
mov eax, dword [ebp - 0x61c]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea0], edi
mov ecx, dword [ebp - 0x620]
xor eax, eax
cmp dword [edi + 0x220], 0x1f
cmove ecx, eax
mov dword [ebp - 0x620], ecx
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x499c18
cmp dword [edi + 0x214], 0
jne 0x499d3a
cmp dword [edi + 0x204], 0
jne 0x499d3a
mov esi, dword [ebp - 0x620]
test esi, esi
je 0x499d3a
cmp dword [esi + 0x14f14], 0
jne 0x499d3a
cmp dword [edi + 0x21c], 0
jne 0x499d3a
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x499d19
push esi
mov ecx, eax
call fcn.004ee140
test eax, eax
jne 0x499d3a
call fcn.00565cd7
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x61c]
sub eax, edx
mov dword [edi + 0x204], esi
mov dword [edi + 0x11c], eax
mov eax, dword [edi + 0x21c]
test eax, eax
je 0x499d70
lea ecx, [ebp - 0x5ec]
push ecx
mov ecx, dword [0x62aadc]
push eax
call fcn.004bbcd0
test eax, eax
je 0x499d70
mov ecx, dword [edi + 0x21c]
push 0
push 0
push dword [ebp - 0x5ec]
call fcn.00490c70
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x499e26
cmp dword [ecx + 0x184], 0
jne 0x499e26
call fcn.00474b60
cmp eax, 9
jle 0x499e26
mov eax, dword [ebp - 0x5e8]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
mov esi, eax
test esi, esi
je 0x499e26
nop
mov ecx, esi
call fcn.0044ccc0
cmp eax, 1
jne 0x499e0f
cmp dword [esi + 0x204], 0
jne 0x499e0f
cmp dword [esi + 0x21c], 0
jne 0x499e0f
mov eax, dword [esi + 0x218]
test eax, eax
je 0x499e0f
cmp dword [eax + 4], 0
jbe 0x499e0f
call fcn.00565cd7
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x61c]
sub eax, edx
mov dword [esi + 0x214], edi
mov dword [esi + 0x11c], eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.005135f0
mov esi, eax
test esi, esi
jne 0x499dc0
mov eax, dword [edi + 0x218]
test eax, eax
je 0x49e609
cmp dword [eax + 4], 1
jne 0x49e609
mov eax, dword [ebp - 0x5e8]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
mov esi, eax
test esi, esi
je 0x49e609
mov ecx, esi
call fcn.0044ccc0
cmp eax, 1
jne 0x499eba
cmp dword [edi + 0x204], 0
jne 0x499eba
cmp dword [edi + 0x214], 0
jne 0x499eba
mov ecx, dword [esi + 0x21c]
test ecx, ecx
je 0x499eba
call fcn.00474b60
cmp eax, 9
jle 0x499eba
call fcn.00565cd7
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x61c]
sub eax, edx
mov dword [edi + 0x214], esi
mov dword [edi + 0x11c], eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.005135f0
mov esi, eax
test esi, esi
jne 0x499e67
jmp 0x49e609
mov eax, dword [edi + 0x11c]
sub ecx, eax
mov dword [ebp - 0x5f0], ecx
test eax, eax
je 0x499eec
cmp edx, eax
jae 0x499ef7
mov ecx, 0x7d1
mov dword [ebp - 0x5f0], ecx
mov eax, dword [edi + 0x204]
test eax, eax
je 0x499f17
mov ecx, dword [esi + 0x110]
push eax
call fcn.0044e2e0
test eax, eax
jne 0x499f17
mov dword [edi + 0x204], eax
cmp dword [edi + 0x214], 0
je 0x499fdc
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x514]
push eax
call fcn.00513670
mov eax, dword [ebp - 0x5e8]
xor esi, esi
push esi
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
mov dword [ebp - 0x5fc], eax
test eax, eax
je 0x499f9f
test esi, esi
jne 0x499f9f
mov ecx, eax
call fcn.0044ccc0
cmp eax, 1
jne 0x499f84
mov eax, dword [ebp - 0x5fc]
cmp dword [edi + 0x214], eax
mov eax, 1
cmove esi, eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.005135f0
mov dword [ebp - 0x5fc], eax
test eax, eax
jne 0x499f60
movups xmm0, xmmword [ebp - 0x514]
mov eax, dword [ebp - 0x504]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.00513850
test esi, esi
mov esi, dword [ebp - 0x5e8]
jne 0x499fdc
mov dword [edi + 0x214], 0
mov ecx, dword [edi + 0x204]
xorps xmm4, xmm4
movss xmm2, dword [0x5d33bc]
movss xmm3, dword [0x5d33c8]
mov edx, dword [ebp - 0x5f0]
test ecx, ecx
je 0x49ab8a
movd xmm0, edx
mov eax, edx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5ce230]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, xmm2
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x49ab8a
comiss xmm4, dword [edi + 0x170]
jb 0x49ab8a
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x49a05d
push ecx
mov ecx, eax
call fcn.004ee140
test eax, eax
jne 0x49ab71
call fcn.00565cd7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebp - 0x61c]
sub eax, edx
mov dword [ebp - 0x600], 0
cmp byte [edi + 0x1df], 0
mov dword [edi + 0x11c], eax
jle 0x49a098
cmp dword [edi + 0x220], 0x1b
je 0x49e609
mov eax, dword [edi + 0x214]
test eax, eax
je 0x49a0c4
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49a0c4
call fcn.00474b60
xor ecx, ecx
cmp eax, 9
mov eax, 1
cmovg ecx, eax
mov dword [ebp - 0x600], ecx
cmp dword [edi + 0x220], 0x1b
jne 0x49a0ec
call fcn.00565cd7
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
jne 0x49a0ec
push esi
mov ecx, edi
call fcn.0049ef90
jmp 0x49e609
cmp dword [edi + 0x220], 0x1e
jne 0x49a110
cmp dword [edi + 0x224], 1
jle 0x49a110
call fcn.00565cd7
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
je 0x49a0df
mov ecx, dword [esi + 0x110]
call fcn.0044e330
mov esi, eax
mov dword [ebp - 0x5f4], esi
test esi, esi
je 0x49ab5e
nop dword [eax + eax]
cmp dword [ebp - 0x600], 0
jne 0x49ab71
cmp dword [edi + 0x124], 0
jne 0x49ab67
cmp esi, dword [edi + 0x204]
jne 0x49ab3d
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x49ab3d
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x49ab3d
mov ecx, esi
call fcn.0044ccc0
test eax, eax
jne 0x49ab3d
mov dword [ebp - 0x620], esi
cmp dword [esi + 0x184], eax
je 0x49a1d2
mov ecx, dword [esi + 0x14f48]
test ecx, ecx
je 0x49a1d2
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x49a1d2
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x49a1d2
mov dword [edi + 0x214], ecx
mov dword [edi + 0x204], 0
jmp 0x49ab3d
imul eax, dword [esi + 0x188], 0x980
mov dword [ebp - 0x600], 1
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x604], 0
mov dword [ebp - 0x618], 0
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 4
call fcn.0044e330
mov dword [ebp - 0x5fc], eax
test eax, eax
je 0x49a354
nop dword [eax]
cmp dword [ebp - 0x618], 0
jne 0x49a354
mov ecx, eax
call fcn.0044ccd0
mov ecx, str.Dodging
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49a260
test dl, dl
je 0x49a25c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49a260
add ecx, 2
add eax, 2
test dl, dl
jne 0x49a240
xor eax, eax
jmp 0x49a265
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x5fc]
add ecx, 0x11c
mov dword [ebp - 0x5ec], ecx
test eax, eax
jne 0x49a2c4
mov esi, dword [ecx]
mov eax, dword [edi + 0x1b8]
mov dword [ebp - 0x618], 1
mov ecx, dword [esi + 8]
dec ecx
sub eax, ecx
mov dword [ebp - 0x604], ecx
mov ecx, 0
cmovns ecx, eax
xor eax, eax
cmp ecx, 0xa
cmovle eax, ecx
mov ecx, dword [0x62aadc]
imul eax, dword [ecx + 0x94]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x5f4]
jmp 0x49a2ca
mov dword [ebp - 0x5ec], ecx
mov ecx, dword [ebp - 0x5fc]
call fcn.0044ccd0
mov ecx, str.Pet_Energy
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49a300
test dl, dl
je 0x49a2fc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49a300
add ecx, 2
add eax, 2
test dl, dl
jne 0x49a2e0
xor eax, eax
jmp 0x49a305
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49a32d
cmp dword [esi + 0x184], eax
je 0x49a32d
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x618], 1
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x604], eax
imul eax, dword [esi + 0x188], 0x980
mov ecx, dword [eax + esi + 0x2e0]
add ecx, 4
call fcn.0044e3e0
mov dword [ebp - 0x5fc], eax
test eax, eax
jne 0x49a220
movsx eax, byte [esi + 0x14f05]
mov ecx, dword [ebp - 0x604]
movss xmm1, dword [edi + 0x160]
add ecx, eax
mov eax, dword [edi + 0x1b8]
sub eax, ecx
mov dword [ebp - 0x604], ecx
comiss xmm1, dword [0x5cf054]
mov dword [ebp - 0x5ec], eax
jbe 0x49a39d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x5ec], eax
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x5ec]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x49a3df
call fcn.00565cd7
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x49a3e8
cmp esi, 0x14
jle 0x49aad3
mov esi, dword [ebp - 0x5f4]
mov eax, 0x55555556
movsx ecx, byte [esi + 0x14f06]
imul ecx
mov ecx, dword [edi + 0x1b4]
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 - 0x618], edx
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x224]
lea eax, [eax + ecx*2]
imul eax, eax, 0x64
test byte [eax + 0x61a868], 0x20
je 0x49a46e
movsx eax, byte [esi + 0x14f09]
movss xmm1, dword [0x5cf058]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5d33a4]
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si edx, xmm1
mov dword [ebp - 0x618], edx
call fcn.00565cd7
mov edx, dword [ebp - 0x618]
xorps xmm2, xmm2
movd xmm1, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
mulss xmm1, xmm0
divss xmm1, dword [0x5cf5d0]
addss xmm1, xmm2
cvttss2si eax, xmm1
add edx, eax
mov al, byte [esi + 0x14f0e]
mov dword [ebp - 0x618], edx
test al, al
jle 0x49a4db
movsx ecx, al
mov eax, 0x88888889
imul ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x618]
add edx, eax
add dword [edi + 0x1ac], eax
cmp byte [esi + 0x14f0f], 0
jle 0x49a4fc
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2f8]
cmp edx, eax
jl 0x49a4fc
lea edx, [eax - 1]
cmp dword [esi + 0x14f10], 1
je 0x49a516
imul eax, dword [esi + 0x188], 0x980
sub dword [eax + esi + 0x2fc], edx
mov eax, dword [esi + 0x180]
mov ecx, dword [ebp - 0x5e8]
push 0
push 2
mov dword [ebp - 0x65b], eax
lea eax, [ebp - 0x660]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x660], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x65f], edi
push 0
mov dword [ebp - 0x657], edx
call fcn.00529cd0
imul ecx, dword [esi + 0x188], 0x980
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x66f], eax
push 0
mov byte [ebp - 0x670], 0x26
push 2
mov eax, dword [ecx + esi + 0x2fc]
mov dword [ebp - 0x66b], eax
mov eax, dword [ecx + esi + 0x2f8]
mov ecx, dword [ebp - 0x5e8]
mov dword [ebp - 0x667], eax
lea eax, [ebp - 0x670]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2fc], 0
jg 0x49a80f
mov dword [eax + esi + 0x2fc], 0
mov dword [esi + 0x124], 1
mov ecx, dword [ebp - 0x63c]
mov eax, ecx
mov edx, dword [ebp - 0x640]
cmp edx, ecx
mov byte [ebp - 0x628], 0
cmovne eax, edx
cmove edx, ecx
mov dword [ebp - 0x63c], eax
mov ecx, dword [esi + 0x180]
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x618], eax
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x5fc], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x5ec], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x62b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x62a], al
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x62c], cl
mov byte [ebp - 0x629], al
cmp edx, dword [ebp - 0x638]
je 0x49a688
mov eax, dword [ebp - 0x5ec]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x5fc]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x618]
mov byte [edx], cl
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x63c], 5
jmp 0x49a69b
lea eax, [ebp - 0x62c]
push eax
push edx
lea ecx, [ebp - 0x640]
call fcn.0043eb20
mov ecx, dword [ebp - 0x5e8]
call fcn.0044ccc0
test eax, eax
jne 0x49a6e3
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.00498d10
push eax
lea eax, [ebp - 0x500]
push str.The__s_defeats_you_at__dN__dE.
push eax
call fcn.0043d370
add esp, 0x14
jmp 0x49a7cd
mov ecx, dword [ebp - 0x5e8]
call fcn.0044ccc0
cmp eax, 4
jne 0x49a72c
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.00498d10
push eax
lea eax, [ebp - 0x500]
push str.The__s_defeats_you_in_a_Mystic_Realm_at__dN__dE.
push eax
call fcn.0043d370
add esp, 0x14
jmp 0x49a7cd
mov ecx, dword [ebp - 0x5e8]
call fcn.0044ccc0
cmp eax, 2
jne 0x49a772
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.00498d10
push eax
lea eax, [ebp - 0x500]
push str.The__s_defeats_you_in_the_Labyrinth_at__dN__dE.
push eax
call fcn.0043d370
add esp, 0x14
jmp 0x49a7cd
mov ecx, dword [ebp - 0x5e8]
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.00498d10
push eax
lea eax, [ebp - 0x500]
push str.The__s_defeats_you_in_the__s___dN__dE__at__dN__dE.
push eax
call fcn.0043d370
add esp, 0x20
push 0x64
lea eax, [ebp - 0x57b]
push eax
lea eax, [ebp - 0x500]
push 0x400
push eax
call fcn.0044d1c0
mov eax, dword [ebp - 0x5e8]
lea edx, [ebp - 0x640]
add esp, 0x10
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x57c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x49a82a
cmp dword [esi + 0x14ea0], 0
jne 0x49a82a
mov eax, dword [ebp - 0x61c]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea0], edi
cmp dword [edi + 0x220], 0x1f
jne 0x49a858
call fcn.00565cd7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [edi + 0x220]
inc eax
cmp edx, eax
jge 0x49a858
push dword [ebp - 0x5e8]
mov ecx, edi
call fcn.0049e680
cmp dword [edi + 0x220], 0x18
jne 0x49ab3d
mov ecx, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x160]
sub ecx, dword [ebp - 0x604]
comiss xmm1, dword [0x5cf054]
jbe 0x49a891
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si ecx, xmm0
movsx eax, byte [esi + 0x14f0a]
sub ecx, eax
mov dword [ebp - 0x5ec], ecx
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x5ec]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x49a8e2
call fcn.00565cd7
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x49a8eb
cmp esi, 0x14
jle 0x49ab3d
mov esi, dword [ebp - 0x5f4]
mov ecx, dword [ebp - 0x5e8]
push 0
push 3
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x50f], eax
lea eax, [ebp - 0x510]
push eax
push 0xe
push dword [esi + 0x10c]
mov byte [ebp - 0x510], 0x49
push dword [esi + 0x108]
mov dword [ebp - 0x506], 0x1e
push 0
mov dword [ebp - 0x50b], 0xffffffff
mov byte [ebp - 0x507], 1
call fcn.00529cd0
mov ecx, dword [ebp - 0x63c]
mov eax, ecx
mov edx, dword [ebp - 0x640]
cmp edx, ecx
mov byte [ebp - 0x608], 0
cmovne eax, edx
cmove edx, ecx
mov dword [ebp - 0x63c], eax
mov ecx, dword [esi + 0x180]
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x618], eax
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x5fc], eax
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x5ec], eax
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x60b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x60a], al
mov eax, ecx
sar eax, 0x18
mov byte [ebp - 0x60c], cl
mov byte [ebp - 0x609], al
cmp edx, dword [ebp - 0x638]
je 0x49a9e8
mov eax, dword [ebp - 0x5ec]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x5fc]
mov byte [edx + 2], al
mov eax, dword [ebp - 0x618]
mov byte [edx], cl
mov byte [edx + 3], al
mov byte [edx + 4], 0
add dword [ebp - 0x63c], 5
jmp 0x49a9fb
lea eax, [ebp - 0x60c]
push eax
push edx
lea ecx, [ebp - 0x640]
call fcn.0043eb20
mov ecx, edi
call fcn.00498d10
push eax
lea eax, [ebp - 0x500]
push str.The__s_ensnares_you_in_its_web_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x57b]
push eax
lea eax, [ebp - 0x500]
push 0x400
push eax
call fcn.0044d1c0
mov eax, dword [ebp - 0x5e8]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
lea eax, [ebp - 0x640]
push eax
push 0
lea eax, [ebp - 0x57c]
mov edx, dword [ecx]
push eax
push 0x65
call dword [edx + 4]
mov eax, dword [ebp - 0x604]
movsx ecx, byte [esi + 0x14f0a]
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 - 0x5f4]
add eax, edi
push eax
push 8
call fcn.00496c90
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x5f4]
add eax, edi
push eax
push 2
call fcn.00496c90
mov edi, dword [ebp - 0x624]
jmp 0x49ab3d
mov esi, dword [ebp - 0x5f4]
mov ecx, dword [ebp - 0x5e8]
push 0
push 2
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x64b], eax
lea eax, [ebp - 0x650]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x650], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x64f], edi
push 0
mov dword [ebp - 0x647], 0xffffffff
call fcn.00529cd0
cmp dword [esi + 0x14ea0], 0
jne 0x49ab3d
mov eax, dword [ebp - 0x61c]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea0], edi
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov esi, eax
mov dword [ebp - 0x5f4], eax
test esi, esi
jne 0x49a130
cmp dword [ebp - 0x600], 0
jne 0x49ab71
mov dword [edi + 0x204], 0
mov edx, dword [ebp - 0x5f0]
xorps xmm4, xmm4
movss xmm3, dword [0x5d33c8]
movss xmm2, dword [0x5d33bc]
mov eax, dword [edi + 0x214]
test eax, eax
je 0x49ba0f
cmp eax, edi
je 0x49ba0f
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x5ce230]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, xmm2
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x49ba0f
comiss xmm4, dword [edi + 0x170]
jb 0x49ba0f
cmp byte [edi + 0x1df], 0
mov eax, dword [ebp - 0x61c]
mov dword [edi + 0x11c], eax
jle 0x49ac00
cmp dword [edi + 0x220], 0x1b
je 0x49e609
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x49ac65
call fcn.00474b60
cmp eax, 9
jle 0x49ac65
cmp dword [edi + 0x220], 0x1b
jne 0x49ac2f
call fcn.00565cd7
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
je 0x49ac53
cmp dword [edi + 0x220], 0x1e
jne 0x49ac65
cmp dword [edi + 0x224], 1
jle 0x49ac65
call fcn.00565cd7
cdq
mov esi, 3
idiv esi
cmp edx, 2
jne 0x49ac6a
push dword [ebp - 0x5e8]
mov ecx, edi
call fcn.00497b60
jmp 0x49e609
mov esi, 3
cmp dword [edi + 0x21c], 0
jne 0x49acdd
mov eax, dword [edi + 0x214]
test eax, eax
je 0x49acdd
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49acdd
call fcn.00474b60
cmp eax, 9
jle 0x49acdd
cmp dword [edi + 0x220], 0x1b
jne 0x49acac
call fcn.00565cd7
cdq
mov ecx, 6
idiv ecx
cmp edx, 3
je 0x49accb
cmp dword [edi + 0x220], 0x1e
jne 0x49acdd
cmp dword [edi + 0x224], 1
jle 0x49acdd
call fcn.00565cd7
cdq
idiv esi
cmp edx, 2
jne 0x49acdd
push dword [ebp - 0x5e8]
mov ecx, edi
call fcn.0049ef90
jmp 0x49e609
mov eax, dword [edi + 0x214]
mov dword [ebp - 0x5ec], 0
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49ada3
call fcn.00474b60
cmp eax, 9
jle 0x49ada3
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49ada3
mov ecx, esi
call fcn.0044ccd0
mov ecx, str.Pet_Energy
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49ad60
test dl, dl
je 0x49ad5c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49ad60
add ecx, 2
add eax, 2
test dl, dl
jne 0x49ad40
xor eax, eax
jmp 0x49ad65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49ad78
mov eax, dword [esi + 0x11c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x5ec], 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, 4
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49ad34
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5ec]
movss xmm1, dword [edi + 0x160]
mov eax, dword [eax + 0x1bc]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edi + 0x1b8]
sub eax, ecx
comiss xmm1, dword [0x5cf054]
mov dword [ebp - 0x5ec], eax
jbe 0x49adee
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x5ec], eax
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x5ec]
add esi, 2
add edx, eax
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x49ae36
call fcn.00565cd7
cdq
mov ecx, 0x190
idiv ecx
mov eax, 0x1e
cmp edx, 6
cmove esi, eax
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x49ae74
call fcn.00474b60
cmp eax, 9
jle 0x49ae74
call fcn.00565cd7
and eax, 0x8000000f
jns 0x49ae5b
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 0x49ae7d
cmp esi, 0x14
jle 0x49b8a3
mov eax, dword [edi + 0x1b4]
xor esi, esi
test eax, eax
cmovns esi, eax
call fcn.00565cd7
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 [0x5cf5d0]
addss xmm1, xmm2
cvttss2si eax, xmm1
add eax, esi
mov dword [ebp - 0x604], eax
test ecx, ecx
je 0x49afb4
call fcn.00474b60
cmp eax, 9
jle 0x49afb4
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e330
mov esi, eax
mov byte [ebp - 0x5f5], 0
lea eax, [ebp - 0x100]
push str.Pet_Mastery
push eax
call fcn.0043d370
add esp, 8
test esi, esi
je 0x49afb4
cmp byte [ebp - 0x5f5], 0
jne 0x49afb4
mov ecx, esi
call fcn.0044ccd0
lea ecx, [ebp - 0x100]
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49af60
test dl, dl
je 0x49af5c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49af60
add ecx, 2
add eax, 2
test dl, dl
jne 0x49af40
xor eax, eax
jmp 0x49af65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49af8b
mov ecx, dword [edi + 0x21c]
mov esi, dword [esi + 0x11c]
mov byte [ebp - 0x5f5], 1
call fcn.00474b60
imul eax, dword [esi + 8]
add dword [ebp - 0x604], eax
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49af20
mov eax, dword [edi + 0x214]
mov esi, dword [ebp - 0x5e8]
mov ecx, esi
push 0
mov dword [ebp - 0x64b], eax
mov eax, dword [ebp - 0x604]
push 2
mov dword [ebp - 0x647], eax
lea eax, [ebp - 0x650]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x650], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x64f], edi
push 0
call fcn.00529cd0
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x604]
sub dword [eax + 0x1ac], ecx
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49b11b
call fcn.00474b60
cmp eax, 9
jle 0x49b11b
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e330
mov dword [ebp - 0x5ec], eax
test eax, eax
je 0x49b11b
mov esi, eax
nop word [eax + eax]
mov ecx, esi
call fcn.0044ccd0
mov ecx, str.Pet_Energy
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49b0a0
test dl, dl
je 0x49b09c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49b0a0
add ecx, 2
add eax, 2
test dl, dl
jne 0x49b080
xor eax, eax
jmp 0x49b0a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49b0e6
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x604]
cmp eax, 0x12
jge 0x49b0c7
cdq
sub eax, edx
sar eax, 1
jmp 0x49b0cc
mov eax, 9
mov ecx, dword [0x62aadc]
inc eax
imul eax, dword [ecx + 0x94]
mov ecx, dword [ebp - 0x5ec]
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, 4
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49b070
mov esi, dword [ebp - 0x5e8]
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x49b3c6
call fcn.00474b60
cmp eax, 9
jle 0x49b3c6
push dword [edi + 0x21c]
mov ecx, dword [edi + 0x214]
push dword [ebp - 0x604]
call fcn.00499620
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e330
mov dword [ebp - 0x5fc], eax
lea eax, [ebp - 0xb0]
push str.Pet_Mastery
push eax
mov byte [ebp - 0x5f5], 0
mov byte [ebp - 0x5e4], 0x17
call fcn.0043d370
mov eax, dword [ebp - 0x5fc]
add esp, 8
test eax, eax
je 0x49b3c6
cmp byte [ebp - 0x5f5], 0
jne 0x49b3c0
mov ecx, eax
call fcn.0044ccd0
lea ecx, [ebp - 0xb0]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49b1e0
test dl, dl
je 0x49b1dc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49b1e0
add ecx, 2
add eax, 2
test dl, dl
jne 0x49b1c0
xor eax, eax
jmp 0x49b1e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49b393
mov eax, dword [ebp - 0x5fc]
mov byte [ebp - 0x5f5], 1
mov esi, dword [eax + 0x11c]
mov eax, dword [esi + 0xc]
test eax, eax
ja 0x49b382
jb 0x49b217
cmp dword [esi + 8], 0x64
jae 0x49b382
mov ecx, 0x186a0
mul ecx
mov edx, 0x186a0
mov ecx, eax
mov eax, dword [esi + 8]
mul edx
add ecx, edx
cmp ecx, dword [esi + 4]
ja 0x49b382
jb 0x49b23f
cmp eax, dword [esi]
ja 0x49b382
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [edi + 0x21c]
mov byte [ebp - 4], 1
mov byte [ebp - 0x608], 0
mov ecx, dword [eax + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x60b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x60c], cl
mov byte [ebp - 0x60a], al
lea eax, [ebp - 0x60c]
sar ecx, 0x18
push eax
mov byte [ebp - 0x609], cl
lea ecx, [ebp - 0x634]
push 0
call fcn.0043eb20
add dword [esi + 8], 1
lea eax, [ebp - 0xb0]
push eax
adc dword [esi + 0xc], 0
lea eax, [ebp - 0x60]
push str.You_gained__s_skill___You_feel_more_in_tune_with_your_pets.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x5e3]
push eax
lea eax, [ebp - 0x60]
push 0x400
push eax
call fcn.0044d1c0
mov eax, dword [ebp - 0x5e8]
lea edx, [ebp - 0x634]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x5e4]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x634]
mov byte [ebp - 4], 0
mov dword [ebp - 0x5ec], eax
test eax, eax
je 0x49b382
mov ecx, dword [ebp - 0x62c]
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x5ec]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x49b35a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49e631
push edx
push ecx
call fcn.005566a6
add esp, 8
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [0x62aadc]
mov eax, dword [eax + 0xac]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov ecx, dword [edi + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e3e0
mov dword [ebp - 0x5fc], eax
test eax, eax
jne 0x49b1a3
mov esi, dword [ebp - 0x5e8]
mov ecx, dword [edi + 0x214]
mov dword [ebp - 0x66f], ecx
push 0
mov byte [ebp - 0x670], 0x27
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x66b], eax
mov eax, dword [ecx + 0x1b0]
mov ecx, esi
push 2
mov dword [ebp - 0x667], eax
lea eax, [ebp - 0x670]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x49b445
call fcn.0044ccc0
cmp eax, 1
jne 0x49b445
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 0x49b477
call fcn.0044ccc0
cmp eax, 2
jne 0x49b477
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 0x49b6ed
push 0
push 2
mov dword [ebp - 0x65b], eax
mov ecx, esi
lea eax, [ebp - 0x660]
mov byte [ebp - 0x660], 0x22
push eax
push 0xd
push dword [edi + 0x10c]
mov dword [ebp - 0x65f], edi
push dword [edi + 0x108]
mov dword [ebp - 0x657], 0xfffffc18
push 0
call fcn.00529cd0
mov ecx, dword [edi + 0x21c]
test ecx, ecx
je 0x49b625
call fcn.00474b60
cmp eax, 9
jle 0x49b625
mov eax, dword [edi + 0x214]
mov ecx, dword [edi + 0x1bc]
mov dword [ebp - 0x5ec], ecx
cmp ecx, dword [eax + 0x1b8]
jg 0x49b625
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 - 0x5ec]
mov dword [edi + 0x1b0], eax
call fcn.0048b4f0
mov ecx, dword [edi + 0x21c]
mov byte [ebp - 0x5fc], 0
call fcn.00481b40
cmp eax, 1
jge 0x49b573
mov ecx, dword [edi + 0x21c]
call fcn.00481c10
mov ecx, dword [ebp - 0x5fc]
cmp eax, 2
movzx ecx, cl
mov eax, 1
cmovl ecx, eax
mov dword [ebp - 0x5fc], ecx
mov ecx, dword [edi + 0x21c]
call fcn.00481c10
cmp eax, dword [edi + 0x220]
jne 0x49b596
mov ecx, dword [edi + 0x21c]
call fcn.00481b40
cmp eax, 1
je 0x49b59a
mov al, 1
jmp 0x49b5a0
mov eax, dword [ebp - 0x5fc]
cmp dword [edi + 0x220], 0x1a
jg 0x49b5ad
test al, al
je 0x49b625
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x49b5dc
push 0x5d2194
push 0
push 8
mov ecx, eax
call fcn.0050b040
mov ecx, eax
jmp 0x49b5de
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.0050b900
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 0x49b666
mov eax, dword [edi + 0x214]
mov dword [eax + 0x208], ecx
mov ecx, dword [edi + 0x214]
call fcn.00498a70
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x49b680
call fcn.0044ccc0
cmp eax, 1
je 0x49b69e
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x49b716
call fcn.0044ccc0
cmp eax, 2
jne 0x49b716
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x514]
push eax
call fcn.00513670
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 - 0x514]
mov eax, dword [ebp - 0x504]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00513850
jmp 0x49b716
mov ecx, eax
call fcn.00498ac0
test eax, eax
jne 0x49b716
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x61c]
mov dword [eax + 0x11c], ecx
mov eax, dword [edi + 0x214]
mov dword [eax + 0x214], edi
cmp dword [edi + 0x220], 0x1f
jne 0x49b73f
call fcn.00565cd7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [edi + 0x224]
inc eax
cmp edx, eax
jge 0x49b73f
push esi
mov ecx, edi
call fcn.004975c0
cmp dword [edi + 0x220], 0x18
jne 0x49ba0f
mov eax, dword [edi + 0x214]
mov ecx, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x160]
sub ecx, dword [eax + 0x1bc]
comiss xmm1, dword [0x5cf054]
mov dword [ebp - 0x5ec], ecx
jbe 0x49b78a
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x5ec], eax
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00565cd7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x5ec]
add esi, 2
add edx, eax
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x49b7cc
call fcn.00565cd7
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x49b7d5
cmp esi, 0x14
jle 0x49ba0f
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5e8]
push 0
push 3
mov dword [ebp - 0x50b], eax
lea eax, [ebp - 0x510]
push eax
push 0xe
push dword [edi + 0x10c]
mov byte [ebp - 0x510], 0x49
push dword [edi + 0x108]
mov dword [ebp - 0x506], 0x1e
push 0
mov dword [ebp - 0x50f], 0xffffffff
mov byte [ebp - 0x507], 1
call fcn.00529cd0
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 - 0x624]
add eax, edi
push eax
push 8
mov ecx, dword [ecx + 0x214]
call fcn.00496c90
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 - 0x624]
push eax
push 2
mov ecx, dword [edi + 0x214]
call fcn.00496c90
jmp 0x49ba0f
mov eax, dword [edi + 0x214]
mov ecx, dword [ebp - 0x5e8]
push 0
push 2
mov dword [ebp - 0x64b], eax
lea eax, [ebp - 0x650]
push eax
push 0xd
push dword [edi + 0x10c]
mov byte [ebp - 0x650], 0x22
push dword [edi + 0x108]
mov dword [ebp - 0x64f], edi
push 0
mov dword [ebp - 0x647], 0xffffffff
call fcn.00529cd0
mov esi, dword [edi + 0x214]
mov ecx, esi
call fcn.00498ac0
test eax, eax
jne 0x49b915
mov eax, dword [ebp - 0x61c]
mov dword [esi + 0x11c], eax
mov eax, dword [edi + 0x214]
mov dword [eax + 0x214], edi
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
test ecx, ecx
je 0x49ba0f
call fcn.00474b60
cmp eax, 9
jle 0x49ba0f
mov eax, dword [edi + 0x214]
mov ecx, dword [eax + 0x21c]
imul eax, dword [ecx + 0x188], 0x980
mov ecx, dword [eax + ecx + 0x2e0]
add ecx, 4
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49ba0f
mov ecx, esi
call fcn.0044ccd0
mov ecx, str.Pet_Energy
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49b992
test dl, dl
je 0x49b98e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49b992
add ecx, 2
add eax, 2
test dl, dl
jne 0x49b972
xor eax, eax
jmp 0x49b997
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49b9e0
mov eax, dword [edi + 0x214]
mov ecx, dword [esi + 0x11c]
mov eax, dword [eax + 0x1bc]
mov esi, dword [ecx + 8]
cdq
cmp dword [ecx + 0xc], edx
ja 0x49b9e0
jb 0x49b9bc
cmp esi, eax
jae 0x49b9e0
mov eax, dword [edi + 0x1b8]
sub eax, esi
lea edx, [eax + 1]
cmp eax, 9
ja 0x49b9e0
mov eax, dword [0x62aadc]
mov eax, dword [eax + 0x94]
imul eax, edx
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, 4
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49b966
mov esi, dword [ebp - 0x61c]
mov ecx, esi
mov eax, dword [edi + 0x1c8]
sub ecx, eax
test eax, eax
je 0x49ba33
cmp esi, eax
jb 0x49ba33
cmp ecx, 0x3e8
jbe 0x49c206
mov eax, dword [edi + 0x234]
add eax, dword [edi + 0x1ac]
mov dword [edi + 0x1c8], esi
mov esi, dword [edi + 0x220]
mov dword [ebp - 0x604], eax
mov dword [edi + 0x1ac], eax
cmp esi, 7
jne 0x49bcbd
mov ecx, dword [edi + 0x224]
lea eax, [edi + 0x21c]
cmp ecx, 4
jne 0x49bbf2
cmp dword [eax], 0
mov dword [ebp - 0x5f0], eax
jne 0x49bbf2
lea eax, [edi + 0x184]
mov edx, str.Dragon_Chaplain
nop
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0x5f5], cl
lea ecx, [edi + 0x184]
jne 0x49bad2
cmp byte [ebp - 0x5f5], 0
je 0x49bace
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0x5f5], cl
lea ecx, [edi + 0x184]
jne 0x49bad2
add eax, 2
add edx, 2
cmp byte [ebp - 0x5f5], 0
jne 0x49ba90
xor eax, eax
jmp 0x49bad7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49bb9e
mov eax, dword [ebp - 0x604]
xor esi, esi
add eax, 0xc8
mov dword [edi + 0x1ac], eax
mov eax, dword [edi + 0x218]
mov dword [ebp - 0x5fc], eax
add eax, 0x774
mov ecx, eax
mov dword [ebp - 0x5ec], eax
call fcn.0044e330
test eax, eax
je 0x49bb3e
mov edi, dword [ebp - 0x5ec]
nop word [eax + eax]
cmp dword [eax + 0x128], 0
jne 0x49bb33
cmp dword [eax + 0x108], 0xa
jge 0x49bb33
inc esi
mov ecx, edi
call fcn.0044e3e0
test eax, eax
jne 0x49bb20
mov edi, dword [ebp - 0x5fc]
add edi, 0x784
mov dword [ebp - 0x5ec], 3
mov ecx, edi
call fcn.0044e330
test eax, eax
je 0x49bb7e
nop
cmp dword [eax + 0x128], 0
jne 0x49bb73
cmp dword [eax + 0x108], 0xa
jge 0x49bb73
inc esi
mov ecx, edi
call fcn.0044e3e0
test eax, eax
jne 0x49bb60
add edi, 0x10
sub dword [ebp - 0x5ec], 1
jne 0x49bb54
mov edi, dword [ebp - 0x624]
imul eax, esi, 0x64
add dword [edi + 0x1ac], eax
jmp 0x49bd89
mov eax, str.Dragon_ArchMage
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49bbc3
test dl, dl
je 0x49bbbf
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49bbc3
add ecx, 2
add eax, 2
test dl, dl
jne 0x49bba3
xor eax, eax
jmp 0x49bbc8
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x604]
jne 0x49bbe2
add eax, 0xc8
mov dword [edi + 0x1ac], eax
jmp 0x49bd89
add eax, 0x258
mov dword [edi + 0x1ac], eax
jmp 0x49bd89
mov dword [ebp - 0x5f0], eax
cmp ecx, 3
jne 0x49bd3b
cmp dword [eax], 0
jne 0x49bd3b
lea eax, [edi + 0x184]
mov edx, str.Dragon_Prelate
mov cl, byte [eax]
cmp cl, byte [edx]
mov byte [ebp - 0x5f5], cl
lea ecx, [edi + 0x184]
jne 0x49bc57
cmp byte [ebp - 0x5f5], 0
je 0x49bc53
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
mov byte [ebp - 0x5f5], cl
lea ecx, [edi + 0x184]
jne 0x49bc57
add eax, 2
add edx, 2
cmp byte [ebp - 0x5f5], 0
jne 0x49bc15
xor eax, eax
jmp 0x49bc5c
sbb eax, eax
or eax, 1
test eax, eax
je 0x49bd89
mov eax, str.Dragon_Acolyte
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x49bc90
test dl, dl
je 0x49bc8c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x49bc90
add ecx, 2
add eax, 2
test dl, dl
jne 0x49bc70
xor eax, eax
jmp 0x49bc95
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x604]
jne 0x49bcad
add eax, 0x3c
mov dword [edi + 0x1ac], eax
jmp 0x49bd89
add eax, 0x96
mov dword [edi + 0x1ac], eax
jmp 0x49bd89
cmp esi, 0x18
jne 0x49bcff
cmp dword [edi + 0x224], 4
jne 0x49bd3b
cmp dword [edi + 0x21c], 0
lea edx, [edi + 0x21c]
mov dword [ebp - 0x5f0], edx
jne 0x49bd3b
movss xmm0, dword [edi + 0x1a8]
mulss xmm0, dword [0x5d4018]
cvttss2si eax, xmm0
mov dword [edi + 0x234], eax
jmp 0x49bd89
cmp esi, 0x1b
jne 0x49bd3b
cmp dword [edi + 0x21c], 0
lea edx, [edi + 0x21c]
mov dword [ebp - 0x5f0], edx
jne 0x49bd41
mov eax, dword [edi + 0x224]
mov ecx, 0xfa
inc eax
imul eax, eax, 0xc8
cmp eax, 0xfa
cmovl eax, ecx
mov dword [edi + 0x234], eax
jmp 0x49bd89
lea edx, [edi + 0x21c]
mov ecx, edx
mov dword [ebp - 0x5f0], ecx
cmp esi, 0x1e
jne 0x49bd89
cmp dword [ecx], 0
mov dword [ebp - 0x5f0], ecx
jne 0x49bd89
imul eax, dword [edi + 0x224], 0x258
mov dword [ebp - 0x5f0], ecx
sub eax, 0x258
mov dword [edi + 0x234], eax
cmp eax, 1
jge 0x49bd89
mov dword [edi + 0x234], 1
mov dword [ebp - 0x5f0], ecx
mov eax, dword [edi + 0x1b0]
cmp dword [edi + 0x1ac], eax
jle 0x49bda7
mov dword [edi + 0x1ac], eax
mov dword [edi + 0x230], 0
cmp byte [edi + 0x1f9], 0
je 0x49c206
cmp dword [edi + 0x220], 0x21
mov ecx, dword [edi + 0x1fc]
lea eax, [ecx + 1]
mov dword [edi + 0x1fc], eax
jne 0x49c036
mov eax, dword [ebp - 0x5e8]
mov dword [edi + 0x1fc], ecx
mov ecx, dword [eax + 0x110]
call fcn.0044e330
mov esi, eax
mov dword [ebp - 0x5ec], esi
test esi, esi
jne 0x49be61
mov ecx, dword [edi + 0x228]
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
nop dword [eax]
sub esp, 8
mov ecx, edi
mov dword [esp + 4], 0
mov dword [esp], 0
push esi
call fcn.00498ae0
inc esi
cmp esi, 0xb
jl 0x49be30
lea eax, [edi + 0x21c]
mov dword [ebp - 0x5f0], eax
jmp 0x49c03c
mov ecx, esi
call fcn.004805a0
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2f0], eax
jl 0x49beb3
mov ecx, esi
call fcn.00485990
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2ec], eax
jl 0x49beb3
mov ecx, esi
call fcn.00487570
imul ecx, dword [esi + 0x188], 0x980
cmp dword [ecx + esi + 0x2e8], eax
jge 0x49c007
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [ebp - 0x620]
mov byte [ebp - 4], 3
mov byte [ebp - 0x608], 0
mov ecx, dword [eax + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x60b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x60c], cl
mov byte [ebp - 0x60a], al
lea eax, [ebp - 0x60c]
sar ecx, 0x18
push eax
mov byte [ebp - 0x609], cl
lea ecx, [ebp - 0x634]
push 0
call fcn.0043eb20
lea eax, [ebp - 0x4ff]
push str.The_Boss_tells_you__I_despise_cheaters___Return_without_your_stat_totem_
push eax
call fcn.0043d370
lea esi, [ebp - 0x500]
mov byte [ebp - 0x500], 4
add esp, 8
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x49bf45
mov eax, dword [ebp - 0x5e8]
sub esi, ecx
mov ecx, dword [eax + 0x11c]
lea eax, [ebp - 0x634]
push eax
push 0
lea eax, [ebp - 0x500]
mov edx, dword [ecx]
push eax
lea eax, [esi + 1]
push eax
call dword [edx + 4]
mov ecx, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0
imul eax, dword [ecx + 0x188], 0x980
mov dword [eax + ecx + 0x2fc], 0
mov esi, dword [ebp - 0x634]
mov dword [ecx + 0x124], 1
test esi, esi
je 0x49c007
mov ecx, dword [ebp - 0x62c]
mov eax, 0x66666667
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, esi
cmp ecx, 0x1000
jb 0x49bfdf
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49e631
push ecx
push esi
call fcn.005566a6
add esp, 8
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov esi, eax
mov dword [ebp - 0x5ec], eax
test esi, esi
jne 0x49be61
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x5f0], eax
jmp 0x49c03c
mov eax, dword [ebp - 0x5f0]
cmp dword [edi + 0x220], 0x1f
jne 0x49c206
cmp dword [eax], 0
mov esi, dword [ebp - 0x5e8]
je 0x49c1bb
mov ecx, esi
mov byte [edi + 0x1f9], 0
call fcn.0044ccc0
test eax, eax
jne 0x49c1bb
mov edx, dword [ebp - 0x5f0]
mov ecx, dword [edx]
call fcn.00474b60
cmp eax, 9
jle 0x49c1bb
call fcn.00565cd7
cdq
mov edi, 0xfe
idiv edi
lea esi, [edx + 1]
call fcn.00565cd7
cdq
idiv edi
mov edi, dword [ebp - 0x5e8]
mov ecx, edx
mov dword [ebp - 0x5fc], ecx
nop word [eax + eax]
mov eax, dword [edi]
push ecx
push esi
push ecx
mov eax, dword [eax + 0x20]
mov ecx, edi
push esi
call eax
test eax, eax
sete byte [ebp - 0x5f5]
test eax, eax
jne 0x49c0f2
call fcn.00565cd7
cdq
mov ecx, 0xfe
idiv ecx
lea esi, [edx + 1]
call fcn.00565cd7
mov ecx, 0xfe
cdq
idiv ecx
lea ecx, [edx + 1]
mov dword [ebp - 0x5fc], ecx
jmp 0x49c0f8
mov ecx, dword [ebp - 0x5fc]
cmp byte [ebp - 0x5f5], 0
jne 0x49c0b0
mov edi, dword [ebp - 0x624]
mov ecx, 5
push 0x2c4
mov eax, dword [edi + 0x224]
cmp eax, 5
cmovg eax, ecx
mov dword [ebp - 0x5ec], eax
call fcn.00556676
add esp, 4
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x49c14e
push 0
push 0
push dword [ebp - 0x5ec]
mov ecx, eax
push 0x1f
call fcn.00496cf0
jmp 0x49c150
xor eax, eax
mov dword [eax + 0x228], esi
mov dword [eax + 0x110], esi
mov dword [eax + 0x108], esi
mov dword [eax + 0x22c], esi
mov dword [eax + 0x114], esi
mov dword [eax + 0x10c], esi
mov byte [eax + 0x1f9], 1
push eax
mov eax, dword [ebp - 0x5e8]
mov byte [ebp - 4], 0
mov ecx, dword [eax + 0x118]
call fcn.00513530
mov ecx, dword [edi + 0x224]
mov eax, dword [0x62aadc]
mov edx, dword [ebp - 0x5fc]
mov dword [eax + ecx*8 + 4], esi
mov ecx, dword [edi + 0x224]
mov eax, dword [0x62aadc]
mov esi, dword [ebp - 0x5e8]
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 0x49c20c
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
jmp 0x49c20c
mov esi, dword [ebp - 0x5e8]
mov edx, dword [ebp - 0x61c]
mov ecx, edx
mov eax, dword [edi + 0x1d0]
sub ecx, eax
test eax, eax
je 0x49c230
cmp edx, eax
jb 0x49c230
cmp ecx, 0x2710
jbe 0x49d970
cmp dword [edi + 0x220], 0x19
mov dword [edi + 0x1d0], edx
jne 0x49c324
lea eax, [edi + 0x184]
test eax, eax
jne 0x49c324
mov ecx, esi
call fcn.0044ccc0
test eax, eax
jne 0x49c324
call fcn.00565cd7
cdq
mov ecx, 0x32
idiv ecx
cmp edx, 5
jne 0x49c324
mov eax, dword [0x62aadc]
mov eax, dword [eax + 0x64]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5ce230]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [0x5d401c]
comiss xmm0, xmm1
ja 0x49c2ac
comiss xmm1, dword [0x5d4020]
jbe 0x49c324
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.005926c0
add esp, 0xc
test eax, eax
jne 0x49c3de
lea ecx, [ebp - 0x510]
call fcn.005132b0
lea eax, [ebp - 0x510]
push eax
lea ecx, [edi + 0x2b4]
call fcn.00513310
cmp eax, 0x5a0
jle 0x49c3de
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.005926c0
add esp, 0xc
test eax, eax
jne 0x49c496
lea ecx, [ebp - 0x510]
call fcn.005132b0
lea eax, [ebp - 0x510]
push eax
lea ecx, [edi + 0x2b4]
call fcn.00513310
cmp eax, 0xa
jle 0x49c496
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 [0x62aadc]
cmp dword [eax + 0x88], 0
je 0x49c60b
push 9
lea eax, [edi + 0x184]
push str.Possessed
push eax
call fcn.005926c0
add esp, 0xc
test eax, eax
jne 0x49c60b
call fcn.00565cd7
cdq
mov ecx, 0xfa
idiv ecx
cmp edx, 0x17
jne 0x49c60b
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f0], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f4], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49c507
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x5f0]
jne 0x49c70e
dec ecx
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5f4]
mov eax, 1
mov dword [ebp - 0x5ec], eax
cmp ecx, dword [edi + 0x108]
jne 0x49c550
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x5ec], 0
cmove eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5ec], 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 0x49c60b
cmp dword [ebp - 0x5ec], 0
je 0x49c60b
mov eax, dword [ebp - 0x5f0]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5f4]
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 - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f0]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f4]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
cmp dword [edi + 0x220], 0x20
jne 0x49c85c
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f4], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f0], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49c643
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x5f4]
jne 0x49c74b
dec ecx
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5f0]
mov eax, 1
mov dword [ebp - 0x5ec], eax
cmp ecx, dword [edi + 0x108]
jne 0x49c68c
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x5ec], 0
cmove eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5ec], 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 0x49c85c
cmp dword [ebp - 0x5ec], 0
je 0x49c85c
cmp dword [edi + 0x224], 0
mov eax, dword [edi + 4]
mov dword [ebp - 0x50f], eax
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x50b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x514], 0x38
mov dword [ebp - 0x513], 0xffffffff
mov byte [ebp - 0x50a], al
jle 0x49c788
mov word [ebp - 0x509], 0x19ff
mov byte [ebp - 0x507], 0x19
jmp 0x49c798
cmp eax, 1
jne 0x49c719
inc ecx
jmp 0x49c514
cmp eax, 2
jne 0x49c730
mov edx, dword [ebp - 0x5f4]
dec edx
mov dword [ebp - 0x5f4], edx
jmp 0x49c520
cmp eax, 3
jne 0x49c51a
mov edx, dword [ebp - 0x5f4]
inc edx
mov dword [ebp - 0x5f4], edx
jmp 0x49c520
cmp eax, 1
jne 0x49c756
inc ecx
jmp 0x49c650
cmp eax, 2
jne 0x49c76d
mov edx, dword [ebp - 0x5f0]
dec edx
mov dword [ebp - 0x5f0], edx
jmp 0x49c65c
cmp eax, 3
jne 0x49c656
mov edx, dword [ebp - 0x5f0]
inc edx
mov dword [ebp - 0x5f0], edx
jmp 0x49c65c
mov word [ebp - 0x509], 0xff32
mov byte [ebp - 0x507], 0x32
push 0
push 5
mov eax, 1
mov byte [ebp - 0x506], 0
mov word [ebp - 0x505], ax
mov ecx, esi
lea eax, [ebp - 0x514]
push eax
push 0x11
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov eax, dword [ebp - 0x5f4]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5f0]
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 - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f4]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f0]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
cmp dword [edi + 0x220], 0x1f
jne 0x49cc8c
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f0], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f4], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49c894
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49c89e
dec dword [ebp - 0x5f0]
jmp 0x49c8c3
cmp eax, 1
jne 0x49c8ab
inc dword [ebp - 0x5f0]
jmp 0x49c8c3
cmp eax, 2
jne 0x49c8b8
dec dword [ebp - 0x5f4]
jmp 0x49c8c3
cmp eax, 3
jne 0x49c8c3
inc dword [ebp - 0x5f4]
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x604], 0
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49c948
nop
mov ecx, esi
call fcn.0044ccc0
test eax, eax
jne 0x49c931
cmp dword [esi + 0x14f10], eax
jne 0x49c931
mov eax, dword [edi + 0x108]
sub eax, dword [esi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
jge 0x49c931
mov eax, dword [edi + 0x10c]
sub eax, dword [esi + 0x10c]
mov ecx, dword [ebp - 0x604]
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
mov eax, 1
cmovl ecx, eax
mov dword [ebp - 0x604], ecx
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49c8e0
mov ecx, dword [ebp - 0x5f0]
mov edx, dword [ebp - 0x5f4]
cmp ecx, dword [edi + 0x108]
jne 0x49c973
mov eax, dword [ebp - 0x604]
xor esi, esi
cmp edx, dword [edi + 0x10c]
cmove eax, esi
mov dword [ebp - 0x604], eax
mov esi, dword [ebp - 0x5e8]
push edx
push ecx
push dword [edi + 0x10c]
mov eax, dword [esi]
mov ecx, esi
push dword [edi + 0x108]
mov eax, dword [eax + 0x20]
call eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x604]
cmp byte [edi + 0x1a4], 0
jne 0x49c9b9
cmp byte [edi + 0x1a5], 0
jne 0x49c9b9
cmp byte [edi + 0x1a6], 0xff
je 0x49cc8c
test eax, eax
je 0x49cc8c
call fcn.00565cd7
and eax, 0x800000ff
jns 0x49c9d4
dec eax
or eax, 0xffffff00
inc eax
mov dword [ebp - 0x5ec], eax
call fcn.00565cd7
and eax, 0x800000ff
jns 0x49c9ed
dec eax
or eax, 0xffffff00
inc eax
mov dword [ebp - 0x5fc], eax
call fcn.00565cd7
mov ecx, eax
and ecx, 0x800000ff
jns 0x49ca0a
dec ecx
or ecx, 0xffffff00
inc ecx
cmp dword [edi + 0x21c], 0
mov dword [ebp - 0x618], ecx
jne 0x49ca90
mov eax, dword [edi + 4]
mov dword [ebp - 0x50f], eax
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x50b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x50a], al
mov eax, dword [ebp - 0x5ec]
mov byte [ebp - 0x509], al
mov eax, dword [ebp - 0x5fc]
mov byte [ebp - 0x508], al
mov eax, 2
push 0
mov word [ebp - 0x505], ax
lea eax, [ebp - 0x514]
push 5
push eax
mov byte [ebp - 0x514], 0x38
mov dword [ebp - 0x513], 0xffffffff
mov byte [ebp - 0x507], cl
mov byte [ebp - 0x506], 0
push 0x11
jmp 0x49cba8
push 0x198
call fcn.00556676
add esp, 4
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x49cabc
mov ecx, eax
call fcn.00495b10
mov ecx, eax
mov dword [ebp - 0x600], eax
jmp 0x49cac4
xor ecx, ecx
mov dword [ebp - 0x600], ecx
mov eax, dword [ebp - 0x5ec]
mov dword [ecx + 0x188], eax
mov eax, dword [ebp - 0x5fc]
mov dword [ecx + 0x18c], eax
mov eax, dword [ebp - 0x618]
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.00513530
mov ecx, dword [ebp - 0x600]
mov byte [ebp - 0x510], 0x53
mov dword [ebp - 0x50f], ecx
push 0
movzx eax, byte [ecx + 0x180]
mov byte [ebp - 0x50b], al
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x505], eax
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x507], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x506], al
movzx eax, byte [ecx + 0x188]
mov byte [ebp - 0x50a], al
movzx eax, byte [ecx + 0x18c]
mov byte [ebp - 0x509], al
movzx eax, byte [ecx + 0x190]
mov byte [ebp - 0x508], al
lea eax, [ebp - 0x510]
push 5
push eax
push 0xf
push dword [edi + 0x10c]
mov ecx, esi
push dword [edi + 0x108]
push 0
call fcn.00529cd0
cmp dword [edi + 0x21c], 0
jne 0x49cc8c
mov edx, dword [ebp - 0x5f0]
mov eax, dword [ebp - 0x5f4]
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 - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f0]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f4]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
cmp byte [edi + 0x1f9], 0
je 0x49cc8c
mov ecx, dword [edi + 0x224]
mov eax, dword [0x62aadc]
mov edx, dword [ebp - 0x5f0]
mov dword [eax + ecx*8 + 4], edx
mov ecx, dword [edi + 0x224]
mov eax, dword [0x62aadc]
mov edx, dword [ebp - 0x5f4]
mov dword [eax + ecx*8 + 8], edx
xor esi, esi
xorps xmm0, xmm0
movss xmm1, dword [edi + esi*4 + 0x154]
comiss xmm1, xmm0
jbe 0x49ccbd
mov eax, dword [ebp - 0x61c]
cmp dword [edi + esi*4 + 0x128], eax
jae 0x49cfd3
mov dword [edi + esi*4 + 0x154], 0
inc esi
cmp esi, 0xb
jl 0x49cc91
cmp dword [edi + 0x23c], 0
je 0x49ccfb
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 0x49ccfb
mov dword [edi + 0x23c], 0
cmp dword [edi + 0x240], 0
je 0x49cd33
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 0x49cd33
mov dword [edi + 0x240], 0
cmp dword [edi + 0x244], 0
je 0x49cd6b
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 0x49cd6b
mov dword [edi + 0x244], 0
cmp dword [edi + 0x248], 0
je 0x49cda3
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 0x49cda3
mov dword [edi + 0x248], 0
cmp dword [edi + 0x24c], 0
je 0x49cddb
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 0x49cddb
mov dword [edi + 0x24c], 0
cmp dword [edi + 0x250], 0
je 0x49ce13
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 0x49ce13
mov dword [edi + 0x250], 0
cmp dword [edi + 0x254], 0
je 0x49ce4b
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 0x49ce4b
mov dword [edi + 0x254], 0
cmp dword [edi + 0x258], 0
je 0x49ce83
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 0x49ce83
mov dword [edi + 0x258], 0
cmp dword [edi + 0x25c], 0
je 0x49cebb
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 0x49cebb
mov dword [edi + 0x25c], 0
cmp dword [edi + 0x260], 0
je 0x49cef3
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 0x49cef3
mov dword [edi + 0x260], 0
cmp dword [edi + 0x220], 0x1b
jne 0x49d21a
mov eax, dword [edi + 0x1ac]
cmp eax, dword [edi + 0x1b0]
jge 0x49d21a
cmp byte [edi + 0x1df], 1
mov ecx, dword [edi + 0x21c]
setne al
mov byte [edi + 0x1df], al
test ecx, ecx
je 0x49cf3d
call fcn.00474b60
cmp eax, 9
jle 0x49cf3d
mov byte [edi + 0x1df], 0
movsx eax, byte [edi + 0x1df]
mov ecx, dword [ebp - 0x5e8]
push 0
push 5
mov dword [ebp - 0x62b], eax
lea eax, [ebp - 0x630]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x630], 0x55
push dword [edi + 0x108]
mov dword [ebp - 0x62f], edi
push 0
call fcn.00529cd0
cmp byte [edi + 0x1df], 1
jne 0x49d21a
xor eax, eax
nop dword [eax]
inc eax
mov dword [ebp - 0x5fc], eax
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f4], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f0], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49cfc2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49d06c
dec dword [ebp - 0x5f4]
jmp 0x49d091
cmp esi, 4
jne 0x49ccbd
movd xmm0, dword [edi + 0x1ac]
mulss xmm1, dword [0x5cf5bc]
mov ecx, dword [ebp - 0x5e8]
cvtdq2ps xmm0, xmm0
push 0
push 2
mov byte [ebp - 0x650], 0x27
mov dword [ebp - 0x64f], edi
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [edi + 0x1ac], eax
mov dword [ebp - 0x64b], eax
mov eax, dword [edi + 0x1b0]
mov dword [ebp - 0x647], eax
lea eax, [ebp - 0x650]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
cmp dword [edi + 0x1ac], 0
xorps xmm0, xmm0
jg 0x49ccbd
mov dword [edi + 0x1ac], 0
inc esi
mov dword [edi + 0x124], 1
jmp 0x49cc91
cmp eax, 1
jne 0x49d079
inc dword [ebp - 0x5f4]
jmp 0x49d091
cmp eax, 2
jne 0x49d086
dec dword [ebp - 0x5f0]
jmp 0x49d091
cmp eax, 3
jne 0x49d091
inc dword [ebp - 0x5f0]
mov ecx, dword [edi + 0x228]
xor eax, eax
mov edx, dword [edi + 0x22c]
mov esi, dword [ebp - 0x5f4]
mov edi, dword [ebp - 0x5f0]
sub esi, ecx
sub ecx, dword [ebp - 0x5f4]
sub edi, edx
sub edx, dword [ebp - 0x5f0]
cmp ecx, 2
setle al
xor ecx, ecx
cmp edx, 2
mov edx, dword [ebp - 0x5f4]
cmovle ecx, eax
xor eax, eax
cmp esi, 2
cmovle eax, ecx
xor esi, esi
cmp edi, 2
mov edi, dword [ebp - 0x624]
cmovle esi, eax
cmp edx, dword [edi + 0x108]
jge 0x49d0f5
xor eax, eax
cmp edx, 2
cmovl esi, eax
mov eax, dword [edi + 0x10c]
mov ecx, dword [ebp - 0x5f0]
cmp ecx, eax
jge 0x49d119
cmp ecx, 2
mov dword [ebp - 0x5ec], 0
cmovl esi, dword [ebp - 0x5ec]
cmp edx, dword [edi + 0x108]
jne 0x49d134
cmp ecx, eax
mov dword [ebp - 0x5ec], 0
cmove esi, dword [ebp - 0x5ec]
mov eax, dword [ebp - 0x5e8]
push ecx
mov ecx, dword [ebp - 0x5e8]
push edx
mov eax, dword [eax]
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x49d169
test esi, esi
je 0x49d169
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jae 0x49d17d
mov eax, dword [ebp - 0x5fc]
cmp eax, 0xa
jl 0x49cf90
jmp 0x49d21a
mov eax, dword [ebp - 0x5f4]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5f0]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [ebp - 0x5e8]
mov ecx, esi
mov dword [edi + 0x118], eax
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f4]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f0]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
push esi
mov ecx, edi
call fcn.00498d40
cmp dword [edi + 0x220], 0x1e
jne 0x49d3cc
cmp dword [edi + 0x224], 1
jle 0x49d3cc
mov eax, dword [edi + 0x1ac]
cmp eax, dword [edi + 0x1b0]
jge 0x49d3cc
cmp byte [edi + 0x1df], 1
mov ecx, dword [edi + 0x21c]
setne al
mov byte [edi + 0x1df], al
test ecx, ecx
je 0x49d271
call fcn.00474b60
cmp eax, 9
jle 0x49d271
mov byte [edi + 0x1df], 0
cmp byte [edi + 0x1df], 1
jne 0x49d3cc
xor eax, eax
inc eax
mov dword [ebp - 0x5fc], eax
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f4], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f0], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49d2b2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x49d2bc
dec dword [ebp - 0x5f4]
jmp 0x49d2e1
cmp eax, 1
jne 0x49d2c9
inc dword [ebp - 0x5f4]
jmp 0x49d2e1
cmp eax, 2
jne 0x49d2d6
dec dword [ebp - 0x5f0]
jmp 0x49d2e1
cmp eax, 3
jne 0x49d2e1
inc dword [ebp - 0x5f0]
mov ecx, dword [edi + 0x228]
xor eax, eax
mov edx, dword [edi + 0x22c]
mov esi, dword [ebp - 0x5f4]
mov edi, dword [ebp - 0x5f0]
sub esi, ecx
sub ecx, dword [ebp - 0x5f4]
sub edi, edx
sub edx, dword [ebp - 0x5f0]
cmp ecx, 2
setle al
xor ecx, ecx
cmp edx, 2
mov edx, dword [ebp - 0x5f4]
cmovle ecx, eax
xor eax, eax
cmp esi, 2
cmovle eax, ecx
xor esi, esi
cmp edi, 2
mov edi, dword [ebp - 0x624]
cmovle esi, eax
cmp edx, dword [edi + 0x108]
jge 0x49d345
xor eax, eax
cmp edx, 2
cmovl esi, eax
mov eax, dword [edi + 0x10c]
mov ecx, dword [ebp - 0x5f0]
cmp ecx, eax
jge 0x49d369
cmp ecx, 2
mov dword [ebp - 0x5ec], 0
cmovl esi, dword [ebp - 0x5ec]
cmp edx, dword [edi + 0x108]
jne 0x49d384
cmp ecx, eax
mov dword [ebp - 0x5ec], 0
cmove esi, dword [ebp - 0x5ec]
mov eax, dword [ebp - 0x5e8]
push ecx
mov ecx, dword [ebp - 0x5e8]
push edx
mov eax, dword [eax]
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x49d3bd
test esi, esi
je 0x49d3bd
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jae 0x49d538
mov eax, dword [ebp - 0x5fc]
cmp eax, 0xa
jl 0x49d280
mov esi, dword [ebp - 0x5e8]
cmp dword [edi + 0x220], 7
jne 0x49d970
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 - 0x5fc], eax
add eax, 4
mov ecx, eax
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x620], eax
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49d4af
mov edi, dword [ebp - 0x620]
nop
cmp dword [esi + 0x110], 0
jne 0x49d49c
push 0x13
mov ecx, esi
call fcn.0044ccd0
push eax
push str.Ancient_Dragonscale
call fcn.005926c0
add esp, 0xc
test eax, eax
jne 0x49d466
mov eax, dword [ebp - 0x600]
add eax, dword [esi + 0x118]
mov dword [ebp - 0x600], eax
cmp dword [esi + 0x110], 0
jne 0x49d49c
push 0xc
mov ecx, esi
call fcn.0044ccd0
push eax
push str.Demon_Amulet
call fcn.005926c0
add esp, 0xc
test eax, eax
jne 0x49d49c
mov eax, dword [ebp - 0x618]
add eax, dword [esi + 0x118]
mov dword [ebp - 0x618], eax
mov ecx, edi
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49d430
mov edi, dword [ebp - 0x624]
cmp dword [edi + 0x224], 2
jne 0x49d6e7
cmp dword [ebp - 0x600], 1
jle 0x49d6e7
mov ecx, dword [ebp - 0x620]
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49d5f1
mov edi, dword [ebp - 0x620]
nop dword [eax]
nop dword [eax + eax]
cmp dword [esi + 0x110], 0
jne 0x49d5da
push 0x13
mov ecx, esi
call fcn.0044ccd0
push eax
push str.Ancient_Dragonscale
call fcn.005926c0
add esp, 0xc
test eax, eax
jne 0x49d5da
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, edi
call fcn.0044e330
jmp 0x49d5e1
mov eax, dword [ebp - 0x5f4]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5f0]
mov dword [edi + 0x120], 1
mov dword [edi + 0x114], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [ebp - 0x5e8]
mov ecx, esi
mov dword [edi + 0x118], eax
movzx eax, byte [edi + 0x108]
mov byte [ebp - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f4]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f0]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
push esi
mov ecx, edi
call fcn.00498d40
jmp 0x49d3d2
mov ecx, edi
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49d4f0
mov edi, dword [ebp - 0x624]
push 0x120
call fcn.00556676
add esp, 4
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x49d620
push str.Elatium_Ingot
push 0
push 4
mov ecx, eax
call fcn.0050b040
mov esi, eax
jmp 0x49d622
xor esi, esi
mov ecx, dword [esi + 0x11c]
mov eax, dword [ebp - 0x600]
cdq
sub eax, edx
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
sar eax, 1
mov ecx, eax
mov dword [esi + 0x108], 0x3f800000
cmp eax, 1
mov dword [esi + 0x10c], 0x47927c00
mov eax, 1
cmovl ecx, eax
mov dword [esi + 0x118], ecx
push esi
mov esi, dword [ebp - 0x620]
mov ecx, esi
call fcn.0044e180
lea eax, [ebp - 0x4fe]
push str.The_dragon_agrees_to_a_trade.
push eax
call fcn.0043d370
lea ecx, [ebp - 0x500]
mov word [ebp - 0x500], 0xfb04
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49d6b4
push 0
push 1
sub ecx, edx
lea eax, [ebp - 0x500]
push eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x5e8]
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
jmp 0x49d6ed
mov esi, dword [ebp - 0x620]
cmp dword [edi + 0x224], 2
jne 0x49d7ea
cmp dword [ebp - 0x618], 0
jle 0x49d7ea
mov ecx, esi
mov dword [ebp - 0x5ec], 0
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49d77e
mov edi, dword [ebp - 0x620]
cmp dword [esi + 0x110], 0
jne 0x49d761
push 0xc
mov ecx, esi
call fcn.0044ccd0
push eax
push str.Demon_Amulet
call fcn.005926c0
add esp, 0xc
test eax, eax
jne 0x49d761
push esi
mov ecx, edi
call fcn.0044e520
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, edi
call fcn.0044e330
jmp 0x49d772
mov ecx, edi
mov dword [ebp - 0x5ec], 1
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49d724
mov edi, dword [ebp - 0x624]
mov esi, dword [ebp - 0x5e8]
mov ecx, edi
push esi
push dword [ebp - 0x618]
call fcn.004982c0
cmp dword [ebp - 0x5ec], 0
jne 0x49d7ea
mov eax, dword [ebp - 0x5fc]
mov ecx, esi
mov dword [ebp - 0x60f], eax
movzx eax, byte [edi + 0x108]
push 0
mov byte [ebp - 0x60b], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x60a], al
lea eax, [ebp - 0x610]
push eax
push 7
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1a
push dword [edi + 0x108]
push 0
call fcn.00529cd0
cmp dword [edi + 0x220], 7
jne 0x49d970
cmp dword [edi + 0x224], 4
jne 0x49d970
mov eax, str.Dragon_ArchMage
lea edx, [edi + 0x184]
nop
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x49d830
test cl, cl
je 0x49d82c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x49d830
add edx, 2
add eax, 2
test cl, cl
jne 0x49d810
xor eax, eax
jmp 0x49d835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49d970
cmp dword [edi + 0x1ac], 0x3a98
jge 0x49d970
cmp dword [edi + 0x230], eax
jne 0x49d970
mov dword [edi + 0x230], 1
mov dword [ebp - 0x5ec], 4
nop dword [eax]
push 0x2c4
call fcn.00556676
add esp, 4
mov dword [ebp - 0x5fc], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x49d89e
push 0
push 0
push 5
push 7
mov ecx, eax
call fcn.00496cf0
mov esi, eax
jmp 0x49d8a0
xor esi, esi
mov eax, dword [edi + 0x108]
mov ecx, dword [edi + 0x10c]
mov dword [esi + 0x108], eax
mov dword [esi + 0x110], eax
mov dword [esi + 0x228], eax
mov eax, dword [ebp - 0x5e8]
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x114], ecx
mov dword [esi + 0x22c], ecx
mov ecx, dword [eax + 0x118]
push esi
mov byte [ebp - 4], 0
call fcn.00513530
mov ecx, esi
mov byte [ebp - 0x614], 0x18
mov dword [ebp - 0x613], esi
call fcn.0044ccc0
mov byte [ebp - 0x60f], al
movzx eax, word [esi + 0x220]
mov ecx, dword [ebp - 0x5e8]
mov word [ebp - 0x60e], ax
movzx eax, word [esi + 0x224]
mov word [ebp - 0x60c], ax
mov byte [ebp - 0x60a], 0
movzx eax, byte [esi + 0x108]
mov byte [ebp - 0x609], al
movzx eax, byte [esi + 0x10c]
push 0
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x614]
push eax
push 0xd
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0
call fcn.00529cd0
sub dword [ebp - 0x5ec], 1
jne 0x49d870
mov esi, dword [ebp - 0x61c]
mov ecx, esi
mov eax, dword [edi + 0x1cc]
sub ecx, eax
test eax, eax
je 0x49d994
cmp esi, eax
jb 0x49d994
cmp ecx, 0xc350
jbe 0x49de3a
cmp dword [edi + 0x120], 0
jne 0x49de3a
cmp dword [edi + 0x204], 0
jne 0x49de3a
call fcn.00565cd7
cdq
mov ecx, 0x2710
idiv ecx
sub esi, edx
mov dword [edi + 0x1cc], esi
movsx esi, byte [edi + 0x1dc]
mov dword [ebp - 0x5ec], esi
test esi, esi
jne 0x49da86
mov ecx, dword [ebp - 0x5e8]
call fcn.0044ccc0
test eax, eax
jne 0x49da86
lea eax, [ebp - 0x514]
push eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.00513670
mov eax, dword [ebp - 0x5e8]
push esi
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
test eax, eax
je 0x49da5d
mov edi, dword [ebp - 0x5e8]
nop dword [eax + eax]
mov ecx, eax
call fcn.0044ccc0
mov ecx, dword [edi + 0x118]
cmp eax, 7
mov eax, 1
cmove esi, eax
call fcn.005135f0
test eax, eax
jne 0x49da30
mov edi, dword [ebp - 0x624]
mov dword [ebp - 0x5ec], esi
movups xmm0, xmmword [ebp - 0x514]
mov eax, dword [ebp - 0x504]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.00513850
cmp dword [edi + 0x220], 0x1a
jne 0x49db7e
test esi, esi
jne 0x49db7e
lea eax, [ebp - 0x514]
mov dword [ebp - 0x5fc], esi
push eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.00513670
mov eax, dword [ebp - 0x5e8]
push esi
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513550
mov dword [ebp - 0x600], eax
test eax, eax
je 0x49db28
mov edi, dword [ebp - 0x5e8]
mov esi, eax
nop dword [eax]
mov ecx, esi
call fcn.0044ccc0
cmp eax, 1
jne 0x49db0b
cmp dword [esi + 0x220], 0x1a
jne 0x49db0b
inc dword [ebp - 0x5fc]
mov ecx, dword [edi + 0x118]
call fcn.005135f0
mov esi, eax
test esi, esi
jne 0x49daf0
mov edi, dword [ebp - 0x624]
mov esi, dword [ebp - 0x5ec]
movups xmm0, xmmword [ebp - 0x514]
mov eax, dword [ebp - 0x504]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x118]
call fcn.00513850
mov eax, dword [ebp - 0x5fc]
add eax, 0xfffffffe
cmp eax, 4
ja 0x49db79
mov eax, dword [edi + 0x108]
mov dword [edi + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [edi + 0x22c], eax
jmp 0x49db7e
mov esi, 1
cmp dword [edi + 0x220], 0x1d
jne 0x49dc60
test esi, esi
mov esi, dword [ebp - 0x5e8]
jne 0x49dc6e
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x514]
push eax
mov dword [ebp - 0x5fc], 0
call fcn.00513670
mov ecx, dword [esi + 0x118]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00513550
mov dword [ebp - 0x5ec], eax
test eax, eax
je 0x49dc12
mov edi, eax
nop word [eax + eax]
mov ecx, edi
call fcn.0044ccc0
cmp eax, 1
jne 0x49dbfb
cmp dword [edi + 0x220], 0x1d
jne 0x49dbfb
inc dword [ebp - 0x5fc]
mov ecx, dword [esi + 0x118]
call fcn.005135f0
mov edi, eax
test edi, edi
jne 0x49dbe0
mov edi, dword [ebp - 0x624]
movups xmm0, xmmword [ebp - 0x514]
mov eax, dword [ebp - 0x504]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00513850
mov eax, dword [ebp - 0x5fc]
add eax, 0xfffffffe
cmp eax, 4
ja 0x49dc6e
mov eax, dword [edi + 0x108]
mov dword [edi + 0x228], eax
mov eax, dword [edi + 0x10c]
mov dword [edi + 0x22c], eax
jmp 0x49de40
test esi, esi
mov esi, dword [ebp - 0x5e8]
je 0x49de40
mov eax, dword [edi + 0x108]
mov dword [ebp - 0x5f4], eax
mov eax, dword [edi + 0x10c]
mov dword [ebp - 0x5f0], eax
call fcn.00565cd7
and eax, reloc.WS2_32.dll_closesocket
jns 0x49dc99
dec eax
or eax, 0xfffffffc
add eax, 1
mov ecx, dword [ebp - 0x5f4]
jne 0x49ddfd
dec ecx
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5f0]
mov eax, 1
mov dword [ebp - 0x600], eax
cmp ecx, dword [edi + 0x108]
jge 0x49dcdf
cmp ecx, 2
mov dword [ebp - 0x5ec], 0
cmovl eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x600], eax
cmp edx, dword [edi + 0x10c]
jge 0x49dd01
cmp edx, 2
mov dword [ebp - 0x5ec], 0
cmovl eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x600], eax
cmp ecx, dword [edi + 0x108]
jne 0x49dd26
cmp edx, dword [edi + 0x10c]
mov dword [ebp - 0x5ec], 0
cmove eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x600], 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 - 0x600]
cmp dword [edi + 0x21c], 0
jne 0x49de40
test eax, eax
je 0x49de40
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jb 0x49de40
mov eax, dword [ebp - 0x5f4]
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x5f0]
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 - 0x60b], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x60a], al
mov eax, dword [ebp - 0x5f4]
push 0
mov byte [ebp - 0x609], al
mov eax, dword [ebp - 0x5f0]
push 5
mov byte [ebp - 0x608], al
lea eax, [ebp - 0x610]
push eax
push 9
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1b
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
jmp 0x49de40
cmp eax, 1
jne 0x49de08
inc ecx
jmp 0x49dca6
cmp eax, 2
jne 0x49de1f
mov edx, dword [ebp - 0x5f0]
dec edx
mov dword [ebp - 0x5f0], edx
jmp 0x49dcb2
cmp eax, 3
jne 0x49dcac
mov edx, dword [ebp - 0x5f0]
inc edx
mov dword [ebp - 0x5f0], edx
jmp 0x49dcb2
mov esi, dword [ebp - 0x5e8]
mov edx, dword [edi + 0x1d8]
test edx, edx
je 0x49e609
mov eax, dword [edi + 0x1d4]
mov ecx, dword [ebp - 0x61c]
sub ecx, eax
mov dword [ebp - 0x5ec], 0x927c1
cmp dword [ebp - 0x61c], eax
cmovb ecx, dword [ebp - 0x5ec]
test eax, eax
mov eax, dword [ebp - 0x61c]
jne 0x49de85
mov dword [edi + 0x1d4], eax
xor ecx, ecx
cmp edx, 2
jne 0x49e0e3
cmp ecx, 0x927c0
jbe 0x49e609
mov dword [edi + 0x1d4], eax
mov ecx, dword [esi + 0x110]
mov dword [ebp - 0x604], 0
call fcn.0044e330
mov esi, eax
test esi, esi
je 0x49e609
nop
cmp dword [ebp - 0x604], 0
jne 0x49df20
call fcn.00565cd7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x5e8]
cmp edx, 3
cmovne esi, dword [ebp - 0x604]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x604], esi
call fcn.0044e3e0
mov esi, eax
test esi, esi
jne 0x49dec0
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e330
mov esi, eax
test esi, esi
jne 0x49dec0
cmp dword [ebp - 0x604], eax
je 0x49e609
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x174]
jb 0x49e609
movzx eax, byte [edi + 0x108]
mov esi, dword [ebp - 0x5e8]
mov ecx, esi
push 0
mov byte [ebp - 0x60b], al
movzx eax, byte [edi + 0x10c]
push 6
mov byte [ebp - 0x60a], al
lea eax, [ebp - 0x610]
push eax
push 7
push dword [edi + 0x10c]
mov byte [ebp - 0x610], 0x1a
push dword [edi + 0x108]
mov dword [ebp - 0x60f], edi
push 0
call fcn.00529cd0
mov ecx, dword [ebp - 0x604]
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.00513750
movzx eax, byte [edi + 0x108]
mov ecx, edi
mov byte [ebp - 0x629], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x628], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x62e], ax
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x634], 0x18
mov dword [ebp - 0x633], edi
mov word [ebp - 0x62c], ax
call fcn.0044ccc0
push 0
push 6
mov byte [ebp - 0x62f], al
mov ecx, esi
lea eax, [ebp - 0x634]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
movzx eax, byte [edi + 0x108]
mov ecx, esi
push 0
mov byte [ebp - 0x50b], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x50a], al
lea eax, [ebp - 0x514]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x514], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x513], 0xffffffff
push 0
mov dword [ebp - 0x50f], edi
mov word [ebp - 0x509], 0xff
mov dword [ebp - 0x507], 0x10100
call fcn.00529cd0
lea eax, [ebp - 0x4fe]
push str.The_Thieving_Spirit_has_arrived_
push eax
call fcn.0043d370
lea ecx, [ebp - 0x500]
mov word [ebp - 0x500], 0xfe04
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e0a7
push 0
push 5
sub ecx, edx
lea eax, [ebp - 0x500]
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov dword [edi + 0x1d8], 1
jmp 0x49e609
cmp edx, 1
jne 0x49e609
cmp ecx, 0x7530
jbe 0x49e609
mov dword [edi + 0x1d4], eax
xor esi, esi
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x620], esi
mov ecx, dword [eax + 0x110]
call fcn.0044e330
mov ecx, eax
xor edx, edx
test ecx, ecx
je 0x49e4a4
test esi, esi
jne 0x49e19f
cmp edx, 0xc8
jge 0x49e4a4
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x49e156
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
cmove esi, ecx
mov dword [ebp - 0x620], esi
mov eax, dword [ebp - 0x5e8]
inc edx
mov dword [ebp - 0x5ec], edx
mov ecx, dword [eax + 0x110]
call fcn.0044e3e0
mov edx, dword [ebp - 0x5ec]
mov ecx, eax
test ecx, ecx
jne 0x49e123
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x110]
call fcn.0044e330
mov edx, dword [ebp - 0x5ec]
mov ecx, eax
test ecx, ecx
jne 0x49e123
test esi, esi
je 0x49e4a4
imul eax, dword [esi + 0x188], 0x980
mov eax, dword [eax + esi + 0x2e4]
xor esi, esi
mov dword [ebp - 0x604], eax
add eax, 4
mov ecx, eax
mov dword [ebp - 0x618], eax
call fcn.0044e330
xor ecx, ecx
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x600], ecx
test eax, eax
je 0x49e247
mov edi, dword [ebp - 0x618]
test esi, esi
jne 0x49e241
cmp dword [eax + 0x110], 2
jne 0x49e20f
inc ecx
mov dword [ebp - 0x600], ecx
call fcn.00565cd7
cdq
mov ecx, 0xa
idiv ecx
mov esi, dword [ebp - 0x5fc]
xor eax, eax
cmp edx, 3
cmovne esi, eax
mov ecx, edi
call fcn.0044e3e0
mov ecx, dword [ebp - 0x600]
mov dword [ebp - 0x5fc], eax
test eax, eax
jne 0x49e1e0
test ecx, ecx
jle 0x49e241
mov ecx, edi
call fcn.0044e330
mov ecx, dword [ebp - 0x600]
mov dword [ebp - 0x5fc], eax
test eax, eax
jne 0x49e1e0
mov edi, dword [ebp - 0x624]
mov ecx, dword [ebp - 0x618]
mov dword [ebp - 0x5fc], 0
call fcn.0044e330
mov dword [ebp - 0x600], eax
test eax, eax
je 0x49e2ce
test esi, esi
jne 0x49e389
cmp dword [ebp - 0x5fc], 0x64
jge 0x49e2d6
mov eax, dword [eax + 0x110]
cmp eax, 1
je 0x49e29e
cmp eax, 0x15
je 0x49e29e
call fcn.00565cd7
cdq
mov ecx, 5
idiv ecx
cmp edx, 3
cmove esi, dword [ebp - 0x600]
mov ecx, dword [ebp - 0x618]
inc dword [ebp - 0x5fc]
call fcn.0044e3e0
mov dword [ebp - 0x600], eax
test eax, eax
jne 0x49e266
mov ecx, dword [ebp - 0x618]
call fcn.0044e330
mov dword [ebp - 0x600], eax
test eax, eax
jne 0x49e266
test esi, esi
jne 0x49e389
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x5fc], 0
imul eax, dword [ecx + 0x188], 0x980
mov eax, dword [eax + ecx + 0x2d8]
mov dword [ebp - 0x604], eax
lea ecx, [eax + 4]
call fcn.0044e330
mov dword [ebp - 0x600], eax
test eax, eax
je 0x49e436
test esi, esi
jne 0x49e389
cmp dword [ebp - 0x5fc], 0x64
jge 0x49e436
mov eax, dword [eax + 0x110]
cmp eax, 1
je 0x49e34b
cmp eax, 0x15
je 0x49e34b
call fcn.00565cd7
cdq
mov ecx, 0x23
idiv ecx
cmp edx, 3
cmove esi, dword [ebp - 0x600]
mov ecx, dword [ebp - 0x604]
inc dword [ebp - 0x5fc]
lea ecx, [ecx + 4]
call fcn.0044e3e0
mov dword [ebp - 0x600], eax
test eax, eax
jne 0x49e313
mov ecx, dword [ebp - 0x604]
lea ecx, [ecx + 4]
call fcn.0044e330
mov dword [ebp - 0x600], eax
test eax, eax
jne 0x49e313
test esi, esi
je 0x49e436
mov eax, dword [ebp - 0x620]
cmp dword [eax + 0x14f10], 0
jne 0x49e436
mov ecx, dword [ebp - 0x604]
push esi
lea ecx, [ecx + 4]
call fcn.0044e520
mov ecx, dword [edi + 0x180]
push esi
add ecx, 4
call fcn.0044e180
mov ecx, esi
call fcn.0044ccd0
mov ecx, dword [ebp - 0x620]
push eax
imul eax, dword [ecx + 0x188], 0x980
add ecx, 0x2a0
add eax, ecx
push eax
lea eax, [ebp - 0x4fe]
push str.The_Thieving_Spirit_has_stolen__ss__s_
push eax
call fcn.0043d370
lea ecx, [ebp - 0x500]
mov word [ebp - 0x500], 0xfe04
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e401
mov esi, dword [ebp - 0x5e8]
lea eax, [ebp - 0x500]
push 0
push 5
sub ecx, edx
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
jmp 0x49e43c
mov esi, dword [ebp - 0x5e8]
movzx eax, byte [edi + 0x108]
mov ecx, esi
push 0
mov byte [ebp - 0x50b], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x50a], al
lea eax, [ebp - 0x514]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x514], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x513], 0xffffffff
push 0
mov dword [ebp - 0x50f], edi
mov word [ebp - 0x509], 0xff
mov dword [ebp - 0x507], 0x10100
call fcn.00529cd0
jmp 0x49e4b0
mov esi, dword [ebp - 0x5e8]
nop word [eax + eax]
call fcn.00565cd7
cdq
mov ecx, 3
idiv ecx
mov eax, dword [edi + 0x108]
dec edx
add eax, edx
mov dword [ebp - 0x600], eax
call fcn.00565cd7
cdq
mov ecx, 3
idiv ecx
mov eax, dword [edi + 0x10c]
mov ecx, dword [ebp - 0x600]
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 - 0x5fc], edx
call eax
test eax, eax
je 0x49e4b0
mov ecx, dword [edi + 0x108]
mov eax, dword [edi + 0x10c]
cmp dword [ebp - 0x600], ecx
jne 0x49e51b
cmp dword [ebp - 0x5fc], eax
je 0x49e4b0
movss xmm0, dword [edi + 0x174]
comiss xmm0, dword [0x5cf054]
jbe 0x49e538
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], eax
push 0
push 6
lea edx, [ebp - 0x610]
mov byte [ebp - 0x60b], cl
push edx
push 7
push eax
push ecx
push 0
mov ecx, esi
mov byte [ebp - 0x610], 0x1a
mov dword [ebp - 0x60f], edi
mov byte [ebp - 0x60a], al
call fcn.00529cd0
mov eax, dword [ebp - 0x600]
mov dword [edi + 0x108], eax
mov eax, dword [ebp - 0x5fc]
mov dword [edi + 0x10c], eax
mov ecx, dword [esi + 0x118]
push edi
call fcn.00513750
movzx eax, byte [edi + 0x108]
mov ecx, edi
mov byte [ebp - 0x629], al
movzx eax, byte [edi + 0x10c]
mov byte [ebp - 0x628], al
movzx eax, word [edi + 0x220]
mov word [ebp - 0x62e], ax
movzx eax, word [edi + 0x224]
mov byte [ebp - 0x634], 0x18
mov dword [ebp - 0x633], edi
mov word [ebp - 0x62c], ax
call fcn.0044ccc0
push 0
push 6
mov byte [ebp - 0x62f], al
mov ecx, esi
lea eax, [ebp - 0x634]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.00529cd0
mov dword [edi + 0x1d8], 2
lea ecx, [ebp - 0x640]
call fcn.00472a40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005566b4
mov esp, ebp
pop ebp
ret 4
call fcn.0058d637
int3