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

Disassembly:
inc dword [0x67aca8]
sub esp, 0xc
push esi
push edi
mov esi, ecx
call fcn.0041b9b0
lea edi, [esi + 0x1f0]
mov ecx, edi
call fcn.0049aca0
mov ecx, edi
call fcn.004ab4d0
mov ecx, edi
call fcn.004a2970
mov ecx, edi
call fcn.0049ad70
mov ecx, edi
call fcn.0049a960
test eax, eax
je 0x41c0c2
lea eax, [esp + 8]
push eax
mov ecx, esi
call fcn.00424ab0
call fcn.00519380
fld dword [esp + 0xc]
sub esp, 8
fstp dword [esp + 4]
mov dword [esi + 0x1a0], eax
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.00418730
add esp, 8
fstp dword [esp + 0x10]
lea ecx, [esp + 8]
push ecx
mov ecx, esi
call fcn.00424aa0
fld dword [esp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.00418710
add esp, 8
push eax
mov ecx, edi
call fcn.004a4650
mov ecx, edi
call fcn.0049e3c0
mov ecx, esi
call fcn.00420580
mov ecx, esi
call fcn.004197e0
mov ecx, esi
call fcn.00417d30
push eax
mov ecx, edi
call fcn.004a4610
mov ecx, esi
call fcn.004178b0
test eax, eax
je 0x41c0fb
mov ecx, dword [esi + 8]
push 0
call fcn.004a30b0
mov ecx, esi
call fcn.00417270
pop edi
mov ecx, esi
pop esi
add esp, 0xc
jmp 0x423720
push 0xffffffffffffffff
push 0x5e814c
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x676890]
xor eax, esp
mov dword [esp + 0x274], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x676890]
xor eax, esp
push eax
lea eax, [esp + 0x28c]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x7d4], 0
je 0x423c2b
mov eax, dword [edi + 0x7d0]
mov esi, dword [eax]
mov eax, dword [edi + 0x7bc]
lea ebx, [edi + 0x7bc]
test eax, eax
jne 0x4238b6
call fcn.005a01dd
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x423797
call fcn.005a01dd
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov ebp, dword [esi + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx]
push eax
push ecx
lea eax, [esp + 0x44]
push eax
mov ecx, ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x44], edx
call fcn.00526650
mov ecx, dword [0x67d420]
call fcn.004ee300
mov ebx, eax
fld dword [ebx + 0x34]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebx + 0x30]
fstp dword [esp + 8]
fld dword [ebx + 0x40]
fstp dword [esp + 4]
fld dword [ebx + 0x3c]
fstp dword [esp]
call fcn.004ac300
mov ecx, dword [0x67d414]
fstp dword [esp + 0x24]
mov dword [esp + 0x28], ecx
lea esi, [edi + 0x1f0]
add esp, 0x10
mov ecx, esi
call fcn.00523250
mov edx, dword [eax]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 8]
mov ecx, esi
mov dword [esp + 0x28], edx
call fcn.0049a9c0
fadd dword [esp + 0x28]
test byte [esp + 0x30], 0xc
fstp dword [esp + 0x28]
fldz
fst dword [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x14]
fstp dword [esp + 0x4c]
jne 0x423c04
xor esi, esi
mov dword [esp + 0x180], 0xf
mov dword [esp + 0x17c], esi
mov byte [esp + 0x16c], 0
mov dword [esp + 0x294], esi
lea ecx, [esp + 0x168]
cmp dword [esp + 0x34], esi
je 0x4238bd
push str.damage_
call fcn.00403fe0
mov eax, dword [edi + 0x7b8]
xor ecx, ecx
cmp eax, esi
setne cl
xor edx, edx
add ecx, 0xfd
cmp eax, esi
sete dl
mov dword [esp + 0x1c], ecx
mov dword [edi + 0x7b8], edx
jmp 0x4238f0
mov eax, dword [eax]
jmp 0x42378d
cmp dword [esp + 0x38], esi
jne 0x4238de
push str.nontarget_
call fcn.00403fe0
lea ecx, [esp + 0x168]
call fcn.0045c050
jmp 0x423c2b
push str.target_
call fcn.00403fe0
mov dword [esp + 0x1c], 0xfb
lea ecx, [esp + 0x50]
call fcn.0044a600
mov byte [esp + 0x294], 1
cmp dword [esp + 0x2c], esi
jbe 0x423bed
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x423924
mov edi, dword [esp + 0x14]
cmp edi, 0xd2
ja 0x423be0
mov eax, 0xcccccccd
mul ebp
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
mov ecx, eax
mov eax, ebp
sub eax, ecx
push eax
mov ebp, edx
lea edx, [esp + 0x188]
push str._d.dds
push edx
call fcn.005a0bf4
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0xdc]
push str.d:_ymir_work_effect_affect_damagevalue_
push ecx
call fcn.00403d50
lea edx, [esp + 0x19c]
push edx
push eax
lea eax, [esp + 0xc8]
push eax
mov byte [esp + 0x2b8], 2
call fcn.00404290
add esp, 0x24
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x298], 3
call fcn.00423670
mov esi, 0x10
cmp dword [esp + 0xc0], esi
jb 0x4239c5
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0059fc2a
add esp, 4
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
mov byte [esp + 0x294], 1
cmp dword [esp + 0xe4], esi
jb 0x423a04
mov edx, dword [esp + 0xd0]
push edx
call fcn.0059fc2a
add esp, 4
sub esp, 0x18
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.0041d750
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx*4 + 0x67ad10]
mov ecx, dword [esp + 0x30]
push edx
call fcn.005485c0
fldz
fst dword [esp + 0x94]
sub esp, 0xc
fst dword [esp + 0x98]
lea eax, [esp + 0x74]
fst dword [esp + 0x94]
fst dword [esp + 0x90]
fst dword [esp + 0x8c]
fst dword [esp + 0x84]
fst dword [esp + 0x80]
fst dword [esp + 0x7c]
fstp dword [esp + 0x78]
fld1
fst dword [esp + 0xb0]
fst dword [esp + 0x9c]
fst dword [esp + 0x88]
fstp dword [esp + 0x74]
fld dword [esp + 0x2c]
fst dword [esp + 0xa4]
fld dword [esp + 0x30]
fst dword [esp + 0xa8]
fld dword [esp + 0x34]
fst dword [esp + 0xac]
fstp dword [esp + 8]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00568c3a
lea ecx, [esp + 0x68]
push ecx
lea edx, [ebx + 0xac]
push edx
mov eax, ecx
push eax
call fcn.005682dd
fldz
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
test edi, edi
jge 0x423aee
fadd dword [0x5fdf68]
lea ecx, [esp + 0xf4]
fstp dword [esp]
push ecx
call fcn.00568c3a
fld dword [esp + 0x118]
lea edx, [esp + 0x68]
fchs
push edx
fstp dword [esp + 0x11c]
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x130]
push ecx
call fcn.005682dd
lea edx, [esp + 0x68]
mov ecx, esi
push edx
lea esi, [esp + 0x12c]
lea edi, [esp + 0x6c]
lea eax, [ebx + 0x6c]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, edx
push ecx
call fcn.005682dd
mov ecx, dword [esp + 0x1c]
fld dword [esp + 0x98]
lea edx, [esp + 0x44]
fstp dword [esp + 0x2c]
push edx
fld dword [esp + 0xa0]
mov edx, dword [ecx*4 + 0x67ad10]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x34]
fld dword [esp + 0xa4]
lea eax, [esp + 0x30]
push eax
fstp dword [esp + 0x3c]
push edx
call fcn.00548180
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
cmp ecx, eax
jbe 0x423ba5
call fcn.005a01dd
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov edi, ecx
cmp ecx, eax
jbe 0x423bb4
call fcn.005a01dd
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
push eax
push esi
push edi
push ecx
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0x64]
call fcn.0041d380
add dword [esp + 0x14], 0x1e
test ebp, ebp
ja 0x423920
jmp 0x423bed
push str.ProcessDamage
call fcn.00519180
add esp, 4
lea ecx, [esp + 0x50]
call fcn.0041d700
lea ecx, [esp + 0x168]
call fcn.0045c050
jmp 0x423c2b
cmp dword [esp + 0x34], 0
mov edx, dword [0x67b110]
lea eax, [esp + 0x44]
lea ecx, [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x20]
jne 0x423c25
mov edx, dword [0x67b114]
push edx
call fcn.00548180
mov ecx, dword [esp + 0x28c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x274]
xor ecx, esp
call fcn.005a09eb
add esp, 0x284
ret