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

Disassembly:
push 0xd0
mov eax, 0x100b84da
call fcn.10092a5a
mov esi, dword [0x10110f1c]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x24], esi
mov eax, dword [esi + 0x3e40]
mov byte [eax + 0xac], cl
mov edi, dword [esi + 0x3e40]
mov dword [ebp - 0x18], edi
cmp byte [edi + 0xaf], 0
je 0x1004bfb4
xor al, al
jmp 0x1004c8f6
mov eax, dword [ebp + 0x14]
and eax, 0x3000000
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1000a3d3
cmp dword [ebp - 0x1c], 0
movss xmm1, dword [0x100ba4c4]
pop ecx
je 0x1004bfe2
movss xmm0, dword [ebp - 0x60]
maxss xmm0, xmm1
jmp 0x1004bfe5
xorps xmm0, xmm0
mov eax, dword [ebp + 0x18]
push ecx
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x64]
maxss xmm0, xmm1
movss dword [esp], xmm0
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x6c]
push eax
call fcn.100129de
movss xmm1, dword [ebp - 0x6c]
add esp, 0x14
cmp dword [ebp - 0x1c], 0
addss xmm1, dword [edi + 0xf0]
movss xmm0, dword [ebp - 0x68]
addss xmm0, dword [edi + 0xf4]
mov eax, dword [edi + 0xf0]
mov ecx, dword [edi + 0xf4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
je 0x1004c093
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.10012934
pop ecx
pop ecx
test al, al
je 0x1004c093
movss xmm0, dword [ebp - 0x44]
lea eax, [ebp - 0x3c]
subss xmm0, dword [ebp - 0x4c]
push ecx
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x38], xmm0
call fcn.1001254b
pop ecx
xor al, al
jmp 0x1004c8f5
push dword [ebp + 0xc]
lea ecx, [esi + 0x49f8]
call fcn.10050f54
mov edi, eax
mov ecx, 0x1e8
mov dword [ebp - 0x30], edi
mov eax, dword [edi + 4]
mov dword [ebp - 0x38], eax
mov eax, edi
sub eax, dword [esi + 0x4a00]
cdq
idiv ecx
mov ecx, dword [esi + 0x49e8]
inc ecx
mov dword [ebp - 0x34], eax
mov dword [esi + 0x49e8], ecx
cmp ecx, dword [esi + 0x49ec]
jle 0x1004c104
lea ecx, [ebp - 0xd4]
call fcn.10050dbc
and dword [ebp - 4], 0
lea ecx, [esi + 0x49ec]
push eax
push dword [esi + 0x49e8]
call fcn.100513aa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.10019cef
imul ecx, dword [esi + 0x49e8], 0x68
mov eax, dword [esi + 0x49f4]
push dword [ebp - 0x18]
add eax, 0xffffff98
push dword [ebp + 0x14]
add ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], ecx
mov dword [ecx], eax
xor ecx, ecx
mov eax, dword [edi + 0xc]
inc ecx
add eax, 0x10
mov dword [edi + 0x160], eax
and dword [eax], 0
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x14]
and eax, 0xe000
neg eax
sbb al, al
inc al
mov byte [edi + 0x1e2], al
call fcn.10051034
pop ecx
pop ecx
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x14], eax
cmp ecx, dword [esi + 0x3de0]
je 0x1004c169
xor edx, edx
jmp 0x1004c16e
movsx edx, word [edi + 0x4c]
inc edx
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [ebp + 0x1c]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov eax, dword [esi + 0x3de0]
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp - 0x28]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x150], eax
mov dword [edi + 0x14c], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x40], eax
mov byte [edi + 0x1d6], 0
movss dword [edi + 0xa0], xmm0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, esi
mov dword [ebp - 0x10], edx
mov dword [eax + 0xc], ecx
mov word [edi + 0x4c], dx
test edx, edx
jle 0x1004c206
lea ecx, [edi + 0x174]
cmp dword [ecx], edx
jge 0x1004c1e9
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
and dword [ebp - 0x50], 0
and dword [ebp - 0x54], 0
and dword [ebp - 0x58], 0
push eax
call fcn.10022a8c
push dword [ebp + 0xc]
push 0
push str.Instances
call fcn.100124cb
push eax
push dword [ebp - 0x10]
call fcn.10012512
add esp, 0x14
jmp 0x1004c209
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
movsx eax, word [edi + 0x4c]
push eax
push edi
call fcn.100209d8
cmp dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x24]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
push 0x44
mov dword [eax], ecx
pop edx
je 0x1004c397
mov ecx, dword [ebp - 0x14]
mov eax, ecx
movss xmm1, dword [0x100bdf50]
and eax, 0x3000000
movaps xmm3, xmm1
movaps xmm2, xmm1
cmp eax, 0x1000000
jne 0x1004c255
movss xmm2, dword [0x100d316c]
test ecx, 0x1000000
je 0x1004c275
movss xmm4, dword [ebp + 0x1c]
xorps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x1004c275
ucomiss xmm4, xmm1
movaps xmm3, xmm4
lahf
test dl, ah
jp 0x1004c27d
ucomiss xmm2, xmm1
lahf
test dl, ah
jnp 0x1004c2a7
ucomiss xmm2, xmm1
lahf
test dl, ah
jp 0x1004c288
xorps xmm2, xmm2
ucomiss xmm3, xmm1
lahf
test dl, ah
jp 0x1004c293
xorps xmm3, xmm3
lea eax, [ebp - 0x20]
movss dword [ebp - 0x20], xmm3
push eax
movss dword [ebp - 0x1c], xmm2
call fcn.1000a1f0
pop ecx
test dword [ebp - 0x38], 0x3000000
jne 0x1004c2c2
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
and dword [ebp - 0x1c], 0
push eax
call fcn.1000a261
pop ecx
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
shr eax, 0xd
and eax, 0x800
push eax
movss dword [ebp - 0x20], xmm0
lea eax, [ebp - 0x20]
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
push 0
push eax
push dword [ebp - 0x2c]
push dword [ebp + 8]
movss dword [ebp - 0x1c], xmm0
call fcn.10012eab
mov edx, dword [esi + 0x3e40]
add esp, 0x14
mov dword [edi + 0x150], edx
add edi, 0xdc
cmp dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x30]
lea esi, [edx + 0x1f0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm1, dword [edx + 0x14]
lea edi, [ecx + 0xbc]
movss xmm0, dword [edx + 0x18]
lea esi, [ebp - 0x5c]
movss dword [ebp - 0x5c], xmm1
addss xmm1, dword [edx + 0x1c]
movss dword [ebp - 0x58], xmm0
addss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x50], xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x1d0]
lea edi, [ecx + 0xcc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x1004c37d
mov al, byte [ecx + 0x1e3]
mov byte [ecx + 0x1e4], al
mov byte [ecx + 0x1e3], 0
movss xmm0, dword [edx + 0x84]
comiss xmm0, dword [0x100ba4b8]
seta al
or byte [ecx + 0x1e3], al
jmp 0x1004c3c1
lea eax, [edi + 0xcc]
mov ecx, dword [ebp - 0x30]
mov edi, eax
lea esi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ecx + 0xbc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ecx + 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 0xc]
call fcn.10012492
cmp dword [ebp - 0x10], 0
pop ecx
jle 0x1004c3d9
push dword [ebp - 0x2c]
call fcn.10012492
pop ecx
mov ecx, dword [ebp - 0x30]
xorps xmm1, xmm1
movss xmm4, dword [0x100ba4c4]
push 1
mov edx, dword [ecx + 0x150]
lea edi, [ecx + 0x12c]
mov dword [ebp - 0x10], edx
mov eax, dword [edx + 0x134]
lea esi, [edx + 0x210]
mov dword [ecx + 0x84], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov al, byte [edx + 0xaf]
lea esi, [edx + 0x1f0]
mov byte [ecx + 0x1e6], al
mov eax, dword [ebp - 0x28]
lea edi, [eax + 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x34]
lea esi, [edx + 0x200]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov eax, dword [edi + 0x138]
mov dword [esi + 0x5c], eax
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov eax, dword [edx + 0x118]
mov ecx, dword [edx + 0x11c]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov eax, dword [edx + 0x108]
mov ecx, dword [edx + 0x10c]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
mov eax, dword [edi + 0x1a0]
mov dword [esi + 0x60], eax
mov eax, dword [edi + 0x1a8]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
movups xmmword [edx + 0x118], xmm1
mov edx, eax
shr eax, 0xa
and al, 1
test ecx, 0x200000
movzx eax, al
pop ecx
cmovne eax, ecx
xor ecx, ecx
test edx, 0x400000
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, edx
mov ecx, eax
xor edx, edx
shr ecx, 0x17
inc edx
not cl
and cl, dl
and eax, 0x200
je 0x1004c4d9
movaps xmm5, xmm4
jmp 0x1004c4dc
xorps xmm5, xmm5
test cl, cl
je 0x1004c5ea
test eax, eax
jne 0x1004c5ea
mov edx, dword [ebp - 0x24]
movss xmm2, dword [edx + 0x37fc]
xorps xmm3, xmm3
test dword [ebp - 0x14], 0x400
movaps xmm0, xmm2
mov ecx, dword [ebp - 0x30]
addss xmm0, xmm5
movss dword [ecx + 0x9c], xmm2
movss dword [ecx + 0x98], xmm0
movss dword [ecx + 0x90], xmm3
mov eax, dword [edx + 0x3800]
mov dword [ecx + 0x94], eax
jne 0x1004c534
xorps xmm4, xmm4
cmp byte [ebp - 0x1c], 0
je 0x1004c542
movss xmm1, dword [edx + 0x37fc]
or dword [ecx + 0x48], 0xffffffff
addss xmm1, xmm4
or dword [ecx + 0x44], 0xffffffff
xor eax, eax
and dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x10]
mov word [ecx + 0x66], ax
lea eax, [ecx + 0xdc]
subss xmm1, xmm3
lea esi, [edx + 0x210]
movss dword [ecx + 0x8c], xmm1
add ecx, 0xec
cmp edx, edi
mov edi, ecx
cmove esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + 4]
maxss xmm1, dword [eax]
maxss xmm0, dword [eax + 4]
mov esi, dword [ebp - 0x30]
movss dword [ecx], xmm1
movss dword [ecx + 4], xmm0
movss xmm1, dword [ecx + 8]
movss xmm0, dword [ecx + 0xc]
minss xmm1, dword [eax + 8]
minss xmm0, dword [eax + 0xc]
lea eax, [esi + 0x12c]
push eax
movss dword [ecx + 8], xmm1
movss dword [ecx + 0xc], xmm0
call fcn.10050e7b
test dword [ebp - 0x14], 0x20000
mov eax, dword [ebp - 0x10]
je 0x1004c612
movss xmm0, dword [eax + 0x1fc]
minss xmm0, dword [esi + 0xf8]
jmp 0x1004c61a
mov edx, dword [ebp - 0x24]
xorps xmm2, xmm2
movss dword [ebp - 0x2c], xmm2
test cl, cl
je 0x1004c4f7
test eax, eax
je 0x1004c4f7
movss xmm3, dword [edx + 0x37fc]
jmp 0x1004c4fa
movss xmm0, dword [eax + 0x21c]
and dword [esi + 0x5c], 0
xor eax, eax
mov dword [esi + 0x1c6], eax
mov dword [esi + 0x1ca], eax
inc eax
push ecx
movss dword [esi + 0xf8], xmm0
movss xmm0, dword [esi + 0xe0]
mov byte [esi + 0x1e1], al
xor eax, eax
mov dword [esp], 0x3f800000
push 0x2b
movss dword [esi + 0x54], xmm0
movss dword [esi + 0x50], xmm0
mov word [esi + 0x1aa], ax
call fcn.1000ab6c
add esp, 4
mov dword [esi + 0x74], eax
mov dword [esp], 0x3f800000
push 0x2c
call fcn.1000ab6c
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
mov dword [esi + 0x78], eax
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x49e4], esi
mov dword [eax + 0x194], edx
cmp ecx, eax
je 0x1004c6a0
mov dword [ecx + 0x194], edx
test byte [ebp - 0x38], 2
je 0x1004c6b5
test byte [ebp - 0x14], 2
jne 0x1004c6b5
xor eax, eax
inc eax
mov byte [esi + 0x1e0], al
lea ecx, [edi + 0x4a18]
cmp edx, dword [ecx]
jl 0x1004c6d6
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0xbf800000
push eax
lea eax, [edx + 1]
push eax
call fcn.1004246e
mov edx, dword [ebp - 0x34]
movsd xmm0, qword [edi + 0x3dd8]
mov eax, dword [edi + 0x4a20]
cvtpd2ps xmm0, xmm0
push 0x70
pop ecx
movss dword [eax + edx*4], xmm0
movsd xmm0, qword [edi + 0x3dd8]
mov eax, dword [ebp - 0x28]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
xor eax, eax
mov byte [esi + 0x1e5], al
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
cdq
idiv ecx
mov ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1004c73b
cmp ecx, eax
je 0x1004c73b
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi + 8]
and dword [esi + 8], 0
mov dword [ebp - 0x1c], ecx
cmp dword [esi + 8], 0
jne 0x1004c759
push eax
push esi
call fcn.1004c8fc
xor eax, eax
inc eax
pop ecx
pop ecx
mov byte [esi + 0x1dc], al
mov byte [esi + 0x1d8], al
cmp byte [esi + 0x1df], 0
je 0x1004c769
push esi
call fcn.1004fdc6
pop ecx
cmp byte [esi + 0x1d8], 0
je 0x1004c858
or ecx, 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0x38], ecx
mov byte [esi + 0x1d9], al
xor eax, eax
mov word [esi + 0x4e], cx
mov word [esi + 0x1c4], cx
mov word [esi + 0x1b4], cx
mov word [esi + 0x1b2], cx
mov word [esi + 0x1b8], cx
mov word [esi + 0x1b0], cx
mov word [esi + 0x1ae], cx
mov word [esi + 0x1ac], cx
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x10], eax
jle 0x1004c858
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x28], edx
test esi, esi
je 0x1004c7ec
cmp eax, dword [ebp - 0x2c]
jge 0x1004c7ec
add esi, ecx
mov edi, edx
push 0x1c
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x1004c829
movss xmm0, dword [edx + 0x14]
lea ecx, [ebp - 0xdc]
movss dword [ebp - 0x14], xmm0
call fcn.10050d3c
mov edx, dword [ebp - 0x28]
mov esi, eax
movss xmm0, dword [ebp - 0x14]
xor eax, eax
inc eax
mov edi, edx
push 0x1c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [edx + 0x69], al
mov byte [edx + 0x64], al
mov byte [edx + 0x63], al
mov byte [edx + 0x62], al
mov eax, dword [ebp - 0x18]
movss dword [edx + 0x14], xmm0
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x18]
movzx ecx, ax
mov eax, dword [esi + 0x18]
mov word [eax + edi*2], cx
mov eax, edi
mov word [edx + 0x52], cx
inc eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x70
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], ecx
cmp eax, dword [ebp + 0x10]
jl 0x1004c7cd
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004c866
push eax
call fcn.1000d8db
pop ecx
cmp byte [esi + 0x1dc], 0
je 0x1004c876
push esi
call fcn.1004fa5c
pop ecx
movss xmm0, dword [esi + 0xb8]
ucomiss xmm0, dword [0x100ba4b8]
movss xmm2, dword [edi + 0x3bd0]
lahf
test ah, 0x44
jnp 0x1004c8c6
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1004c8c6
mov ecx, dword [ebp + 0x10]
movaps xmm1, xmm2
divss xmm1, xmm0
test ecx, ecx
jle 0x1004c8c6
xor edx, edx
mov eax, dword [esi + 0x10]
movaps xmm0, xmm1
lea edx, [edx + 0x70]
mulss xmm0, dword [eax + edx - 0x60]
movss dword [eax + edx - 0x60], xmm0
sub ecx, 1
jne 0x1004c8ac
mov eax, dword [ebp - 0x10]
xor ecx, ecx
inc ecx
movss dword [esi + 0xb8], xmm2
mov byte [eax + 0xaf], cl
lea ecx, [esi + 0x154]
cmp dword [ecx], 0
jle 0x1004c8ec
push 0
call fcn.10022f49
push esi
call fcn.1004c9ea
xor eax, eax
inc eax
pop ecx
call fcn.10092a37
ret