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

Disassembly:
sub esp, 0x30
mov eax, dword [0x543fcc]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x18], edi
je 0x43a3db
cmp edi, eax
jne 0x43a351
mov byte [esp + 0x54], 0
mov dword [ecx], ebp
call fcn.0040d020
mov cl, byte [eax + 0x121]
test cl, cl
je 0x43a37c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x60]
test eax, eax
je 0x43a37c
mov ecx, dword [edi + 0x30]
push ecx
mov ecx, dword [0x6b5818]
call fcn.004bf670
jmp 0x43a3b0
fld dword [esp + 0x68]
call fcn.004f078c
fld dword [esp + 0x64]
push eax
call fcn.004f078c
fld dword [esp + 0x64]
push eax
call fcn.004f078c
xor edx, edx
mov dx, word [edi + 0x264]
push eax
push edx
call fcn.0044d1f0
mov ecx, eax
call fcn.00449520
cmp eax, ebp
mov dword [esp + 0x1c], eax
jne 0x43a3f0
push 0x513dcc
push 0x12a
push str.D:ProjectBranch1700ServerRylServerProjectRylGameLibraryCreatureAggresiveCreature.cpp
push str.CAggresiveCreature::MultiAttack
push 5
push 0x5637d0
call fcn.0040e630
add esp, 0x18
xor al, al
mov ecx, dword [esp + 0x3c]
call fcn.004eee51
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x38
xor eax, eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov dword [esp + 0x32], eax
mov dword [esp + 0x36], eax
mov word [esp + 0x28], bp
mov word [esp + 0x3a], ax
mov dword [esp + 0x20], eax
cmp byte [esp + 0x54], 0xa
jae 0x43a5e5
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0042d660
cmp eax, ebp
mov dword [esp + 0x24], eax
je 0x43a5d3
mov ecx, eax
call fcn.0042d970
mov esi, eax
cmp esi, ebp
je 0x43a5d3
cmp byte [esp + 0x54], 0xa
jae 0x43a5d3
mov eax, dword [esi + 0x30]
xor bl, bl
call fcn.004b38b0
test eax, eax
jne 0x43a465
cmp dword [esi + 0x938], ebp
je 0x43a465
mov bl, 1
mov edx, dword [edi]
push ebp
push esi
mov ecx, edi
call dword [edx + 0xc]
cmp eax, 1
je 0x43a493
cmp eax, 3
je 0x43a493
mov cl, byte [esp + 0x78]
cmp cl, 2
jne 0x43a487
cmp eax, ebp
je 0x43a497
jmp 0x43a49e
cmp cl, 3
jne 0x43a499
cmp eax, 2
jne 0x43a4c6
jmp 0x43a497
mov cl, byte [esp + 0x78]
mov bl, 1
cmp cl, 2
jne 0x43a4c6
mov eax, dword [esi + 0x30]
call fcn.004b38b0
cmp eax, 5
je 0x43a4c4
cmp eax, 4
jne 0x43a4c6
mov eax, dword [esi + 0x3cc]
cmp eax, 0x40a
jb 0x43a4c6
cmp eax, 0x427
ja 0x43a4c6
mov bl, 1
push 0x1e
lea ecx, [esi + 0x20]
call fcn.00494a80
cmp al, 1
jne 0x43a4d6
mov bl, al
movzx edi, byte [esp + 0x54]
xor eax, eax
cmp edi, ebp
jle 0x43a4f3
mov ecx, dword [esp + 0x58]
cmp dword [ecx + eax*4], esi
je 0x43a5bc
inc eax
cmp eax, edi
jl 0x43a4e1
test bl, bl
jne 0x43a5bc
fld dword [esi + 4]
fsub dword [esp + 0x60]
fstp dword [esp + 0x14]
fld dword [esi + 0xc]
fsub dword [esp + 0x68]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x70]
fmul dword [esp + 0x70]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x43a5bc
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x64]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00439820
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 1
jne 0x43a57a
fld dword [esp + 0x10]
fsub dword [esp + 0x6c]
jmp 0x43a582
fld dword [esp + 0x6c]
fsub dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [esp + 0x74]
fnstsw ax
test ah, 0x41
jp 0x43a5bc
cmp word [esi + 0xa4], bp
jbe 0x43a5bc
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [eax + edi*4], esi
mov al, byte [esp + 0x54]
inc al
mov byte [edi + ecx], 0
mov word [esp + edi*2 + 0x28], bp
mov byte [esp + 0x54], al
mov ecx, dword [esp + 0x24]
call fcn.0042d9c0
mov edi, dword [esp + 0x18]
mov esi, eax
cmp esi, ebp
jne 0x43a442
mov eax, dword [esp + 0x20]
inc eax
cmp eax, 9
mov dword [esp + 0x20], eax
jl 0x43a410
cmp byte [esp + 0x54], 0xa
jbe 0x43a60f
push 0x513d7c
push 0x191
push str.D:ProjectBranch1700ServerRylServerProjectRylGameLibraryCreatureAggresiveCreature.cpp
push str.CAggresiveCreature::MultiAttack
push 4
push 0x5637d0
call fcn.0040e630
add esp, 0x18
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x5c]
push eax
push ecx
mov ecx, dword [esp + 0x54]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0xc], ecx
mov ecx, edi
call dword [edx + 0x2c]
mov ecx, dword [esp + 0x3c]
call fcn.004eee51
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x38