Function at 0x465440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x60107c
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x6a1450]
xor eax, esp
mov dword [esp + 0x274], eax
push esi
push edi
mov eax, dword [0x6a1450]
xor eax, esp
push eax
lea eax, [esp + 0x288]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x1c], esi
cmp dword [esi + 0x6a8], 0
je 0x4659f1
mov eax, dword [esi + 0x6a4]
mov eax, dword [eax]
movdqu xmm0, xmmword [eax + 8]
mov eax, dword [esi + 0x6a4]
movdqa xmmword [esp + 0x24], xmm0
movdqa xmmword [esp + 0x94], xmm0
mov edx, dword [eax]
push edx
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
dec dword [esi + 0x6a8]
call fcn.004dbb70
movdqa xmm0, xmmword [esp + 0x28]
add esp, 4
mov ecx, dword [0x6f86cc]
movd edi, xmm0
call fcn.00479460
sub esp, 0x10
mov dword [esp + 0x30], eax
movss xmm0, dword [eax + 0x34]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 0x30]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x40]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x3c]
movss dword [esp], xmm0
call fcn.00586250
mov eax, dword [0x6f86d8]
lea ecx, [esi + 0x1dc]
add esp, 0x10
mov dword [esp + 0x14], eax
fstp dword [esp + 0xc]
call fcn.0048b670
lea ecx, [esi + 0x1dc]
movq xmm0, qword [eax]
movq qword [esp + 0x7c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
call fcn.0057a4a0
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x84]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x90], xmm0
movdqa xmm0, xmmword [esp + 0x24]
psrldq xmm0, 4
movd eax, xmm0
test al, 0xc
jne 0x4659c0
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
mov dword [esp + 0x290], 0
lea ecx, [esp + 0xac]
cmp dword [esp + 0x9c], 0
je 0x46561e
push str.damage_
call fcn.0045a830
mov ecx, dword [esi + 0x6a0]
xor edx, edx
test ecx, ecx
setne dl
xor eax, eax
add edx, 0x15c
test ecx, ecx
mov dword [esp + 0x10], edx
sete al
mov dword [esi + 0x6a0], eax
mov esi, edx
jmp 0x46564a
cmp dword [esp + 0xa0], 0
jne 0x465637
push str.nontarget_
call fcn.0045a830
jmp 0x4659a5
push str.target_
call fcn.0045a830
mov esi, 0x15a
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov byte [esp + 0x290], 1
test edi, edi
je 0x46599c
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x465680
cmp eax, 0xd2
ja 0x46598f
mov eax, 0xcccccccd
mul edi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub edi, eax
lea eax, [esp + 0x174]
push edi
push str._d.dds
push eax
mov edi, edx
call fcn.005ca1f6
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xec]
push str.d:_ymir_work_effect_affect_damagevalue_
push eax
call fcn.00467860
lea ecx, [esp + 0x18c]
mov byte [esp + 0x2a8], 2
push ecx
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.00467950
add esp, 0x24
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x294], 3
call fcn.00467090
cmp dword [esp + 0xd8], 0x10
jb 0x465717
push dword [esp + 0xc4]
call fcn.004dbb70
add esp, 4
mov byte [esp + 0x290], 1
cmp dword [esp + 0xf0], 0x10
mov dword [esp + 0xd8], 0xf
mov dword [esp + 0xd4], 0
mov byte [esp + 0xc4], 0
jb 0x465756
push dword [esp + 0xdc]
call fcn.004dbb70
add esp, 4
sub esp, 0xc
lea eax, [esp + 0x30]
mov ecx, esp
push eax
call fcn.00466fe0
push dword [esi*4 + 0x6f44d0]
mov ecx, dword [esp + 0x24]
call fcn.0051acd0
movss xmm0, dword [esp + 0x84]
lea eax, [esp + 0x34]
movss xmm1, dword [esp + 0x80]
sub esp, 0xc
movss xmm2, dword [esp + 0x88]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x64], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
push eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0x6c], 0x3f800000
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x44], 0x3f800000
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x7c], xmm0
call fcn.004024ef
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
add eax, 0xac
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00401b92
mov eax, dword [esp + 0xc]
sub esp, 0xc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 8], 0
mov dword [esp + 4], 0
addsd xmm0, qword [eax*8 + 0x65ea90]
lea eax, [esp + 0x140]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
call fcn.004024ef
movss xmm0, dword [esp + 0x164]
lea eax, [esp + 0x34]
xorps xmm0, xmmword [0x65eab0]
push eax
lea eax, [esp + 0x138]
movss dword [esp + 0x168], xmm0
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.00401b92
movdqa xmm0, xmmword [esp + 0xf4]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x24]
movdqa xmmword [esp + 0x38], xmm0
add eax, 0x6c
movdqa xmm0, xmmword [esp + 0x108]
movdqa xmmword [esp + 0x48], xmm0
movdqa xmm0, xmmword [esp + 0x118]
push eax
movdqa xmmword [esp + 0x5c], xmm0
lea eax, [esp + 0x3c]
movdqa xmm0, xmmword [esp + 0x12c]
push eax
movdqa xmmword [esp + 0x70], xmm0
call fcn.00401b92
movss xmm0, dword [esp + 0x64]
lea eax, [esp + 0x88]
mov ecx, dword [esp + 0x14]
push eax
movss dword [esp + 0x98], xmm0
lea eax, [esp + 0x98]
movss xmm0, dword [esp + 0x6c]
push eax
push dword [esi*4 + 0x6f44d0]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0xa8], xmm0
call fcn.0051a260
push dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x1f]
push eax
push dword [esp + 0x30]
push esi
call fcn.00467e10
mov eax, dword [esp + 0x1c]
add esp, 0x10
add eax, 0x1e
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], eax
test edi, edi
jne 0x465680
jmp 0x46599c
push str.ProcessDamage
call fcn.0052ab40
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00467110
cmp dword [esp + 0xc0], 0x10
jb 0x4659f1
push dword [esp + 0xac]
call fcn.004dbb70
add esp, 4
jmp 0x4659f1
cmp dword [esp + 0x9c], 0
lea eax, [esp + 0x88]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x80]
push eax
je 0x4659e6
push dword [0x6f4a4c]
jmp 0x4659ec
push dword [0x6f4a50]
call fcn.0051a260
mov ecx, dword [esp + 0x288]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x274]
xor ecx, esp
call fcn.005c9914
mov esp, ebp
pop ebp
ret