Function at 0x100698a0
Capabilities:
Check for foreground window switch
Check for time delay via gettickcount
Check if file exists
Encode data using xor
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
mov eax, dword [0x100e41c4]
xor eax, esp
mov dword [esp + 0xf4], eax
push esi
mov dword [esp + 0x24], 0
cmp byte [0x101ef914], 0
push edi
jne 0x1006dd44
cmp byte [0x101e70bb], 1
mov esi, 1
movss xmm1, dword [0x100d6858]
jne 0x10069e68
mov eax, dword [0x101eef38]
cmp byte [eax], 5
jne 0x10069e68
mov eax, dword [0x101ef154]
mov edi, dword [0x101ef1b8]
mov ecx, dword [eax]
mov esi, ecx
mov dword [0x101ef034], ecx
movss xmm0, dword [esi + 0x410]
divss xmm0, xmm1
movzx eax, byte [edi + esi]
mov dword [0x10232050], eax
cvttss2si edx, xmm0
movss xmm0, dword [esi + 0x414]
mov dword [0x100e65bc], edx
divss xmm0, xmm1
cvttss2si ecx, xmm0
mov dword [0x100e65cc], ecx
cmp eax, 1
je 0x100699b5
cmp byte [esi + 0xe], 1
je 0x100699b5
mov eax, dword [0x101e73ec]
inc eax
mov dword [0x101e73ec], eax
cmp eax, 0x3c
jl 0x100699a1
mov ecx, dword [0x101ef000]
lea eax, [edx - 1]
push dword [0x100e65cc]
mov byte [ecx + esi], al
mov al, byte [0x100e65cc]
dec al
mov byte [ecx + esi + 4], al
mov ecx, esi
call fcn.1003ff40
mov edi, dword [0x101ef1b8]
add esp, 4
mov ecx, dword [0x100e65cc]
mov word [edi + esi], 0
mov dword [0x101e73ec], 0
mov edx, dword [0x101ef000]
mov eax, dword [0x100e65bc]
mov byte [edx + esi], al
mov byte [edx + esi + 4], cl
jmp 0x100699cc
mov edx, dword [0x101ef000]
mov dword [0x101e73ec], 0
mov byte [0x101e73e7], 0
mov eax, dword [0x101ed434]
cmp eax, dword [0x101e7220]
mov dword [0x101e7228], 0
lea ecx, [eax + 1]
mov eax, 1
cmovge ecx, eax
cmp byte [0x101e73d3], 0
mov dword [0x101ed434], ecx
je 0x10069a13
cmp byte [edi + esi], 0
jne 0x10069a13
cmp byte [esi + 0xe], 0
jne 0x10069a13
mov dword [esi + 0x326], 0x10001
jmp 0x10069a2f
cmp byte [0x101e73d5], 0
je 0x10069a2f
cmp byte [edi + esi], 0
jne 0x10069a2f
cmp byte [esi + 0xe], 0
jne 0x10069a2f
mov word [esi + 0x328], ax
cmp byte [0x101e73d2], 0
je 0x10069a6b
movzx eax, word [esi + 0x326]
cmp ax, 0x6b
je 0x10069a61
mov ecx, 0xe6
cmp ax, cx
je 0x10069a61
movzx eax, word [esi + 0x328]
cmp ax, 0x6b
je 0x10069a61
cmp ax, cx
jne 0x10069a6b
mov dword [esi + 0x326], 0x10001
cmp byte [0x101e73d1], 0
je 0x10069a7b
mov byte [esi + 0x500], 0
cmp byte [0x101e76a4], 0
je 0x10069a88
mov byte [esi + 0xe], 0
xor eax, eax
mov dword [esp + 0x1c], eax
nop
mov edi, dword [0x101eef9c]
imul edi, eax
mov eax, dword [0x101eef20]
mov byte [esp + 0x24], 0
mov eax, dword [eax]
add edi, eax
mov eax, dword [0x101ef154]
cmp dword [eax], edi
je 0x10069e49
cmp byte [edi + 0x318], 0
je 0x10069e49
cmp byte [edi + 0x24], 0
jne 0x10069e49
cmp byte [esi + 0xe], 0
jne 0x10069e49
cmp byte [edi + 0xe], 0
jne 0x10069e49
cmp byte [0x101e76a2], 0
je 0x10069aef
mov byte [edi + 0x32c], 2
cmp byte [0x101e76a1], 0
je 0x10069b41
cmp byte [edi + 0x32c], 2
jne 0x10069b41
mov eax, dword [esi + 0x410]
mov dword [edi + 0x410], eax
mov eax, dword [esi + 0x414]
mov dword [edi + 0x414], eax
mov eax, dword [esi + 0x410]
mov dword [edi + 0x3d4], eax
mov eax, dword [esi + 0x414]
mov dword [edi + 0x3d8], eax
movzx eax, byte [edx + esi]
mov byte [edx + edi], al
movzx eax, byte [edx + esi + 4]
mov byte [edx + edi + 4], al
cmp byte [0x101e71c0], 0
mov edx, 1
mov ecx, dword [esp + 0x24]
je 0x10069b63
cmp byte [edi + 0x32c], dl
movzx ecx, cl
cmove ecx, edx
mov dword [esp + 0x24], ecx
cmp byte [0x101e71bc], 0
je 0x10069b7d
cmp byte [edi + 0x32c], 2
movzx ecx, cl
cmove ecx, edx
mov dword [esp + 0x24], ecx
cmp byte [0x101e71cd], 0
je 0x10069bf0
cmp byte [0x101e7215], 0
je 0x10069bf0
mov eax, dword [0x101eef34]
mov eax, dword [eax]
test eax, eax
js 0x10069bca
cmp eax, 0x190
jg 0x10069bca
cmp dword [esp + 0x1c], eax
jne 0x10069bca
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10069bca
lea eax, [edi + 0x3a]
push eax
push 0x100ce104
push 0x101e71ce
call fcn.1003a9e0
add esp, 0xc
lea eax, [edi + 0x3a]
push 0x101e71ce
push eax
call fcn.1008ffe0
mov edx, dword [esp + 0x2c]
add esp, 8
test eax, eax
movzx ecx, dl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x24], ecx
cmp byte [0x101e7200], 0
je 0x10069c2b
mov eax, dword [0x101eef34]
mov eax, dword [eax]
test eax, eax
js 0x10069c2b
cmp eax, 0x190
jg 0x10069c2b
cmp dword [esp + 0x1c], eax
jne 0x10069c2b
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [esp + 0x24]
test ax, ax
movzx ecx, dl
mov eax, 1
cmovne ecx, eax
cmp byte [0x101e7215], 0
mov edx, dword [0x101ef1b8]
movzx eax, byte [edx + esi]
mov dword [esp + 0x40], eax
movsx eax, word [esi + 0x326]
mov dword [esp + 0x18], eax
je 0x10069e49
cmp cl, 1
jne 0x10069e49
mov eax, dword [0x101ed434]
cmp eax, dword [0x101e7220]
jl 0x10069e49
mov eax, dword [0x101e7228]
cmp eax, dword [0x101e7224]
jg 0x10069e49
cmp dword [0x101e721c], 1
mov dword [esp + 0x20], 1
jl 0x10069e43
mov ecx, dword [0x101ef000]
nop word [eax + eax]
movzx eax, byte [ecx + edi]
movss xmm0, dword [edi + 0x410]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0x414]
mov byte [ecx + esi], al
movzx eax, byte [edi + ecx + 4]
mov byte [esi + ecx + 4], al
mov eax, dword [esi + 0x410]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x410], eax
mov eax, dword [esi + 0x414]
mov dword [edi + 0x414], eax
mov eax, dword [esi + 0x410]
mov dword [edi + 0x3d4], eax
mov eax, dword [esi + 0x414]
mov dword [edi + 0x3d8], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x414]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x418]
mov dword [esi + 0xc0], eax
mov eax, dword [0x101eef34]
push 0
movss dword [esp + 0x38], xmm0
mov dword [eax], ecx
mov eax, dword [0x101ef060]
mov dword [eax], ecx
mov eax, dword [0x101ef100]
mov byte [esi + edx + 1], 3
mov dword [esi + 0x62], ecx
mov ecx, dword [0x101ef034]
add eax, ecx
push eax
push ecx
call dword [0x101ef164]
mov edx, dword [0x101ef1b8]
add esp, 0xc
mov eax, dword [esp + 0x40]
movss xmm0, dword [esp + 0x14]
mov ecx, dword [0x101ef000]
mov byte [esi + edx + 1], 0
mov byte [edx + esi], al
mov eax, dword [esp + 0x18]
mov word [esi + 0x326], ax
mov word [esi + 0x328], ax
mov eax, dword [0x101eef34]
mov dword [eax], 0xffff
mov eax, dword [0x101ef060]
mov dword [eax], 0xffff
mov dword [esi + 0x62], 0xffff
movss dword [edi + 0x410], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [edi + 0x414], xmm0
movss xmm0, dword [esi + 0x410]
divss xmm0, dword [0x100d6858]
cvttss2si eax, xmm0
mov byte [ecx + esi], al
movss xmm0, dword [esi + 0x414]
divss xmm0, dword [0x100d6858]
cvttss2si eax, xmm0
mov byte [esi + ecx + 4], al
cmp byte [edx + esi], 0
jne 0x10069e2e
mov eax, dword [0x100e65bc]
mov edx, dword [0x101ef000]
dec eax
mov byte [ecx + esi], al
mov ecx, dword [0x100e65cc]
push ecx
lea eax, [ecx - 1]
mov ecx, esi
mov byte [esi + edx + 4], al
mov edx, dword [0x100e65bc]
call fcn.1003ff40
mov edx, dword [0x101ef1b8]
add esp, 4
mov ecx, dword [0x101ef000]
mov byte [esi + edx + 1], 0
mov byte [edx + esi], 0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [0x101e721c]
jle 0x10069ca0
inc dword [0x101e7228]
mov eax, dword [esp + 0x1c]
mov edx, dword [0x101ef000]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x3e8
jl 0x10069a90
mov esi, 1
cmp byte [0x101e70b6], 0
je 0x1006b15d
mov al, byte [0x10232c29]
test al, al
movzx ecx, al
cmove ecx, esi
cmp byte [0x5615c0], 5
mov byte [0x10232c29], cl
jne 0x1006b15d
cmp byte [0x101e7322], 0
je 0x10069eb2
push 6
mov edx, 0x100695d0
mov ecx, 0x45fec0
call fcn.10086030
add esp, 4
push 0x100696e0
push 0x4bc0ae
push 0xe8
call fcn.10085ff0
mov edi, 0x7abf5d8
mov dword [0x101eef20], 0x7abf5d0
mov dword [0x101ef154], edi
add esp, 0xc
mov dword [0x101ef164], 0x48d640
mov dword [0x101ef060], 0x559ce8
mov eax, dword [edi]
mov edi, eax
mov dword [0x101eef34], 0x559c50
mov dword [0x101ef0f0], 0x43f3e0
mov dword [0x101ef064], 0x354
cmp byte [edi + 0x160], 0
mov dword [0x101eefd0], 0x491c40
mov dword [0x101ef12c], 0x7e016c0
mov dword [0x101eef24], 0x7e016c4
mov dword [0x101ef034], eax
je 0x1006b15d
cmp dword [edi + 0x2fd], 0
jne 0x1006b15d
movss xmm4, dword [0x100d6858]
mov eax, dword [0x101ed40c]
cmp eax, dword [0x101e7220]
mov dword [0x101e7228], 1
movss xmm0, dword [edi + 0x10]
divss xmm0, xmm4
lea ecx, [eax + 1]
movzx eax, byte [edi + 0x2ec]
mov dword [0x10232050], eax
cmovge ecx, esi
cmp byte [0x101e73d7], 0
mov dword [0x101ed40c], ecx
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x14]
divss xmm0, xmm4
mov dword [0x100e65bc], eax
cvttss2si eax, xmm0
mov dword [0x100e65cc], eax
je 0x10069fba
mov byte [0x83a42ac], 1
xor edx, edx
mov dword [esp + 0x14], edx
cmp edx, 0x190
jge 0x1006ab16
mov eax, dword [0x101eef20]
xor cl, cl
mov dword [esp + 0x24], ecx
imul ecx, edx, 0x394
mov word [edi + 0x78], 0
mov esi, dword [eax]
mov eax, dword [0x101ef154]
add esi, ecx
mov dword [esp + 0x18], esi
cmp dword [eax], esi
je 0x1006ab16
cmp byte [esi + 0x160], 0
je 0x1006ab16
cmp dword [esi + 0x2fd], 0
jne 0x1006ab16
cmp byte [edi + 0x34e], 0
jne 0x1006ab16
cmp byte [esi + 0x34e], 0
jne 0x1006ab16
movss xmm0, dword [edi + 0x10]
divss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x14]
divss xmm0, xmm4
movd xmm3, eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x10]
divss xmm0, xmm4
movd xmm2, eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x14]
divss xmm0, xmm4
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2pd xmm3, xmm3
movd xmm0, eax
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
mulsd xmm2, xmm2
mulsd xmm3, xmm3
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.100b4bc0
comisd xmm0, xmmword [0x100d67b8]
movsd qword [esp + 0x40], xmm0
jae 0x1006b140
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x101e70a8]
jne 0x1006a76b
mov al, byte [esi + 0x84]
cmp al, 2
jne 0x1006a4cc
cmp byte [0x101e7509], 0
je 0x1006a14a
movaps xmm0, xmmword [0x100d6ec0]
movups xmmword [esp + 0xa0], xmm0
push ecx
movss xmm0, dword [esi + 0x380]
lea ecx, [esp + 0xa4]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [edi + 0x380]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [edi + 0x384]
movss dword [esp + 0x30], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.10027600
cmp byte [0x101e750a], 0
je 0x1006a64f
lea eax, [esi + 0x1c1]
push eax
push 0x100ce104
push 0x101eef3c
call fcn.1003a9e0
add esp, 0xc
xor edx, edx
mov al, byte [edx + 0x101eef3c]
cmp al, 0x41
jl 0x1006a188
cmp al, 0x5a
jg 0x1006a188
add al, 0x20
mov byte [edx + 0x101eef3c], al
mov ecx, 0x101eef3c
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006a191
sub ecx, esi
cmp edx, ecx
jbe 0x1006a172
xor esi, esi
cmp esi, 0x22
jge 0x1006a1d7
mov edx, dword [esi*4 + 0x100c9e58]
mov ecx, 0x101eef3c
push str.aeiouyd
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9c78]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd30
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006a20e
mov edx, dword [esi*4 + 0x100c9d78]
mov ecx, 0x101eef3c
push 0x100d2354
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9920]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd38
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006a245
mov edx, dword [esi*4 + 0x100c9bbc]
mov ecx, 0x101eef3c
push 0x100d2358
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9b94]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd3c
call fcn.10087a00
add esp, 4
cmp esi, 0x22
jge 0x1006a27c
mov edx, dword [esi*4 + 0x100c9898]
mov ecx, 0x101eef3c
push 0x100d235c
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9be8]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd40
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006a2b3
mov edx, dword [esi*4 + 0x100c99f8]
mov ecx, 0x101eef3c
push 0x100d2360
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9d20]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd4c
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006a2ea
mov edx, dword [esi*4 + 0x100c9ee0]
mov ecx, 0x101eef3c
push 0x100d2364
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c96ec]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd50
call fcn.10087a00
add esp, 4
cmp esi, 2
jge 0x1006a321
mov edx, dword [esi*4 + 0x100c9e50]
mov ecx, 0x101eef3c
push 0x100d2368
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9714]
add esp, 4
mov ecx, 0x101eef3c
push 0x100c2384
call fcn.10087a00
add esp, 4
inc esi
cmp esi, 0x22
jl 0x1006a1a5
push str.kundun
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.boss
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push 0x100d27dc
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.vang
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.gold
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.lunar_rabbit
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.tho_ngoc
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.fire_flame_ghost
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006a423
push str.pouch_of_bless
push 0x101eef3c
call fcn.1008ffe0
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x1006a427
mov eax, dword [esi + 0x1e0]
cmp eax, 0x38c
jl 0x1006a64f
cmp eax, 0x398
jg 0x1006a64f
jmp 0x1006a427
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x1e0]
cmp eax, 0x160
je 0x1006a64f
cmp eax, 0x161
je 0x1006a64f
cmp eax, 0x162
je 0x1006a64f
cmp eax, 0x1ae
je 0x1006a64f
movaps xmm0, xmmword [0x100d6d90]
movups xmmword [esp + 0xa0], xmm0
push ecx
movss xmm0, dword [esi + 0x380]
lea ecx, [esp + 0xa4]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [edi + 0x380]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [edi + 0x384]
movss dword [esp + 0x50], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
push eax
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0x54]
jmp 0x1006a643
cmp al, 1
jne 0x1006a5cf
cmp byte [0x101e750b], 0
je 0x1006a54e
movaps xmm0, xmmword [0x100d6d80]
movups xmmword [esp + 0xa0], xmm0
push ecx
movss xmm0, dword [esi + 0x380]
lea ecx, [esp + 0xa4]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 0x380]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [edi + 0x384]
movss dword [esp + 0x60], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10027600
cmp byte [esi + 0x2ea], 6
jb 0x1006a64f
cmp byte [0x101e750c], 0
je 0x1006a64f
movaps xmm0, xmmword [0x100d6e10]
movups xmmword [esp + 0xa0], xmm0
push ecx
movss xmm0, dword [esi + 0x380]
lea ecx, [esp + 0xa4]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edi + 0x380]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [edi + 0x384]
movss dword [esp + 0x70], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x74]
jmp 0x1006a643
cmp byte [0x101e7509], 0
je 0x1006a64f
movaps xmm0, xmmword [0x100d6f60]
movups xmmword [esp + 0xa0], xmm0
push ecx
movss xmm0, dword [esi + 0x380]
lea ecx, [esp + 0xa4]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [edi + 0x380]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [edi + 0x384]
movss dword [esp + 0x80], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x84]
mov ecx, dword [0x101eeefc]
push eax
call fcn.10027600
cmp byte [0x101e7508], 0
je 0x1006a76b
push 0x32
push 0
push 0x101eef3c
call fcn.10090bb0
lea ecx, [esi + 0x1c1]
add esp, 0xc
mov edx, ecx
mov dword [esp + 0x20], ecx
lea eax, [edx + 1]
mov dword [esp + 0x34], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x1006a680
sub edx, dword [esp + 0x34]
cmp edx, 3
jb 0x1006a6aa
cvttsd2si eax, qword [esp + 0x40]
push ecx
push eax
push str.__d__s
push 0x101eef3c
call fcn.1003a9e0
add esp, 0x10
mov ecx, dword [0x101ef010]
call fcn.10013820
lea ecx, [esp + 0xa0]
call fcn.10040240
cmp byte [esi + 0x2ea], 6
jb 0x1006a6d3
movaps xmm0, xmmword [0x100d6e10]
jmp 0x1006a6da
movaps xmm0, xmmword [0x100d6f60]
mov ecx, dword [esp + 0x20]
movaps xmmword [esp + 0xa0], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006a6f0
movss xmm0, dword [esi + 0x380]
sub ecx, edx
sub esp, 8
cmp ecx, 3
lea ecx, [esp + 0xa8]
jb 0x1006a739
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x8c], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0x8c]
jmp 0x1006a760
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esi + 0x384]
movss dword [esp + 0x94], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0x94]
push eax
call fcn.10027b60
call fcn.10013910
cmp byte [0x101e76a4], 0
je 0x1006a77b
mov byte [edi + 0x34e], 0
cmp byte [0x101e73d3], 0
je 0x1006a7a4
cmp byte [edi + 0x2ec], 0
jne 0x1006a7a4
cmp byte [edi + 0x34e], 0
jne 0x1006a7a4
mov edx, 1
mov word [edi + 0x105], dx
jmp 0x1006a7c4
cmp byte [0x101e73d5], 0
mov edx, 1
je 0x1006a7cb
cmp byte [edi + 0x2ec], 0
jne 0x1006a7cb
cmp byte [edi + 0x34e], 0
jne 0x1006a7cb
mov word [edi + 0x106], dx
cmp byte [0x101e73d2], 0
je 0x1006a80b
movzx eax, word [edi + 0x105]
cmp ax, 0x6b
je 0x1006a7fd
mov ecx, 0xe6
cmp ax, cx
je 0x1006a7fd
movzx eax, word [edi + 0x106]
cmp ax, 0x6b
je 0x1006a7fd
cmp ax, cx
jne 0x1006a80b
mov word [edi + 0x105], dx
mov word [edi + 0x106], dx
cmp byte [0x101e76a2], 0
je 0x1006a824
cmp byte [esi + 0x34e], 0
jne 0x1006a824
mov byte [esi + 0x84], 2
cmp byte [0x101e76a1], 0
je 0x1006a85d
cmp byte [esi + 0x84], 2
jne 0x1006a85d
cmp byte [esi + 0x34e], 0
jne 0x1006a85d
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x170], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x174], eax
cmp byte [0x101e7215], 0
movzx eax, byte [edi + 0x2ec]
mov dword [esp + 0x34], eax
movsx eax, word [edi + 0x105]
mov dword [esp + 0x1c], eax
je 0x1006aafc
cmp byte [esi + 0x34e], 0
jne 0x1006ab0a
cmp byte [0x101e71c0], 0
mov eax, dword [esp + 0x24]
je 0x1006a8ab
cmp byte [esi + 0x84], 1
movzx eax, al
cmove eax, edx
mov dword [esp + 0x24], eax
cmp byte [0x101e71bc], 0
je 0x1006a8c7
cmp byte [esi + 0x84], 2
movzx ecx, al
cmove ecx, edx
mov dword [esp + 0x24], ecx
jmp 0x1006a8cb
mov ecx, dword [esp + 0x24]
cmp byte [0x101e71cd], 0
je 0x1006a939
mov eax, dword [0x559c50]
test eax, eax
js 0x1006a910
cmp eax, 0x190
jg 0x1006a910
cmp dword [esp + 0x14], eax
jne 0x1006a910
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1006a910
lea eax, [esi + 0x1c1]
push eax
push 0x100ce104
push 0x101e71ce
call fcn.1003a9e0
add esp, 0xc
lea eax, [esi + 0x1c1]
push 0x101e71ce
push eax
call fcn.1008ffe0
mov ecx, dword [esp + 0x2c]
add esp, 8
test eax, eax
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x24], ecx
cmp byte [0x101e7200], 0
mov edx, dword [esp + 0x14]
je 0x1006a96f
mov eax, dword [0x559c50]
test eax, eax
js 0x1006a96f
cmp eax, 0x190
jg 0x1006a96f
cmp edx, eax
jne 0x1006a96f
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1006a978
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp cl, 1
jne 0x1006ab00
mov eax, dword [0x101ed40c]
cmp eax, dword [0x101e7220]
jl 0x1006ab0a
mov eax, dword [0x101e7228]
cmp eax, dword [0x101e7224]
jg 0x1006ab0a
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x40]
jb 0x1006ab0a
cmp dword [0x101e721c], 1
movss xmm4, dword [0x100d6858]
mov dword [esp + 0x20], 1
jl 0x1006ab12
mov ecx, dword [0x101eef34]
mov edx, dword [0x101ef060]
nop word [eax + eax]
movss xmm1, dword [esi + 0x10]
movss xmm2, dword [esi + 0x14]
movaps xmm0, xmm1
mov eax, dword [edi + 0x10]
divss xmm0, xmm4
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14], eax
mov byte [edi + 0x2ed], 3
push 1
movss dword [edi + 0x314], xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm2
movss dword [edi + 0x318], xmm2
divss xmm0, xmm4
mov byte [edi + 0x357], al
movss dword [esp + 0x28], xmm1
cvttss2si eax, xmm0
movss dword [esp + 0x44], xmm2
mov byte [edi + 0x366], al
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [edx], eax
mov dword [edi + 0x310], eax
mov eax, dword [0x101ef154]
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
mov ecx, dword [0x101eef34]
add esp, 0xc
mov edx, dword [0x101ef060]
mov eax, dword [esp + 0x34]
movss xmm0, dword [esp + 0x24]
movss xmm4, dword [0x100d6858]
mov dword [edi + 0x310], 0xffffffff
mov dword [ecx], 0xffffffff
mov dword [edx], 0xffffffff
mov byte [edi + 0x2ec], al
mov eax, dword [esp + 0x1c]
mov word [edi + 0x105], ax
mov word [edi + 0x106], ax
movss dword [esi + 0x10], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esi + 0x14], xmm0
movss xmm0, dword [edi + 0x10]
divss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x14]
divss xmm0, xmm4
mov byte [edi + 0x357], al
cvttss2si eax, xmm0
mov byte [edi + 0x366], al
mov eax, dword [esp + 0x20]
inc dword [0x101e7228]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [0x101e721c]
jle 0x1006a9e0
jmp 0x1006ab12
mov edx, dword [esp + 0x14]
movss xmm4, dword [0x100d6858]
jmp 0x1006ab16
movss xmm4, dword [0x100d6858]
mov edx, dword [esp + 0x14]
imul esi, edx, 0x204
add esi, 0x7e12840
mov dword [esp + 0x1c], esi
je 0x1006b144
cmp byte [esi], 0
je 0x1006b144
movss xmm0, dword [edi + 0x10]
divss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x14]
divss xmm0, xmm4
movd xmm3, eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x10]
divss xmm0, xmm4
movd xmm2, eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x14]
divss xmm0, xmm4
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2pd xmm3, xmm3
movd xmm0, eax
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
mulsd xmm2, xmm2
mulsd xmm3, xmm3
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.100b4bc0
movsx esi, word [esi + 2]
sub esi, 0x190
movsd qword [esp + 0xb8], xmm0
shl esi, 6
add esi, dword [0x7d78068]
xor edx, edx
mov al, byte [edx + esi]
cmp al, 0x41
jl 0x1006abd3
cmp al, 0x5a
jg 0x1006abd3
add al, 0x20
mov byte [edx + esi], al
mov ecx, esi
inc edx
lea eax, [ecx + 1]
mov dword [esp + 0x34], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006abe0
sub ecx, dword [esp + 0x34]
cmp edx, ecx
jbe 0x1006abc3
cmp byte [0x101e750d], al
je 0x1006ac92
push 0x32
push 0
push 0x101eef3c
call fcn.10090bb0
mov eax, dword [esp + 0x28]
add esp, 0xc
movsx eax, word [eax + 2]
push eax
push str.__d_
push 0x101eef3c
call fcn.1003a9e0
mov ecx, dword [0x101ef010]
add esp, 0xc
call fcn.10013820
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xa0]
movaps xmm0, xmmword [0x100d6e10]
sub esp, 8
movaps xmmword [esp + 0xa8], xmm0
movss xmm0, dword [eax + 0x1f0]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [eax + 0x1f4]
movss dword [esp + 0x9c], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.10027b60
call fcn.10013910
movsd xmm0, qword [esp + 0xb8]
movsd xmm1, qword [0x100d6798]
comisd xmm1, xmm0
jb 0x1006b140
cmp byte [0x101e732e], 0
je 0x1006acf9
push 0x100d236c
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006acce
mov eax, dword [esp + 0x1c]
mov ecx, 0x35f
cmp word [eax + 2], cx
jne 0x1006ad02
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
mov eax, dword [esp + 0x1c]
mov ecx, 0x35f
cmp byte [0x101e732f], 0
je 0x1006aeec
cmp word [eax + 2], cx
je 0x1006aeec
push str.jewel_of_bless
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_soul
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_chaos
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_life
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_creation
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_guardian
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.gemstone
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.jewel_of_harmony
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.refining_stone
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.uoc_nguyen
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.tam_linh
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.hon_nguyen
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.sinh_menh
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.da_ho_menh
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.nguyen_thuy
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.tao_hoa
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.tinh_luyen
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
push str.sang_tao
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006aec1
mov eax, dword [esp + 0x1c]
mov ecx, 0x35c
movzx eax, word [eax + 2]
cmp ax, cx
jl 0x1006aead
mov ecx, 0x360
cmp ax, cx
jle 0x1006aec1
mov ecx, 0x31f
cmp ax, cx
je 0x1006aec1
mov ecx, 0x366
cmp ax, cx
jne 0x1006aeec
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e7332], 0
je 0x1006af44
push str.condor
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006af19
push str.long_vu
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006af44
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e7333], 0
je 0x1006af9c
push str.linh_hon_chien_ma
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006af71
push str.dark_horse_spirit
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006af9c
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73ca], 0
je 0x1006afe2
push 0x101e7334
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006afe2
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73cb], 0
je 0x1006b028
push 0x101e734d
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b028
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73cc], 0
je 0x1006b06e
push 0x101e7366
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b06e
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73cd], 0
je 0x1006b0b4
push 0x101e737f
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b0b4
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73ce], 0
je 0x1006b0fa
push 0x101e7398
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b0fa
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
cmp byte [0x101e73cf], 0
je 0x1006b140
push 0x101e73b1
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b140
mov eax, dword [esp + 0x14]
mov byte [edi + 0x2ed], 1
mov dword [0x7e109c8], eax
mov eax, dword [0x101ef154]
push 1
mov eax, dword [eax]
push eax
push eax
call dword [0x101ef164]
add esp, 0xc
mov byte [edi + 0x2ed], 0
mov edx, dword [esp + 0x14]
movss xmm4, dword [0x100d6858]
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x3e8
jl 0x10069fc0
cmp byte [0x101e70ba], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x1006be24
mov eax, dword [0x101eef38]
cmp byte [eax], 5
jne 0x1006bf57
cmp byte [0x101e76a3], 0
mov edi, dword [0x101ef154]
mov eax, dword [edi]
mov edi, eax
mov dword [0x101ef034], eax
mov dword [esp + 0x24], edi
movzx eax, byte [edi + 0x74]
mov dword [0x10232050], eax
je 0x1006b1ae
mov ecx, dword [0x101ef150]
mov eax, dword [ecx + 4]
mov dword [ecx], eax
cmp byte [0x101e76a0], 0
lea eax, [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 1
push 0xa9cb0d
je 0x1006b1d4
call esi
mov al, byte [0x100d2368]
jmp 0x1006b1db
call esi
mov al, byte [0x100d3778]
mov ecx, 0xa9cb0d
mov byte [ecx], al
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
push 1
push ecx
call esi
cmp byte [edi + 0x308], 0
je 0x1006be1e
cmp byte [edi + 0x24], 0
jne 0x1006be1e
movss xmm0, dword [edi + 0x400]
divss xmm0, dword [0x100d6858]
mov ecx, dword [0x101ee45c]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x404]
divss xmm0, dword [0x100d6858]
mov dword [0x100e65bc], eax
cvttss2si eax, xmm0
mov dword [0x100e65cc], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10232dd0]
cmp eax, dword [ecx + 4]
jle 0x1006b287
push 0x10232dd0
call fcn.1008db1d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 4
cmp dword [0x10232dd0], 0xffffffff
jne 0x1006b28d
call esi
push 0x10232dd0
mov dword [0x10232d74], eax
call fcn.1008dade
add esp, 4
jmp 0x1006b28d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [edi + 0x74], 0
jne 0x1006b2f6
cmp byte [edi + 0xe], 0
jne 0x1006b2f6
call esi
sub eax, dword [0x10232d74]
cmp eax, 0x64
jb 0x1006b2f6
call esi
mov edx, dword [0x100e65bc]
mov ecx, dword [0x100e65cc]
mov dword [0x10232d74], eax
push ecx
lea eax, [edx - 1]
mov byte [edi + 0xb0], al
lea eax, [ecx - 1]
mov ecx, edi
mov byte [edi + 0xb4], al
call fcn.1003ff40
movzx eax, byte [0x100e65bc]
add esp, 4
mov byte [edi + 0xb0], al
movzx eax, byte [0x100e65cc]
mov word [edi + 0x74], 0
mov byte [edi + 0xb4], al
mov eax, dword [0x101ed42c]
cmp eax, dword [0x101e7220]
mov dword [0x101e7228], 0
lea ecx, [eax + 1]
mov eax, 1
cmovge ecx, eax
cmp byte [0x101e73d3], 0
mov dword [0x101ed42c], ecx
je 0x1006b339
cmp byte [edi + 0x74], 0
jne 0x1006b339
cmp byte [edi + 0xe], 0
jne 0x1006b339
mov byte [edi + 0x316], al
jmp 0x1006b34e
cmp byte [0x101e73d5], 0
je 0x1006b354
cmp byte [edi + 0x74], 0
jne 0x1006b354
cmp byte [edi + 0xe], 0
jne 0x1006b354
mov byte [edi + 0x318], al
cmp byte [0x101e73d2], 0
je 0x1006b387
mov al, byte [edi + 0x316]
cmp al, 0x6b
je 0x1006b379
cmp al, 0xe6
je 0x1006b379
mov al, byte [edi + 0x318]
cmp al, 0x6b
je 0x1006b379
cmp al, 0xe6
jne 0x1006b387
mov byte [edi + 0x316], 1
mov byte [edi + 0x318], 1
cmp byte [0x101e73d1], 0
je 0x1006b397
mov byte [edi + 0x4f0], 0
cmp byte [0x101e76a4], 0
je 0x1006b3a4
mov byte [edi + 0xe], 0
movzx eax, byte [edi + 0x74]
xor ecx, ecx
mov dword [esp + 0x40], eax
movzx eax, byte [edi + 0x316]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
nop dword [eax]
mov esi, dword [0x101ef170]
mov eax, dword [0x100e65c4]
imul esi, ecx
add esi, dword [0x101eef08]
mov dword [esp + 0xd0], esi
cmp ecx, eax
jne 0x1006b447
cmp eax, 0xffff
je 0x1006b447
test esi, esi
je 0x1006b3f0
cmp byte [esi + 4], 0
jne 0x1006b447
mov edx, dword [0x100e65bc]
mov ecx, dword [0x100e65cc]
push ecx
lea eax, [edx - 1]
mov byte [edi + 0xb0], al
lea eax, [ecx - 1]
mov ecx, edi
mov byte [edi + 0xb4], al
call fcn.1003ff40
movzx eax, byte [0x100e65bc]
add esp, 4
mov ecx, dword [esp + 0x18]
mov byte [edi + 0xb0], al
movzx eax, byte [0x100e65cc]
mov word [edi + 0x74], 0
mov byte [edi + 0xb4], al
mov dword [0x100e65c4], 0xffff
test esi, esi
je 0x1006ba8a
cmp byte [esi + 4], 0
je 0x1006ba8a
movss xmm0, dword [esi + 0xfc]
divss xmm0, dword [0x100d6858]
movd xmm3, dword [0x100e65bc]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x100]
divss xmm0, dword [0x100d6858]
mov dword [esp + 0x20], eax
movd xmm2, dword [0x100e65cc]
cvttss2si ecx, xmm0
cvtdq2pd xmm3, xmm3
mov dword [esp + 0x1c], ecx
movd xmm1, eax
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
mulsd xmm2, xmm2
mulsd xmm3, xmm3
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.100b4bc0
mov eax, 0xfffffdc0
movsd qword [esp + 0x38], xmm0
lea edi, [esi + 0x240]
sub eax, esi
mov edx, edi
mov dword [esp + 0x34], eax
mov al, byte [edx]
cmp al, 0x41
jl 0x1006b4f4
cmp al, 0x5a
jg 0x1006b4f4
add al, 0x20
mov byte [edx], al
mov ecx, edi
inc edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006b500
mov eax, dword [esp + 0x34]
sub ecx, esi
add eax, edx
cmp eax, ecx
jbe 0x1006b4e6
xor esi, esi
cmp esi, 0x22
jge 0x1006b546
mov edx, dword [esi*4 + 0x100c9e58]
mov ecx, edi
push str.aeiouyd
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9c78]
add esp, 4
mov ecx, edi
push 0x100cbd30
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006b577
mov edx, dword [esi*4 + 0x100c9d78]
mov ecx, edi
push 0x100d2354
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9920]
add esp, 4
mov ecx, edi
push 0x100cbd38
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006b5a8
mov edx, dword [esi*4 + 0x100c9bbc]
mov ecx, edi
push 0x100d2358
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9b94]
add esp, 4
mov ecx, edi
push 0x100cbd3c
call fcn.10087a00
add esp, 4
cmp esi, 0x22
jge 0x1006b5d9
mov edx, dword [esi*4 + 0x100c9898]
mov ecx, edi
push 0x100d235c
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9be8]
add esp, 4
mov ecx, edi
push 0x100cbd40
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006b60a
mov edx, dword [esi*4 + 0x100c99f8]
mov ecx, edi
push 0x100d2360
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9d20]
add esp, 4
mov ecx, edi
push 0x100cbd4c
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006b63b
mov edx, dword [esi*4 + 0x100c9ee0]
mov ecx, edi
push 0x100d2364
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c96ec]
add esp, 4
mov ecx, edi
push 0x100cbd50
call fcn.10087a00
add esp, 4
cmp esi, 2
jge 0x1006b66c
mov edx, dword [esi*4 + 0x100c9e50]
mov ecx, edi
push 0x100d2368
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9714]
add esp, 4
mov ecx, edi
push 0x100c2384
call fcn.10087a00
add esp, 4
inc esi
cmp esi, 0x22
jl 0x1006b51a
xor cl, cl
mov dword [esp + 0x14], ecx
cmp byte [0x101e732e], cl
je 0x1006b6c1
push 0x100d236c
push edi
call fcn.1008ffe0
movsd xmm1, qword [esp + 0x40]
add esp, 8
mov esi, 1
test eax, eax
je 0x1006b6cc
movd xmm0, dword [0x101e7328]
mov eax, dword [esp + 0x14]
cvtdq2pd xmm0, xmm0
movzx eax, al
comisd xmm0, xmm1
cmovae eax, esi
mov dword [esp + 0x14], eax
jmp 0x1006b6cc
movsd xmm1, qword [esp + 0x38]
mov esi, 1
cmp byte [0x101e732f], 0
je 0x1006b79e
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b79e
push str.jewel_of_bless
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_soul
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_chaos
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_life
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_creation
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_guardian
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.gemstone
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.jewel_of_harmony
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b795
push str.refining_stone
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b79e
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp byte [0x101e7332], 0
movsd xmm1, qword [esp + 0x38]
je 0x1006b7fd
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b7fd
push str.condor
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006b7e3
push str.dark_horse_spirit
push edi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006b7f1
movsd xmm1, qword [esp + 0x38]
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x1006b801
mov eax, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x38]
jmp 0x1006b801
mov eax, dword [esp + 0x14]
cmp byte [0x101e73ca], 0
je 0x1006b83c
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b83c
push 0x101e7334
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
mov dword [esp + 0x14], eax
cmp byte [0x101e73cb], 0
movsd xmm1, qword [esp + 0x38]
je 0x1006b883
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b883
push 0x101e734d
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
movsd xmm1, qword [esp + 0x38]
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
mov dword [esp + 0x14], eax
cmp byte [0x101e73cc], 0
je 0x1006b8be
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b8be
push 0x101e7366
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
mov dword [esp + 0x14], eax
cmp byte [0x101e73cd], 0
movsd xmm1, qword [esp + 0x38]
je 0x1006b905
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b905
push 0x101e737f
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
movsd xmm1, qword [esp + 0x38]
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
mov dword [esp + 0x14], eax
cmp byte [0x101e73ce], 0
je 0x1006b940
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b940
push 0x101e7398
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
mov dword [esp + 0x14], eax
cmp byte [0x101e73cf], 0
movsd xmm1, qword [esp + 0x38]
je 0x1006b983
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006b983
push 0x101e73b1
push edi
call fcn.1008ffe0
mov ecx, dword [esp + 0x1c]
add esp, 8
movsd xmm1, qword [esp + 0x38]
test eax, eax
movzx ecx, cl
cmovne ecx, esi
mov al, cl
movd xmm0, dword [0x101e7328]
mov edi, dword [esp + 0x24]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1006ba86
cmp al, 1
jne 0x1006ba86
cmp byte [edi + 0x74], 0
jne 0x1006ba3c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push edx
lea eax, [ecx - 1]
mov byte [edi + 0xb0], al
lea eax, [edx - 1]
mov edx, ecx
mov byte [edi + 0xb4], al
mov ecx, edi
call fcn.1003ff40
mov esi, dword [esp + 0xd4]
add esp, 4
mov eax, dword [esp + 0x20]
mov byte [edi + 0xb0], al
mov eax, dword [esp + 0x1c]
mov byte [edi + 0xb4], al
mov eax, dword [esp + 0x18]
mov word [edi + 0x74], 0
cvttss2si ecx, dword [esi + 0xfc]
mov dword [0x100e65c4], eax
mov eax, 0x51eb851f
imul ecx
cvttss2si ecx, dword [esi + 0x100]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [0x101eefa8], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [0x101ef1b4], eax
mov eax, dword [0x101eef00]
mov ecx, dword [esp + 0x18]
push 1
mov dword [eax], 1
mov eax, dword [0x101ef094]
mov dword [eax], ecx
mov ecx, dword [0x101ef034]
mov eax, dword [0x101ef100]
add eax, ecx
mov byte [edi + 0x75], 1
push eax
push ecx
call dword [0x101ef164]
mov eax, dword [0x101eef00]
add esp, 0xc
mov byte [edi + 0x75], 0
mov dword [eax], 0
mov eax, dword [esp + 0x40]
mov byte [edi + 0x74], al
mov ecx, dword [esp + 0x18]
cmp ecx, 0x190
jge 0x1006be0d
mov esi, dword [0x101ef1cc]
xor dl, dl
imul esi, dword [esp + 0x18]
mov eax, dword [0x101eef20]
mov dword [esp + 0x1c], edx
mov eax, dword [eax]
add esi, eax
mov eax, dword [0x101ef154]
cmp dword [eax], esi
je 0x1006be09
cmp byte [esi + 0x308], dl
je 0x1006be09
cmp byte [esi + 0x24], dl
jne 0x1006be09
cmp byte [0x101e76a2], dl
je 0x1006bae6
cmp byte [esi + 0xe], dl
jne 0x1006bae6
mov byte [esi + 0x31c], 2
cmp byte [0x101e76a1], 0
je 0x1006bb48
cmp byte [esi + 0x31c], 2
jne 0x1006bb48
cmp byte [esi + 0xe], 0
jne 0x1006bb48
mov eax, dword [edi + 0x400]
mov dword [esi + 0x400], eax
mov eax, dword [edi + 0x404]
mov dword [esi + 0x404], eax
mov eax, dword [edi + 0x400]
mov dword [esi + 0x3c4], eax
mov eax, dword [edi + 0x404]
mov dword [esi + 0x3c8], eax
movzx eax, byte [edi + 0xb0]
mov byte [esi + 0xb0], al
movzx eax, byte [edi + 0xb4]
mov byte [esi + 0xb4], al
cmp byte [0x101e71c0], 0
mov ecx, 1
je 0x1006bb6c
cmp byte [esi + 0x31c], cl
jne 0x1006bb6c
cmp byte [esi + 0xe], 0
movzx edx, dl
cmove edx, ecx
mov dword [esp + 0x1c], edx
cmp byte [0x101e71bc], 0
je 0x1006bb8c
cmp byte [esi + 0x31c], 2
jne 0x1006bb8c
cmp byte [esi + 0xe], 0
movzx edx, dl
cmove edx, ecx
mov dword [esp + 0x1c], edx
cmp byte [0x101e71cd], 0
je 0x1006bc05
cmp byte [0x101e7215], 0
je 0x1006bc05
cmp byte [esi + 0xe], 0
jne 0x1006bc05
mov eax, dword [0x101eef34]
mov eax, dword [eax]
test eax, eax
js 0x1006bbdf
cmp eax, 0x190
jg 0x1006bbdf
cmp dword [esp + 0x18], eax
jne 0x1006bbdf
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1006bbdf
lea eax, [esi + 0x54]
push eax
push 0x100ce104
push 0x101e71ce
call fcn.1003a9e0
add esp, 0xc
lea eax, [esi + 0x54]
push 0x101e71ce
push eax
call fcn.1008ffe0
mov edx, dword [esp + 0x24]
add esp, 8
test eax, eax
movzx edx, dl
mov eax, 1
cmovne edx, eax
mov dword [esp + 0x1c], edx
cmp byte [0x101e7200], 0
mov ecx, dword [esp + 0x18]
je 0x1006bc4c
cmp byte [esi + 0xe], 0
jne 0x1006bc4c
mov eax, dword [0x101eef34]
mov eax, dword [eax]
test eax, eax
js 0x1006bc4c
cmp eax, 0x190
jg 0x1006bc4c
cmp ecx, eax
jne 0x1006bc4c
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [esp + 0x1c]
test ax, ax
mov ecx, dword [esp + 0x18]
mov eax, 1
movzx edx, dl
cmovne edx, eax
cmp byte [0x101e7215], 0
je 0x1006be0d
cmp dl, 1
jne 0x1006be0d
mov eax, dword [0x101ed42c]
cmp eax, dword [0x101e7220]
jl 0x1006be0d
cmp byte [edi + 0xe], 0
jne 0x1006be0d
mov eax, dword [0x101e7228]
cmp eax, dword [0x101e7224]
jg 0x1006be0d
cmp dword [0x101e721c], 1
mov dword [esp + 0x20], 1
jl 0x1006be03
movss xmm1, dword [edi + 0x400]
nop dword [eax + eax]
movss xmm0, dword [esi + 0x400]
movzx eax, byte [esi + 0xb0]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esi + 0x404]
mov byte [edi + 0xb0], al
movzx eax, byte [esi + 0xb4]
mov byte [edi + 0xb4], al
movss dword [esi + 0x400], xmm1
mov eax, dword [edi + 0x404]
mov dword [esi + 0x404], eax
mov eax, dword [edi + 0x400]
mov dword [esi + 0x3c4], eax
mov eax, dword [edi + 0x404]
mov dword [esi + 0x3c8], eax
mov eax, dword [edi + 0x400]
mov dword [edi + 0xd4], eax
mov eax, dword [edi + 0x408]
mov dword [edi + 0xd8], eax
mov eax, dword [0x101eef34]
push 1
movss dword [esp + 0x38], xmm0
mov dword [eax], ecx
mov eax, dword [0x101ef060]
mov dword [eax], ecx
mov eax, dword [0x101ef100]
mov dword [edi + 0x7c], ecx
mov ecx, dword [0x101ef034]
add eax, ecx
push eax
push ecx
mov byte [edi + 0x75], 3
call dword [0x101ef164]
mov eax, dword [esp + 0x4c]
add esp, 0xc
movss xmm0, dword [esp + 0xd0]
mov byte [edi + 0x74], al
mov eax, dword [esp + 0x28]
mov byte [edi + 0x316], al
mov byte [edi + 0x318], al
mov eax, dword [0x101eef34]
mov byte [edi + 0x75], 0
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xffff
mov eax, dword [0x101ef060]
mov dword [eax], 0xffff
mov dword [edi + 0x7c], 0xffff
movss dword [esi + 0x400], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esi + 0x404], xmm0
movss xmm1, dword [edi + 0x400]
movaps xmm0, xmm1
divss xmm0, dword [0x100d6858]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x404]
divss xmm0, dword [0x100d6858]
mov byte [edi + 0xb0], al
cvttss2si eax, xmm0
mov byte [edi + 0xb4], al
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [0x101e721c]
jle 0x1006bcb0
inc dword [0x101e7228]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0x3e8
jl 0x1006b3c0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, str.DKMZY
lea ecx, [esp + 0xa0]
sub eax, 0x32634904
push eax
call fcn.1007cd60
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push eax
call esi
test eax, eax
je 0x1006db25
cmp byte [0x10232d40], 0
jne 0x1006be91
mov dword [0x101eef98], 0x598fb5
mov eax, dword [0x598fb6]
push 0x100693f0
add eax, 0x598fba
mov byte [0x10232d40], 1
push 0x598fb5
push 0xe8
mov dword [0x101eef98], eax
call fcn.10085ff0
add esp, 0xc
call fcn.10059c40
mov eax, dword [0x101ee45c]
mov ecx, dword fs:[0x2c]
mov dword [0x101eef2c], 0x612930
mov dword [0x101ef1bc], 0x6131bb
mov dword [0x101eefc8], 0x6131e0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10232e1c]
cmp eax, dword [ecx + 4]
jle 0x1006bef5
push 0x10232e1c
call fcn.1008db1d
add esp, 4
cmp dword [0x10232e1c], 0xffffffff
jne 0x1006bef5
call edi
push 0x10232e1c
mov dword [0x10232da0], eax
call fcn.1008dade
add esp, 4
mov eax, dword [0x101eef38]
cmp byte [eax], 5
jne 0x1006dae5
cmp byte [0x10232d41], 0
jne 0x1006bfe1
mov eax, str.eRLMSU_N
mov byte [0x10232d41], 1
sub eax, 0x3f8239e5
lea ecx, [esp + 0xc0]
push eax
call fcn.1007ea80
push eax
call esi
test eax, eax
je 0x1006bf66
mov eax, 0x100d4f74
lea ecx, [esp + 0xa0]
sub eax, 0x7c558ff4
push eax
call fcn.1007eac0
push eax
call esi
test eax, eax
je 0x1006bf66
mov al, 1
jmp 0x1006bf68
mov dword [0x100e65c4], 0xffff
jmp 0x1006be24
xor al, al
test al, al
je 0x1006bfe1
push 0x8512726f
lea ecx, [esp + 0xc4]
call fcn.1007ec40
mov ecx, str.wZFNOYG_
mov dword [esp + 0x28], eax
sub ecx, 0x1318a9d0
push ecx
lea ecx, [esp + 0xa4]
call fcn.1007ebb0
mov ecx, 0x100d4f9c
mov edi, eax
sub ecx, 0x1716a6d6
push ecx
lea ecx, [esp + 0xbc]
call fcn.1007eb40
push 0
mov esi, eax
lea eax, [esp + 0xd4]
push 0x100ce108
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0xd0]
push dword [esp + 0x28]
push eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [0x101ef154]
mov edi, dword [eax]
mov eax, dword [0x101ef02c]
mov eax, dword [eax]
mov dword [0x101ef00c], eax
call fcn.10069350
cmp byte [0x101e73e4], 0
movss xmm0, dword [edi + 0x3b8]
divss xmm0, dword [0x100d6858]
movzx edx, byte [edi + 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x10232050], edx
mov dl, byte [0x101e73e5]
cvttss2si ecx, xmm0
movss xmm0, dword [edi + 0x3bc]
divss xmm0, dword [0x100d6858]
mov dword [0x100e65bc], ecx
cvttss2si eax, xmm0
mov dword [0x100e65cc], eax
jne 0x1006c180
test dl, dl
jne 0x1006c180
mov byte [0x10232bbe], dl
cmp dword [0x10232050], 0
jne 0x1006c332
cmp byte [edi + 0xe], 0
jne 0x1006c332
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x10232da0]
cmp eax, 0xbb8
jb 0x1006c33d
mov eax, dword [0x101ef00c]
cmp eax, dword [0x10232d8c]
jne 0x1006c3cb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x100e65cc]
mov dword [0x10232da0], eax
mov eax, dword [0x100e65bc]
mov byte [edi + 0x8c], al
imul eax, eax, 0x64
push 0x64
mov byte [edi + 0x90], cl
add eax, 0x32
movd xmm1, eax
imul eax, ecx, 0x64
cvtdq2ps xmm1, xmm1
add eax, 0x32
movss dword [edi + 0x3b8], xmm1
movss dword [edi + 0x37c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
movss dword [edi + 0x380], xmm0
call esi
mov edx, dword [0x100e65bc]
mov ecx, edi
push dword [0x100e65cc]
lea edx, [edx + 1]
call fcn.1003ff40
mov edx, dword [0x100e65bc]
add esp, 4
mov ecx, edi
push dword [0x100e65cc]
call fcn.1003ff40
mov eax, dword [0x100e65bc]
add esp, 4
mov ecx, dword [0x100e65cc]
mov byte [edi + 0x8c], al
imul eax, eax, 0x64
mov byte [edi + 0x90], cl
mov word [edi + 0x2ce], 0x101
mov word [edi + 0x58], 0
add eax, 0x32
movd xmm0, eax
imul eax, ecx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [edi + 0x3b8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
jmp 0x1006c33d
cmp dl, 1
je 0x1006c196
mov eax, dword [0x10232c20]
test eax, eax
je 0x1006c196
mov ecx, dword [0x10232bf0]
jmp 0x1006c1a7
mov eax, ecx
cvttss2si ecx, xmm0
mov dword [0x10232c20], eax
mov dword [0x10232bf0], ecx
mov dh, byte [0x10232bbe]
test dh, dh
jne 0x1006c1fe
cmp byte [edi + 0x2c0], dh
je 0x1006c1c2
cmp byte [edi + 0x24], dh
je 0x1006c05d
mov esi, dword [0x100e65bc]
mov dword [0x10232bec], esi
mov byte [0x10232bbe], 1
cvttss2si esi, xmm0
mov dword [0x10232c18], esi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dl, 1
jne 0x1006c1f5
mov dword [0x10232bec], eax
mov dword [0x10232c18], ecx
xor eax, eax
mov dword [0x10232dc4], eax
jmp 0x1006c20c
cmp dh, 1
jne 0x1006c05d
mov eax, dword [0x10232dc4]
cmp byte [edi + 0x2c0], 0
je 0x1006daae
cmp byte [edi + 0x24], 0
jne 0x1006c33d
test eax, eax
jne 0x1006c232
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10232dc4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x10232dc4]
cmp eax, 0xbb8
jb 0x1006c33d
mov eax, dword [0x10232bec]
mov ecx, dword [0x10232c18]
mov byte [edi + 0x8c], al
imul eax, eax, 0x64
push 0x64
mov byte [edi + 0x90], cl
add eax, 0x32
movd xmm1, eax
imul eax, ecx, 0x64
cvtdq2ps xmm1, xmm1
add eax, 0x32
movss dword [edi + 0x3b8], xmm1
movss dword [edi + 0x37c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
movss dword [edi + 0x380], xmm0
call esi
mov edx, dword [0x10232bec]
mov ecx, edi
push dword [0x10232c18]
lea edx, [edx + 1]
call fcn.1003ff40
mov edx, dword [0x10232bec]
add esp, 4
mov ecx, edi
push dword [0x10232c18]
call fcn.1003ff40
mov eax, dword [0x10232bec]
add esp, 4
mov ecx, dword [0x10232c18]
mov byte [edi + 0x8c], al
imul eax, eax, 0x64
push 0x64
mov byte [edi + 0x90], cl
mov word [edi + 0x2ce], 0x101
mov word [edi + 0x58], 0
add eax, 0x32
movd xmm0, eax
imul eax, ecx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [edi + 0x3b8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
call esi
mov byte [0x10232bbe], 0
mov dword [0x10232dc4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10232da0], eax
cmp byte [edi + 0x2c0], 0
je 0x1006daae
cmp byte [edi + 0x24], 0
jne 0x1006daae
cmp byte [0x101e76a7], 0
je 0x1006c4fe
cmp byte [0x101e732e], 0
jne 0x1006c3e5
cmp byte [0x101e732f], 0
jne 0x1006c3e5
cmp byte [0x101e7332], 0
jne 0x1006c3e5
cmp byte [0x101e73ca], 0
jne 0x1006c3e5
cmp byte [0x101e73cb], 0
jne 0x1006c3e5
cmp byte [0x101e73cc], 0
jne 0x1006c3e5
cmp byte [0x101e73cd], 0
jne 0x1006c3e5
cmp byte [0x101e73ce], 0
jne 0x1006c3e5
cmp byte [0x101e73cf], 0
jne 0x1006c3e5
mov dword [0x101eefa8], 0
mov dword [0x101ef1b4], 0
jmp 0x1006c67a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10232da0], eax
mov eax, dword [0x101ef00c]
mov dword [0x10232d8c], eax
jmp 0x1006c33d
mov eax, dword [0x100e65c4]
cmp eax, 0xffff
je 0x1006c684
imul ecx, eax, 0x2b8
mov eax, dword [0x101ef130]
cmp byte [ecx + eax + 4], 0
jne 0x1006c684
mov edx, dword [0x101ef1b4]
mov eax, edx
mov ecx, dword [0x101eefa8]
shl eax, 8
add eax, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
cmp word [eax + eax + 0x8177d66], 0
je 0x1006c4c7
imul eax, edx, 0x202
cmp word [eax + 0x8177d64], 1
je 0x1006c4c7
mov eax, dword [esp + 0x28]
cmp word [eax + eax + 0x8177d62], 0
je 0x1006c473
imul eax, edx, 0x1fe
mov ecx, 0x8177d64
sub ecx, eax
cmp word [ecx], 1
jne 0x1006c684
mov ecx, dword [esp + 0x1c]
imul eax, ecx, 0x64
add eax, 0x32
movd xmm1, eax
imul eax, edx, 0x64
cvtdq2ps xmm1, xmm1
add eax, 0x32
movss dword [edi + 0x3b8], xmm1
movss dword [edi + 0x37c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
push 0x32
mov byte [edi + 0x90], dl
mov byte [edi + 0x8c], cl
movss dword [edi + 0x380], xmm0
call esi
mov edx, dword [esp + 0x1c]
inc edx
jmp 0x1006c658
imul eax, ecx, 0x64
add eax, 0x32
movd xmm1, eax
imul eax, edx, 0x64
cvtdq2ps xmm1, xmm1
add eax, 0x32
movss dword [edi + 0x3b8], xmm1
movss dword [edi + 0x37c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3bc], xmm0
jmp 0x1006c63b
cmp byte [0x101e732e], 0
jne 0x1006c568
cmp byte [0x101e732f], 0
jne 0x1006c568
cmp byte [0x101e7332], 0
jne 0x1006c568
cmp byte [0x101e73ca], 0
jne 0x1006c568
cmp byte [0x101e73cb], 0
jne 0x1006c568
cmp byte [0x101e73cc], 0
jne 0x1006c568
cmp byte [0x101e73cd], 0
jne 0x1006c568
cmp byte [0x101e73ce], 0
jne 0x1006c568
cmp byte [0x101e73cf], 0
jne 0x1006c568
mov dword [0x101eefa8], 0
mov dword [0x101ef1b4], 0
jmp 0x1006c67a
mov eax, dword [0x100e65c4]
cmp eax, 0xffff
je 0x1006c684
imul ecx, eax, 0x2b8
mov eax, dword [0x101ef130]
cmp byte [ecx + eax + 4], 0
jne 0x1006c684
mov edx, dword [0x101ef1b4]
mov eax, edx
mov ecx, dword [0x101eefa8]
shl eax, 8
add eax, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
cmp word [eax + eax + 0x8177d66], 0
je 0x1006c619
imul eax, edx, 0x202
cmp word [eax + 0x8177d64], 1
je 0x1006c619
mov eax, dword [esp + 0x28]
cmp word [eax + eax + 0x8177d62], 0
je 0x1006c5f2
imul eax, edx, 0x1fe
mov ecx, 0x8177d64
sub ecx, eax
cmp word [ecx], 1
jne 0x1006c684
mov ecx, dword [esp + 0x1c]
imul eax, ecx, 0x64
add eax, 0x32
movd xmm0, eax
imul eax, edx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [edi + 0x37c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x1006c4a5
imul eax, ecx, 0x64
add eax, 0x32
movd xmm0, eax
imul eax, edx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [edi + 0x37c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 0x32
mov byte [edi + 0x8c], cl
mov byte [edi + 0x90], dl
movss dword [edi + 0x380], xmm0
call esi
mov edx, dword [esp + 0x1c]
dec edx
push dword [esp + 0x20]
mov ecx, edi
call fcn.1003ff40
mov dword [0x101ef13c], 0
add esp, 4
mov dword [0x100e65c4], 0xffff
mov dword [0x101e7208], 0
inc dword [0x101e720c]
cmp byte [0x101e73d2], 0
je 0x1006c6b8
mov al, byte [edi + 0x2ce]
cmp al, 0x6b
je 0x1006c6af
cmp al, 0xe6
je 0x1006c6af
mov al, byte [edi + 0x2cf]
cmp al, 0x6b
je 0x1006c6af
cmp al, 0xe6
jne 0x1006c6b8
mov word [edi + 0x2ce], 0x101
cmp byte [0x101e73d1], 0
je 0x1006c6c8
mov byte [edi + 0x4b0], 0
cmp byte [0x101e76a4], 0
je 0x1006c6d5
mov byte [edi + 0xe], 0
mov eax, dword [0x101ed428]
cmp eax, dword [0x101e7220]
mov dword [0x101e7228], 0
lea ecx, [eax + 1]
mov eax, 1
cmovge ecx, eax
mov eax, dword [0x101ef09c]
xor dl, dl
mov dword [0x101ed428], ecx
xor esi, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov eax, dword [eax]
mov dword [0x1022f924], eax
cmp byte [0x101e73d3], 0
je 0x1006c733
cmp byte [edi + 0x58], 0
jne 0x1006c733
cmp byte [edi + 0xe], 0
jne 0x1006c733
mov word [edi + 0x2ce], 0x101
jmp 0x1006c74f
cmp byte [0x101e73d5], 0
je 0x1006c74f
cmp byte [edi + 0x58], 0
jne 0x1006c74f
cmp byte [edi + 0xe], 0
jne 0x1006c74f
mov byte [edi + 0x2cf], 1
cmp byte [0x101e76a3], 0
je 0x1006c798
mov eax, 0x100d4fa4
lea ecx, [esp + 0xc0]
sub eax, 0x24d7ba2a
push eax
call fcn.1007ec80
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov word [esp + 0xc8], 0
movq qword [esp + 0xc0], xmm0
mov ecx, dword [eax + 0xbed1c]
mov dword [eax + 0xbed18], ecx
mov eax, dword [0x101eef20]
imul ecx, esi, 0x518
mov eax, dword [eax]
add ecx, eax
mov eax, dword [0x101ef154]
mov dword [esp + 0x18], ecx
cmp dword [eax], ecx
je 0x1006d21d
cmp esi, 0x190
jge 0x1006d21d
test ecx, ecx
je 0x1006d212
cmp byte [ecx + 0x2c0], 0
je 0x1006d212
cmp byte [ecx + 0x24], 0
jne 0x1006d212
cmp byte [edi + 0xe], 0
jne 0x1006d212
cmp byte [ecx + 0xe], 0
jne 0x1006d212
movzx eax, byte [ecx + 0x8c]
movd xmm3, eax
movzx eax, byte [ecx + 0x90]
cvtdq2pd xmm3, xmm3
movd xmm2, eax
movzx eax, byte [edi + 0x8c]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movzx eax, byte [edi + 0x90]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm1
subsd xmm2, xmm0
mulsd xmm3, xmm3
mulsd xmm2, xmm2
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.100b4bc0
movsd qword [esp + 0x28], xmm0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x101e70a8]
jne 0x1006cf8b
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x2d2]
cmp cl, 2
jne 0x1006cd5f
cmp byte [0x101e7509], 0
je 0x1006c90e
movaps xmm0, xmmword [0x100d6ec0]
movups xmmword [esp + 0xd0], xmm0
push ecx
movss xmm0, dword [eax + 0x500]
lea ecx, [esp + 0xd4]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [eax + 0x504]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [edi + 0x500]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [edi + 0x504]
movss dword [esp + 0x90], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.10027600
mov eax, dword [esp + 0x18]
cmp byte [0x101e750a], 0
je 0x1006cbf3
add eax, 0x38
push eax
push 0x100ce104
push 0x101eef3c
call fcn.1003a9e0
add esp, 0xc
xor edx, edx
mov al, byte [edx + 0x101eef3c]
cmp al, 0x41
jl 0x1006c949
cmp al, 0x5a
jg 0x1006c949
add al, 0x20
mov byte [edx + 0x101eef3c], al
mov ecx, 0x101eef3c
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006c952
sub ecx, esi
cmp edx, ecx
jbe 0x1006c933
xor esi, esi
cmp esi, 0x22
jge 0x1006c998
mov edx, dword [esi*4 + 0x100c9e58]
mov ecx, 0x101eef3c
push str.aeiouyd
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9c78]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd30
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006c9cf
mov edx, dword [esi*4 + 0x100c9d78]
mov ecx, 0x101eef3c
push 0x100d2354
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9920]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd38
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006ca06
mov edx, dword [esi*4 + 0x100c9bbc]
mov ecx, 0x101eef3c
push 0x100d2358
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9b94]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd3c
call fcn.10087a00
add esp, 4
cmp esi, 0x22
jge 0x1006ca3d
mov edx, dword [esi*4 + 0x100c9898]
mov ecx, 0x101eef3c
push 0x100d235c
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9be8]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd40
call fcn.10087a00
add esp, 4
cmp esi, 0x16
jge 0x1006ca74
mov edx, dword [esi*4 + 0x100c99f8]
mov ecx, 0x101eef3c
push 0x100d2360
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9d20]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd4c
call fcn.10087a00
add esp, 4
cmp esi, 0xa
jge 0x1006caab
mov edx, dword [esi*4 + 0x100c9ee0]
mov ecx, 0x101eef3c
push 0x100d2364
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c96ec]
add esp, 4
mov ecx, 0x101eef3c
push 0x100cbd50
call fcn.10087a00
add esp, 4
cmp esi, 2
jge 0x1006cae2
mov edx, dword [esi*4 + 0x100c9e50]
mov ecx, 0x101eef3c
push 0x100d2368
call fcn.10087a00
mov edx, dword [esi*4 + 0x100c9714]
add esp, 4
mov ecx, 0x101eef3c
push 0x100c2384
call fcn.10087a00
add esp, 4
inc esi
cmp esi, 0x22
jl 0x1006c966
push str.kundun
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.boss
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push 0x100d27dc
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.vang
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.gold
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.lunar_rabbit
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.tho_ngoc
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.fire_flame_ghost
push 0x101eef3c
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006cca7
push str.pouch_of_bless
push 0x101eef3c
call fcn.1008ffe0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x1006ccab
mov eax, dword [ecx + 0x64]
cmp eax, 0x38c
jl 0x1006cbef
cmp eax, 0x398
jle 0x1006ccab
mov esi, dword [esp + 0x14]
cmp byte [0x101e7508], 0
je 0x1006cf8b
push 0x32
push 0
push 0x101eef3c
call fcn.10090bb0
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, 0x38
mov ecx, eax
mov dword [esp + 0x20], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006cc21
sub ecx, edx
cmp ecx, 3
jb 0x1006cc76
push 0x4502e32a
lea ecx, [esp + 0xa4]
call fcn.1007d2e0
cvttsd2si ecx, qword [esp + 0x28]
push dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push dword [ecx + 0x64]
push eax
push 0x101eef3c
call fcn.1003a9e0
xorps xmm0, xmm0
mov word [esp + 0xbc], 0
add esp, 0x14
movq qword [esp + 0xa0], xmm0
mov ecx, dword [0x101ef010]
call fcn.10013820
lea ecx, [esp + 0xd0]
call fcn.10040240
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x20], 6
jb 0x1006cef6
movaps xmm0, xmmword [0x100d6e10]
jmp 0x1006cefd
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x64]
cmp eax, 0x160
je 0x1006cbef
cmp eax, 0x161
je 0x1006cbef
cmp eax, 0x162
je 0x1006cbef
cmp eax, 0x1ae
je 0x1006cbef
movaps xmm0, xmmword [0x100d6d90]
movups xmmword [esp + 0xd0], xmm0
push ecx
movss xmm0, dword [ecx + 0x500]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [ecx + 0x504]
lea ecx, [esp + 0xd4]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0x500]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [edi + 0x504]
movss dword [esp + 0x80], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10027600
jmp 0x1006cbef
cmp cl, 1
jne 0x1006ce73
cmp byte [0x101e750b], 0
je 0x1006cde6
movaps xmm0, xmmword [0x100d6d80]
movups xmmword [esp + 0xd0], xmm0
push ecx
movss xmm0, dword [eax + 0x500]
lea ecx, [esp + 0xd4]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [eax + 0x504]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [edi + 0x500]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [edi + 0x504]
movss dword [esp + 0x70], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.10027600
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x20], 6
jb 0x1006cbf3
cmp byte [0x101e750c], 0
je 0x1006cbf3
movaps xmm0, xmmword [0x100d6e10]
movups xmmword [esp + 0xd0], xmm0
push ecx
movss xmm0, dword [eax + 0x500]
lea ecx, [esp + 0xd4]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [eax + 0x504]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edi + 0x500]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [edi + 0x504]
movss dword [esp + 0x60], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10027600
jmp 0x1006cbf3
cmp byte [0x101e7509], 0
je 0x1006cbf3
movaps xmm0, xmmword [0x100d6f60]
movups xmmword [esp + 0xd0], xmm0
push ecx
movss xmm0, dword [eax + 0x500]
lea ecx, [esp + 0xd4]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [eax + 0x504]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 0x500]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [edi + 0x504]
movss dword [esp + 0x50], xmm0
mov dword [esp], 0x3f800000
call fcn.10008c40
mov ecx, dword [0x101eeefc]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10027600
jmp 0x1006cbf3
movaps xmm0, xmmword [0x100d6f60]
mov edx, dword [esp + 0x20]
movaps xmmword [esp + 0xd0], xmm0
lea eax, [edx + 1]
mov dword [esp + 0x28], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x1006cf10
sub edx, dword [esp + 0x28]
sub esp, 8
movss xmm0, dword [ecx + 0x500]
cmp edx, 3
jb 0x1006cf52
movss dword [esp + 0x40], xmm0
movss xmm0, dword [ecx + 0x504]
lea ecx, [esp + 0xd8]
movss dword [esp + 0x44], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0x44]
jmp 0x1006cf80
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [ecx + 0x504]
lea ecx, [esp + 0xd8]
movss dword [esp + 0xa4], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.10027b60
call fcn.10013910
cmp byte [0x101e76a2], 0
mov ecx, dword [esp + 0x18]
je 0x1006cf9f
mov byte [ecx + 0x2d2], 2
cmp byte [0x101e76a1], 0
je 0x1006cfe1
cmp byte [ecx + 0x2d2], 2
jne 0x1006cfe1
mov eax, dword [edi + 0x3b8]
mov dword [ecx + 0x3b8], eax
mov eax, dword [edi + 0x3bc]
mov dword [ecx + 0x3bc], eax
mov eax, dword [edi + 0x3b8]
mov dword [ecx + 0x37c], eax
mov eax, dword [edi + 0x3bc]
mov dword [ecx + 0x380], eax
cmp byte [0x101e7215], 0
je 0x1006d208
mov eax, dword [0x101ed428]
cmp eax, dword [0x101e7220]
jl 0x1006d208
cmp byte [0x101e71bc], 0
mov edx, dword [esp + 0x1c]
je 0x1006d022
cmp byte [ecx + 0x2d2], 2
mov eax, 1
movzx edx, dl
cmove edx, eax
mov dword [esp + 0x1c], edx
cmp byte [0x101e71cd], 0
je 0x1006d08c
mov eax, dword [0x1022f924]
cmp eax, 0x190
ja 0x1006d062
cmp esi, eax
jne 0x1006d062
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1006d062
mov eax, dword [esp + 0x18]
add eax, 0x38
push eax
push 0x100ce104
push 0x101e71ce
call fcn.1003a9e0
add esp, 0xc
mov eax, dword [esp + 0x18]
add eax, 0x38
push 0x101e71ce
push eax
call fcn.1008ffe0
mov edx, dword [esp + 0x24]
add esp, 8
test eax, eax
movzx edx, dl
mov eax, 1
cmovne edx, eax
mov dword [esp + 0x1c], edx
cmp byte [0x101e7200], 0
je 0x1006d0bf
mov eax, dword [0x1022f924]
cmp eax, 0x190
ja 0x1006d0bf
cmp esi, eax
jne 0x1006d0bf
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [esp + 0x1c]
test ax, ax
movzx edx, dl
mov eax, 1
cmovne edx, eax
mov eax, dword [0x101e7228]
cmp eax, dword [0x101e7224]
jg 0x1006d208
test dl, dl
je 0x1006d208
cmp dword [0x101e721c], 1
mov dword [esp + 0x20], 1
jl 0x1006d202
mov edx, dword [0x101ef060]
mov ecx, dword [esp + 0x18]
nop word [eax + eax]
movss xmm0, dword [ecx + 0x3b8]
mov eax, dword [edi + 0x3b8]
mov dword [ecx + 0x3b8], eax
mov eax, dword [edi + 0x3bc]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [ecx + 0x3bc]
mov dword [ecx + 0x3bc], eax
mov eax, dword [edi + 0x3b8]
mov dword [ecx + 0x37c], eax
mov eax, dword [edi + 0x3bc]
mov dword [ecx + 0x380], eax
movzx eax, byte [edi + 0x58]
mov dword [esp + 0x28], eax
movzx eax, byte [edi + 0x2ce]
mov dword [esp + 0xd0], eax
mov eax, dword [0x101ef09c]
push 0
movss dword [esp + 0x20], xmm0
mov dword [eax], esi
mov eax, dword [0x101ef154]
mov dword [edx], esi
mov byte [edi + 0x59], 3
mov dword [edi + 0x60], esi
mov ecx, dword [eax]
lea eax, [ecx + 0x2bc]
push eax
push ecx
call dword [0x101ef164]
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [0x101ef060]
mov ecx, dword [esp + 0x18]
movss xmm0, dword [esp + 0x34]
mov byte [edi + 0x58], al
mov eax, dword [esp + 0xd0]
mov byte [edi + 0x2ce], al
mov byte [edi + 0x2cf], al
mov eax, dword [0x101ef09c]
mov byte [edi + 0x59], 0
mov dword [eax], 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [edx], 0xffffffff
inc eax
mov dword [edi + 0x60], 0xffffffff
movss dword [ecx + 0x3b8], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [ecx + 0x3bc], xmm0
mov dword [esp + 0x20], eax
cmp eax, dword [0x101e721c]
jle 0x1006d100
mov eax, dword [0x101e7228]
inc eax
mov dword [0x101e7228], eax
mov ecx, dword [esp + 0x18]
xor dl, dl
mov dword [esp + 0x1c], edx
push 1
push ecx
call fcn.1008df5e
add esp, 8
mov ecx, dword [0x101ef130]
imul eax, esi, 0x2b8
mov dword [esp + 0x20], eax
cmp byte [eax + ecx + 4], 1
jne 0x1006da98
mov eax, dword [eax + ecx + 0x30]
mov dword [esp + 0xd0], eax
add eax, 0xfffffc89
imul esi, eax, 0x54
mov eax, dword [0x101eef28]
add esi, dword [eax]
xor edx, edx
mov dword [esp + 0x18], esi
mov al, byte [edx + esi]
cmp al, 0x41
jl 0x1006d268
cmp al, 0x5a
jg 0x1006d268
add al, 0x20
mov byte [edx + esi], al
mov ecx, esi
inc edx
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006d272
sub ecx, dword [esp + 0x28]
cmp edx, ecx
jbe 0x1006d258
mov eax, dword [esp + 0x20]
mov edx, dword [0x101ef130]
movss xmm0, dword [eax + edx + 0xfc]
divss xmm0, dword [0x100d6858]
cvttss2si ecx, xmm0
movss xmm0, dword [eax + edx + 0x100]
divss xmm0, dword [0x100d6858]
mov dword [esp + 0x24], ecx
movd xmm3, ecx
cvttss2si eax, xmm0
cvtdq2pd xmm3, xmm3
mov dword [esp + 0x40], eax
movd xmm2, eax
movzx eax, byte [edi + 0x8c]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movzx eax, byte [edi + 0x90]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm1
subsd xmm2, xmm0
mulsd xmm3, xmm3
mulsd xmm2, xmm2
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.100b4bc0
cmp byte [0x101e750d], 0
mov esi, dword [esp + 0x14]
movsd qword [esp + 0x28], xmm0
je 0x1006d3b1
push 0x32
push 0
push 0x101eef3c
call fcn.10090bb0
add esp, 0xc
push dword [esp + 0xd0]
push str.__d_
push 0x101eef3c
call fcn.1003a9e0
mov ecx, dword [0x101ef010]
add esp, 0xc
call fcn.10013820
mov eax, dword [0x101ef130]
sub esp, 8
mov ecx, dword [esp + 0x28]
movaps xmm0, xmmword [0x100d6e10]
movaps xmmword [esp + 0xd8], xmm0
movss xmm0, dword [ecx + eax + 0x2a4]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [ecx + eax + 0x2a8]
lea ecx, [esp + 0xd8]
movss dword [esp + 0xc4], xmm0
call fcn.10008c40
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.10027b60
call fcn.10013910
movd xmm0, dword [0x101e7328]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006da98
mov eax, dword [0x101e720c]
cmp eax, dword [0x101e7210]
jl 0x1006da98
cmp byte [0x101e732e], 0
je 0x1006d485
push 0x100d236c
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d485
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d463
mov eax, dword [0x101ef130]
mov ecx, dword [esp + 0x20]
mov byte [edi + 0x58], 0
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d485
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp byte [0x101e732f], 0
je 0x1006d5e2
push str.jewel_of_bless
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_soul
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_chaos
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_life
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_creation
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_guardian
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.gemstone
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.jewel_of_harmony
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d55f
push str.refining_stone
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d5e2
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d5c4
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov byte [edi + 0x58], 0
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d5e2
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
add esp, 0x10
cmp byte [0x101e7332], 0
je 0x1006d69e
mov esi, dword [esp + 0x18]
push str.condor
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
jne 0x1006d61b
push str.dark_horse_spirit
push esi
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d69e
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d680
mov esi, dword [esp + 0x14]
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d6a2
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
add esp, 0x10
mov esi, dword [esp + 0x14]
cmp byte [0x101e73ca], 0
je 0x1006d74b
push 0x101e7334
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d74b
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d729
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d74b
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp byte [0x101e73cb], 0
je 0x1006d7f4
push 0x101e734d
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d7f4
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d7d2
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d7f4
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp byte [0x101e73cc], 0
je 0x1006d89d
push 0x101e7366
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d89d
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d87b
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d89d
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp byte [0x101e73cd], 0
je 0x1006d946
push 0x101e737f
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d946
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d924
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d946
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp byte [0x101e73ce], 0
je 0x1006d9eb
push 0x101e7398
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006d9eb
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006d9cd
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006d9eb
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
add esp, 0x10
cmp byte [0x101e73cf], 0
je 0x1006da94
push 0x101e73b1
push dword [esp + 0x1c]
call fcn.1008ffe0
add esp, 8
test eax, eax
je 0x1006da94
movsd xmm0, qword [0x100d6798]
comisd xmm0, xmmword [esp + 0x28]
jb 0x1006da76
mov esi, dword [esp + 0x14]
mov eax, dword [0x101ef130]
imul ecx, esi, 0x2b8
mov dword [0x7c398c8], esi
mov dword [0x7c39870], esi
mov dword [0x932b60], esi
push 1
push dword [ecx + eax + 0xae]
mov eax, dword [0x101ef154]
push dword [eax]
call fcn.10069030
mov dword [0x7c39870], 0
add esp, 0xc
mov dword [0x932b60], esi
mov dword [0x101e720c], 1
jmp 0x1006da98
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
call fcn.10069070
add esp, 0x10
mov esi, dword [esp + 0x14]
inc esi
mov dword [esp + 0x14], esi
cmp esi, 0x3e8
jl 0x1006c713
jmp 0x1006db25
mov dword [0x101eefa8], 0
mov dword [0x101ef1b4], 0
mov dword [0x100e65c4], 0xffff
mov dword [0x101ef13c], 0
mov byte [0x10232d41], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1006db20
mov dword [0x101eefa8], 0
mov dword [0x101ef1b4], 0
mov dword [0x100e65c4], 0xffff
mov dword [0x101ef13c], 0
mov byte [0x10232d41], 0
mov dword [0x10232d8c], 0xffffffff
call edi
mov dword [0x10232da0], eax
mov edx, 0x5e
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x100d4e1c]
xor al, dl
mov byte [esp + ecx + 0xa0], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1006db30
lea eax, [esp + 0xa0]
mov byte [esp + 0xac], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x1006dd44
mov esi, dword [0x101ef154]
mov eax, dword [0x101ef194]
mov ecx, dword [esi]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x1006dd44
mov eax, dword [0x101eef38]
cmp dword [eax], 5
jne 0x1006dd44
movzx eax, byte [ecx + 0xbe]
xor edi, edi
movss xmm1, dword [0x100d6858]
mov dword [0x10232050], eax
mov eax, dword [0xfbcea0]
mov dword [0x101ef00c], eax
mov eax, dword [0x101ef0f4]
nop word [eax + eax]
movss xmm0, dword [ecx + eax]
divss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x100e65bc], eax
mov eax, dword [0x101ef0a8]
movss xmm0, dword [ecx + eax]
divss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x100e65cc], eax
mov eax, dword [0x101eef20]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [0x101eef30]
add edx, edi
cmp byte [eax + edx], 0
je 0x1006dc8a
cmp byte [edx + 0x12], 0
jne 0x1006dc8a
cmp byte [0x101e76a2], 0
mov eax, dword [0x101eefb0]
je 0x1006dc24
cmp dword [esi], edx
je 0x1006dc24
mov byte [eax + edx], 2
cmp byte [0x101e76a1], 0
je 0x1006dc8a
cmp byte [eax + edx], 2
jne 0x1006dc8a
cmp dword [esi], edx
je 0x1006dc8a
mov eax, dword [0x101ef110]
mov esi, dword [0x101ef110]
movzx eax, byte [ecx + eax]
mov byte [esi + edx], al
mov esi, dword [0x101eefbc]
movzx eax, byte [ecx + esi]
mov byte [esi + edx], al
mov eax, dword [0x101ef0f4]
mov esi, dword [0x101ef154]
movss xmm0, dword [ecx + eax]
addss xmm0, dword [0x100d673c]
movss dword [eax + edx], xmm0
mov eax, dword [0x101ef0a8]
movss xmm0, dword [ecx + eax]
addss xmm0, dword [0x100d673c]
movss dword [eax + edx], xmm0
cmp byte [0x101e73d3], 0
mov eax, dword [0x101ef0f4]
je 0x1006dcc0
cmp byte [ecx + 0xbe], 0
jne 0x1006dcc0
cmp byte [ecx + 0x12], 0
jne 0x1006dcc0
mov eax, dword [0x100e65b8]
mov esi, 1
mov word [ecx + eax], si
mov eax, dword [0x100e6488]
mov word [ecx + eax], si
jmp 0x1006dce7
cmp byte [0x101e73d5], 0
je 0x1006dcf2
cmp byte [ecx + 0xbe], 0
jne 0x1006dcf2
cmp byte [ecx + 0x12], 0
jne 0x1006dcf2
mov esi, dword [0x100e6488]
mov eax, 1
mov word [ecx + esi], ax
mov eax, dword [0x101ef0f4]
mov esi, dword [0x101ef154]
cmp byte [0x101e76a5], 0
je 0x1006dd0d
cmp dword [esi], edx
je 0x1006dd0d
mov eax, dword [0x101ef1c0]
mov byte [ecx + eax], 0
mov eax, dword [0x101ef0f4]
cmp byte [0x101e76a4], 0
je 0x1006dd1e
cmp dword [esi], edx
je 0x1006dd1e
mov byte [ecx + 0x12], 0
cmp byte [0x101e76a3], 0
je 0x1006dd32
mov edx, dword [esp + 0x28]
mov dword [edx + 0x7c], 0xffff
add edi, 0x7a0
cmp edi, 0xbea00
jl 0x1006dbc0
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
xor ecx, esp
call fcn.1008d9f1
mov esp, ebp
pop ebp
ret