Function at 0x465cd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x67a478
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x735300]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x58], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x3c], edi
call fcn.0045c1e0
test al, al
jne 0x4663d9
mov ecx, esi
call fcn.00465370
test al, al
je 0x46640a
cmp edi, 0xff
jb 0x465d3c
push edi
push str.CPythonPlayer::__UseSkill_dwSlotIndex_d__Its_not_available_skill_slot_number
call fcn.004c4230
add esp, 8
jmp 0x46640a
lea eax, [edi + edi*4]
mov ecx, esi
push dword [esi + eax*8 + 0x127b4]
mov dword [ebp - 0x44], eax
call fcn.004657b0
test al, al
jne 0x4663d9
mov ecx, dword [0x749834]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x44]
push dword [esi + eax*8 + 0x127b4]
call fcn.0046d1e0
test eax, eax
jne 0x465d88
push edi
push str.CPythonPlayer::__UseSkill_dwSlotIndex_d__There_is_no_skill_data
call fcn.004c4230
add esp, 8
jmp 0x46640a
mov ecx, dword [ebp - 0x30]
call fcn.0046d7e0
test eax, eax
je 0x465dbb
push edi
mov ecx, esi
call fcn.0045c430
test eax, eax
je 0x465dbb
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x749778]
push edi
push dword [esi + eax*8 + 0x127b4]
call fcn.004a9ac0
jmp 0x46640a
push edi
mov ecx, esi
call fcn.00465570
test al, al
je 0x46640a
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov dword [ebp - 0x34], ecx
mov eax, dword [eax + 0x8c]
call eax
mov edi, eax
mov dword [ebp - 0x54], edi
test edi, edi
jne 0x465dfa
push dword [ebp - 0x3c]
push str.CPythonPlayer::__UseSkill_dwSlotIndex_d__There_is_no_main_player
call fcn.004c4230
add esp, 8
jmp 0x46640a
mov ecx, edi
call fcn.00442840
test eax, eax
jne 0x46640a
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
call fcn.0046d780
test eax, eax
jne 0x465e34
mov ecx, dword [ebp - 0x30]
call fcn.0046c680
test eax, eax
jne 0x465e34
mov ecx, dword [ebp - 0x30]
call fcn.0046d6c0
test eax, eax
je 0x466078
mov ecx, dword [ebp - 0x30]
call fcn.0046d750
mov ecx, esi
test eax, eax
je 0x465e49
call fcn.0045f530
jmp 0x465e4e
call fcn.0045f500
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x465f35
mov ecx, esi
call fcn.0045f4b0
mov ecx, dword [ebp - 0x30]
call fcn.0046d750
mov ecx, esi
test eax, eax
je 0x465e75
call fcn.0045f530
jmp 0x465e7a
call fcn.0045f500
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x465f35
mov ecx, dword [ebp - 0x30]
call fcn.0046d6c0
test eax, eax
je 0x465eda
push ecx
lea eax, [ebp - 0x2c]
mov dword [esp], 0x44fa0000
push eax
mov ecx, edi
call fcn.00442a90
test al, al
je 0x465f03
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
push 1
mov esi, dword [esi]
call fcn.0043e1a0
mov ecx, dword [ebp - 0x34]
push eax
call dword [esi + 0x64]
push dword [ebp - 0x3c]
mov esi, dword [ebp - 0x58]
mov ecx, esi
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push edi
call fcn.00465a20
test al, al
je 0x46640a
mov ecx, dword [ebp - 0x30]
call fcn.0046c690
test eax, eax
je 0x465f0d
push edi
mov ecx, edi
mov dword [ebp - 0x2c], edi
call fcn.00443750
push str.__ALERT__
call fcn.004c41a0
add esp, 4
jmp 0x466078
push str.NEED_TARGET
jmp 0x4663e2
mov ecx, dword [ebp - 0x30]
call fcn.0046d750
lea ecx, [esi + 4]
test eax, eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
je 0x465f2b
push str.ONLY_FOR_CORPSE
jmp 0x4663eb
push str.NEED_TARGET
jmp 0x4663eb
mov ecx, dword [ebp - 0x30]
call fcn.0046d7a0
test eax, eax
je 0x46600c
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jne 0x465f66
mov ecx, dword [ebp - 0x30]
call fcn.0046c690
test eax, eax
jne 0x46604d
push str.CANNOT_USE_SELF
jmp 0x4663e2
push eax
mov ecx, edi
call fcn.0043e240
test al, al
jne 0x465fe4
mov ecx, dword [ebp - 0x2c]
call fcn.0043e830
test eax, eax
je 0x465fe4
push dword [ebp - 0x30]
mov ecx, esi
call fcn.00465880
mov dword [ebp - 0x34], eax
test eax, eax
je 0x46604d
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.0043df20
mov ecx, dword [ebp - 0x34]
mov eax, ecx
shr eax, 0x1f
fstp dword [ebp - 0x40]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x697fb0]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm1
jb 0x46604d
push ecx
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
call fcn.0043e1a0
push eax
mov ecx, esi
call fcn.0045fb80
jmp 0x46640a
mov ecx, dword [ebp - 0x30]
call fcn.0046c690
test eax, eax
je 0x466002
push str.__ALERT_
mov dword [ebp - 0x2c], edi
call fcn.004c41a0
add esp, 4
jmp 0x46604d
push str.ONLY_FOR_ALLIANCE
jmp 0x4663e2
mov ecx, dword [ebp - 0x2c]
call fcn.0043e710
test eax, eax
je 0x466022
push str.CANNOT_ATTACK_ENEMY_IN_SAFE_AREA
jmp 0x4663e2
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.0043e240
test al, al
je 0x4663dd
push dword [ebp - 0x3c]
mov ecx, esi
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push edi
call fcn.00465a20
test al, al
je 0x46640a
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.00443750
cmp edi, dword [ebp - 0x2c]
je 0x466078
mov ecx, edi
call fcn.00442820
mov ecx, edi
test al, al
je 0x466070
call fcn.00447370
jmp 0x466078
push dword [ebp - 0x2c]
call fcn.00447310
mov ecx, dword [ebp - 0x30]
call fcn.0046c680
test eax, eax
je 0x4660ea
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x466099
cmp eax, edi
je 0x466099
push eax
mov ecx, edi
call fcn.00447310
jmp 0x4660ea
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.0045dc40
mov ecx, esi
test al, al
je 0x4660c0
push dword [ebp - 0x34]
call fcn.0045c790
test eax, eax
je 0x4660ea
push eax
mov ecx, edi
call fcn.00447310
jmp 0x4660ea
lea eax, [ebp - 0x28]
push eax
call fcn.0045dc80
test al, al
je 0x4660da
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00447330
jmp 0x4660ea
push dword [ebp - 0x3c]
push str.CPythonPlayer::__UseSkill__d____
call fcn.004c4230
add esp, 8
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x30]
movss xmm0, dword [esi + eax*8 + 0x127c4]
movss dword [esp], xmm0
call fcn.0046d550
push dword [ebp - 0x30]
mov ecx, esi
mov dword [ebp - 0x40], eax
call fcn.00465880
cmp dword [ebp - 0x40], 0
mov dword [ebp - 0x34], eax
jbe 0x466330
cmp dword [ebp - 0x2c], 0
je 0x466330
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], 0
call fcn.0046d700
test eax, eax
je 0x466217
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x2c]
push ecx
movd xmm0, eax
mov ecx, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x697fb0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.00442f10
test al, al
je 0x4662d3
mov esi, dword [ebp - 0x50]
cmp esi, dword [ebp - 0x4c]
je 0x4662d3
mov eax, 1
cmp eax, dword [ebp - 0x40]
jae 0x46631e
mov eax, dword [esi]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x2c], eax
je 0x466207
mov ecx, eax
call fcn.0043e5b0
test eax, eax
jne 0x466207
push dword [ebp - 0x34]
mov ecx, edi
call fcn.00442170
mov ecx, dword [ebp - 0x34]
call fcn.0043df90
mov edi, dword [0x749778]
lea edx, [ebp - 0x28]
push edx
lea ecx, [eax + 0x1dc]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x34]
push eax
call fcn.0043e1a0
push eax
mov ecx, edi
call fcn.004a8100
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x46620a
mov eax, dword [ebp - 0x38]
add esi, 4
cmp esi, dword [ebp - 0x4c]
jne 0x4661a3
jmp 0x4662d3
mov ecx, dword [ebp - 0x30]
call fcn.0046d6f0
test eax, eax
je 0x4662d3
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x34]
push ecx
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x697fb0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.00442c70
test al, al
je 0x4662d3
mov esi, dword [ebp - 0x50]
cmp esi, dword [ebp - 0x4c]
je 0x4662d3
mov eax, 1
cmp eax, dword [ebp - 0x40]
jae 0x46631e
mov eax, dword [esi]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x2c], eax
je 0x4662c8
mov ecx, eax
call fcn.0043e5b0
test eax, eax
jne 0x4662c8
push dword [ebp - 0x34]
mov ecx, edi
call fcn.00442170
mov ecx, dword [ebp - 0x34]
call fcn.0043df90
mov edi, dword [0x749778]
lea edx, [ebp - 0x28]
push edx
lea ecx, [eax + 0x1dc]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x34]
push eax
call fcn.0043e1a0
push eax
mov ecx, edi
call fcn.004a8100
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x4662cb
mov eax, dword [ebp - 0x38]
add esi, 4
cmp esi, dword [ebp - 0x4c]
jne 0x466264
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
cmp eax, esi
jae 0x46631e
sub esi, eax
nop
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
push dword [ebp - 0x2c]
call fcn.00443240
movss xmm0, dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
xorps xmm0, xmmword [0x697fc0]
mov ecx, edi
push eax
movss dword [ebp - 0x18], xmm0
call fcn.00442200
mov ecx, dword [0x749778]
lea eax, [ebp - 0x1c]
push eax
push 0
call fcn.004a8100
dec esi
jne 0x4662e0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.00505880
mov esi, dword [ebp - 0x58]
mov ecx, esi
call fcn.0052e070
mov ecx, dword [ebp - 0x30]
call fcn.0046d790
test eax, eax
jne 0x4663b1
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
push dword [esi + eax*8 + 0x127bc]
call fcn.0046d380
mov edi, eax
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x30]
movss xmm0, dword [esi + eax*8 + 0x127c4]
movss dword [esp], xmm0
call fcn.0046ce40
mov ecx, dword [ebp - 0x30]
mov esi, eax
call fcn.0046d720
test eax, eax
mov eax, dword [ebp - 0x44]
setne cl
movzx ecx, cl
push ecx
mov ecx, dword [ebp - 0x54]
push esi
mov esi, dword [ebp - 0x58]
push edi
push dword [esi + eax*8 + 0x127b4]
call fcn.004435f0
test al, al
jne 0x4663b1
push dword [ebp - 0x3c]
push str.CPythonPlayer::__UseSkill__d____pkInstMain__NEW_UseSkill___ERROR
call fcn.004c4230
add esp, 8
jmp 0x46640a
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x4663cc
call fcn.0043e1a0
push eax
push dword [ebp - 0x3c]
mov ecx, esi
call fcn.00465c90
mov al, 1
jmp 0x46640c
xor eax, eax
mov ecx, esi
push eax
push dword [ebp - 0x3c]
call fcn.00465c90
mov al, 1
jmp 0x46640c
push str.CANNOT_ATTACK
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 4]
call eax
push eax
push str._is_
call dword [sym.imp.python27.dll_Py_BuildValue]
push eax
push str.OnCannotUseSkill
push dword [esi + 8]
call fcn.00560000
add esp, 0x18
xor al, al
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.005688a8
mov esp, ebp
pop ebp
ret 4