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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
test edi, edi
je 0x100a5772
test dword [edi + 0x10], 0x78000000
mov ebx, 0
cmove ebx, edi
jmp 0x100a5774
xor ebx, ebx
mov edx, dword [ebp + 8]
mov eax, 0
test dword [edx + 0x10], 0x78000000
cmove eax, edx
mov dword [ebp - 0x14], eax
xor al, al
mov byte [ebp - 2], al
mov byte [ebp - 1], al
mov byte [ebp - 3], al
test edi, edi
je 0x100a57a6
mov eax, dword [edi + 0x80]
shr eax, 8
and eax, 3
jmp 0x100a57a8
xor eax, eax
mov ecx, dword [edx + 0x80]
movss xmm0, dword [esi + 0xe4]
movss xmm1, dword [0x1122d240]
shr ecx, 8
and ecx, 3
mov dword [ebp - 8], eax
ucomiss xmm0, xmm1
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
lahf
test ah, 0x44
jp 0x100a57eb
movss xmm0, dword [esi + 0xe8]
ucomiss xmm0, xmm1
mov byte [ebp - 4], 1
lahf
test ah, 0x44
jnp 0x100a57ef
mov byte [ebp - 4], 0
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x1c]
test ebx, ebx
jne 0x100a5800
test edi, edi
je 0x100a582e
push eax
lea eax, [ebp - 1]
push eax
push ecx
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0xc]
push edx
mov edx, edi
call fcn.100a53a0
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov byte [ebp - 2], al
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 8], ecx
jmp 0x100a5831
mov ecx, dword [ebp - 8]
push eax
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 0x10]
push eax
push ecx
push dword [ebp + 0x10]
mov ecx, esi
call fcn.100a55b0
test ebx, ebx
je 0x100a5967
cmp byte [ebp + 0x14], 0
je 0x100a586c
cmp byte [ebx + 0x1ad], 0
jge 0x100a5864
mov eax, dword [ebx + 0x214]
jmp 0x100a5872
mov eax, dword [ebx + 0x210]
jmp 0x100a5872
mov eax, dword [ebx + 0x20c]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
je 0x100a5895
test byte [eax + 0xb8], 0x20
je 0x100a5895
mov al, 0x10
jmp 0x100a5897
xor al, al
mov cl, byte [esi + 0x138]
and cl, 0xef
or cl, al
mov byte [esi + 0x138], cl
mov edx, dword [ebx + 0x20c]
mov byte [ebp + 0x17], cl
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a58d7
cmp ecx, 0x32495441
je 0x100a58d7
cmp ecx, 0x31495441
je 0x100a58d7
mov eax, dword [edx + 0xc]
jmp 0x100a58e0
mov eax, dword [edx + 0xc]
add eax, 3
shr eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [ebx + 0x20c]
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a590f
cmp ecx, 0x32495441
je 0x100a590f
cmp ecx, 0x31495441
je 0x100a590f
mov eax, dword [edx + 0x10]
jmp 0x100a5918
mov eax, dword [edx + 0x10]
add eax, 3
shr eax, 2
test byte [ebp + 0x17], 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1c], eax
je 0x100a5acb
cmp byte [ebx + 0x1ad], 0
jge 0x100a5942
mov eax, dword [ebx + 0x214]
jmp 0x100a5948
mov eax, dword [ebx + 0x210]
movups xmm0, xmmword [eax + 0x24]
movups xmmword [esi + 0x30], xmm0
movups xmm0, xmmword [eax + 0x34]
movups xmmword [esi + 0x40], xmm0
movq xmm0, qword [eax + 0x44]
movq qword [esi + 0x50], xmm0
jmp 0x100a5acb
test edi, edi
je 0x100a5acb
cmp byte [ebp + 0x20], 0
je 0x100a597f
mov ebx, dword [edi + 0x22c]
test ebx, ebx
jne 0x100a5985
mov ebx, dword [edi + 0x20c]
mov dword [esi + 4], ebx
mov eax, dword [edi + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a599d
test eax, eax
je 0x100a599d
xor cl, cl
jmp 0x100a599f
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, edi
mov edx, dword [eax + 0x20c]
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a59d2
cmp ecx, 0x32495441
je 0x100a59d2
cmp ecx, 0x31495441
je 0x100a59d2
mov eax, dword [edx + 0xc]
jmp 0x100a59db
mov eax, dword [edx + 0xc]
add eax, 3
shr eax, 2
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a59f3
test eax, eax
je 0x100a59f3
xor cl, cl
jmp 0x100a59f5
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, edi
mov edx, dword [eax + 0x20c]
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a5a28
cmp ecx, 0x32495441
je 0x100a5a28
cmp ecx, 0x31495441
je 0x100a5a28
mov eax, dword [edx + 0x10]
jmp 0x100a5a31
mov eax, dword [edx + 0x10]
add eax, 3
shr eax, 2
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a5a49
test eax, eax
je 0x100a5a49
xor cl, cl
jmp 0x100a5a4b
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, edi
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1c], eax
test byte [edi + 0x1ac], 0x10
jne 0x100a5acb
mov eax, dword [edi + 0x20c]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
je 0x100a5a87
test byte [eax + 0xb8], 0x20
je 0x100a5a87
mov cl, 0x10
jmp 0x100a5a89
xor cl, cl
mov al, byte [esi + 0x138]
and al, 0xef
or al, cl
mov byte [esi + 0x138], al
test al, 0x10
je 0x100a5acb
movups xmm0, xmmword [ebx + 0x24]
mov eax, 1
movups xmmword [esi + 0x30], xmm0
movups xmm0, xmmword [ebx + 0x34]
movups xmmword [esi + 0x40], xmm0
movq xmm0, qword [ebx + 0x44]
movq qword [esi + 0x50], xmm0
mov ecx, dword [esi + 0x30]
shl eax, cl
imul eax, dword [esi + 0x3c]
shl eax, 6
mov dword [esi + 0x20], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword fs:[0x2c]
mov dword [esi], edi
mov dword [ebp + 0x14], eax
test ebx, ebx
je 0x100a5c7a
test byte [ebx + 0x95], 0x10
je 0x100a5b3f
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
call eax
test al, al
je 0x100a5b3f
cmp byte [ebx + 0x1ad], 0
jge 0x100a5b08
mov eax, dword [ebx + 0x214]
jmp 0x100a5b0e
mov eax, dword [ebx + 0x210]
mov eax, dword [eax + 0x18c]
cmp dword [eax + 0xb2], 1
je 0x100a5b3f
mov eax, dword [0x11d0c5b8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x10]
test byte [eax + 0x140], 0x10
jne 0x100a5b3f
mov eax, dword [ebx + 0x218]
jmp 0x100a5b45
mov eax, dword [ebx + 0x20c]
mov dword [esi + 0x5c], eax
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
je 0x100a5b68
test byte [eax + 0xb8], 0x20
je 0x100a5b68
mov al, 0x20
jmp 0x100a5b6a
xor al, al
mov cl, byte [esi + 0x138]
and cl, 0xdf
or cl, al
mov byte [esi + 0x138], cl
mov eax, dword [ebx + 0x20c]
mov edx, dword [eax + 0x54]
mov eax, edx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a5bad
cmp edx, 0x32495441
je 0x100a5bad
cmp edx, 0x31495441
je 0x100a5bad
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0xc]
jmp 0x100a5bbc
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0xc]
add eax, 3
shr eax, 2
mov dword [esi + 0x6c], eax
mov eax, dword [ebx + 0x20c]
mov edx, dword [eax + 0x54]
mov eax, edx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a5bf1
cmp edx, 0x32495441
je 0x100a5bf1
cmp edx, 0x31495441
je 0x100a5bf1
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x10]
jmp 0x100a5c00
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x10]
add eax, 3
shr eax, 2
mov dword [esi + 0x70], eax
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x74], eax
test cl, 0x20
je 0x100a5c3d
mov eax, dword [ebx + 0x20c]
movups xmm0, xmmword [eax + 0x24]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [eax + 0x34]
movups xmmword [esi + 0x98], xmm0
movq xmm0, qword [eax + 0x44]
movq qword [esi + 0xa8], xmm0
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov dword [esi + 0x58], ebx
cmp ecx, edx
je 0x100a5e4e
mov eax, ecx
sub eax, 1
je 0x100a5df8
sub eax, 1
je 0x100a5de8
sub eax, 1
jne 0x100a5e0f
or byte [esi + 0x138], 0x40
jmp 0x100a5e0f
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x20c]
mov dword [esi + 0x5c], eax
mov eax, dword [ebx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a5c9b
test eax, eax
je 0x100a5c9b
xor cl, cl
jmp 0x100a5c9d
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, ebx
mov edx, dword [eax + 0x20c]
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a5cd0
cmp ecx, 0x32495441
je 0x100a5cd0
cmp ecx, 0x31495441
je 0x100a5cd0
mov eax, dword [edx + 0xc]
jmp 0x100a5cd9
mov eax, dword [edx + 0xc]
add eax, 3
shr eax, 2
mov dword [esi + 0x6c], eax
mov eax, dword [ebx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a5cf1
test eax, eax
je 0x100a5cf1
xor cl, cl
jmp 0x100a5cf3
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, ebx
mov edx, dword [eax + 0x20c]
mov ecx, dword [edx + 0x54]
mov eax, ecx
and eax, 0xf8ffffff
cmp eax, 0x30545844
je 0x100a5d26
cmp ecx, 0x32495441
je 0x100a5d26
cmp ecx, 0x31495441
je 0x100a5d26
mov eax, dword [edx + 0x10]
jmp 0x100a5d2f
mov eax, dword [edx + 0x10]
add eax, 3
shr eax, 2
mov dword [esi + 0x70], eax
mov eax, dword [ebx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x100a5d47
test eax, eax
je 0x100a5d47
xor cl, cl
jmp 0x100a5d49
mov cl, 1
xor eax, eax
test cl, cl
cmovne eax, ebx
mov eax, dword [eax + 0x20c]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x74], eax
test byte [ebx + 0x1ac], 0x10
jne 0x100a5c40
mov eax, dword [ebx + 0x20c]
mov eax, dword [eax + 0x18c]
mov eax, dword [eax + 8]
test eax, eax
je 0x100a5d89
test byte [eax + 0xb8], 0x20
je 0x100a5d89
mov cl, 0x20
jmp 0x100a5d8b
xor cl, cl
mov al, byte [esi + 0x138]
and al, 0xdf
or al, cl
mov byte [esi + 0x138], al
test al, 0x20
je 0x100a5c40
mov eax, dword [esi + 0x5c]
movups xmm0, xmmword [eax + 0x24]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [eax + 0x34]
movups xmmword [esi + 0x98], xmm0
movq xmm0, qword [eax + 0x44]
mov eax, 1
movq qword [esi + 0xa8], xmm0
mov ecx, dword [esi + 0x88]
shl eax, cl
imul eax, dword [esi + 0x94]
shl eax, 6
mov dword [esi + 0x78], eax
jmp 0x100a5c40
or byte [esi + 0x139], 1
or byte [esi + 0x138], 0x80
jmp 0x100a5e0f
mov al, byte [esi + 0x138]
or byte [esi + 0x139], 1
or al, 0x40
or al, 0x80
mov byte [esi + 0x138], al
sub edx, 1
je 0x100a5e47
sub edx, 1
je 0x100a5e37
sub edx, 1
jne 0x100a5e4e
mov al, byte [esi + 0x138]
or byte [esi + 0x139], 1
or al, 0x40
or al, 0x80
mov byte [esi + 0x138], al
jmp 0x100a5e4e
or byte [esi + 0x139], 1
or byte [esi + 0x138], 0x80
jmp 0x100a5e4e
or byte [esi + 0x138], 0x40
test cl, 1
je 0x100a5e6f
movss xmm0, dword [esi + 0xe4]
mov eax, dword [esi + 0xe8]
mov dword [esi + 0xe4], eax
movss dword [esi + 0xe8], xmm0
test edi, edi
je 0x100a5f98
test byte [esi + 0x138], 0x40
mov eax, dword [edi + 0x20c]
je 0x100a5efc
test eax, eax
je 0x100a5e90
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5e92
xor ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cddc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1122e340]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esi + 0xe4]
movss dword [esi + 0xe4], xmm0
mov eax, dword [edi + 0x20c]
test eax, eax
je 0x100a5ee1
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5ee3
xor ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cdd8]
jmp 0x100a5f70
test eax, eax
je 0x100a5f06
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5f08
xor ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cdd8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1122e340]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esi + 0xe4]
movss dword [esi + 0xe4], xmm0
mov eax, dword [edi + 0x20c]
test eax, eax
je 0x100a5f57
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5f59
xor ecx, ecx
lea eax, [ecx*8]
sub eax, ecx
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cddc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1122e340]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esi + 0xe8]
movss dword [esi + 0xe8], xmm0
mov eax, dword [ebx + 0x20c]
test eax, eax
je 0x100a5fa8
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5faa
xor ecx, ecx
lea eax, [ecx*8]
movss xmm1, dword [esi + 0xe4]
sub eax, ecx
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cdd8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1122e340]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esi + 0xe4], xmm1
mov eax, dword [ebx + 0x20c]
test eax, eax
je 0x100a5ffd
movzx ecx, byte [eax + 0x5c]
jmp 0x100a5fff
xor ecx, ecx
lea eax, [ecx*8]
movss xmm1, dword [esi + 0xe8]
sub eax, ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax*8 + 0x10f2ce48]
mov eax, dword [eax*8 + 0x10f2cddc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1122e340]
mov eax, dword [0x11d0c5b8]
cvtpd2ps xmm0, xmm0
mov ebx, dword [ecx + eax*4]
divss xmm1, xmm0
movss dword [esi + 0xe8], xmm1
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x7da0], 0
je 0x100a60ba
mov eax, dword [ebp + 8]
test byte [eax + 0xef], 1
je 0x100a60ba
test edi, edi
je 0x100a60ba
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x100a6093
mov ecx, dword [ecx + 0x1700]
test ecx, ecx
je 0x100a6093
mov eax, dword [ecx]
push edi
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x100a6093
mov dword [esi + 0xbc], 7
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x100a60ba
mov ecx, dword [ecx + 0x1704]
test ecx, ecx
je 0x100a60ba
mov eax, dword [ecx]
push edi
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x100a60ba
mov dword [esi + 0xbc], 8
cmp byte [ebp - 2], 0
je 0x100a616f
cmp byte [ebp - 3], 0
jne 0x100a616f
cmp byte [ebp + 0x18], 0
je 0x100a616f
cmp byte [edi + 0x80], 0
je 0x100a616f
cmp byte [ebp - 4], 0
je 0x100a616f
mov ecx, dword [esi + 0x64]
call fcn.10020ae0
test al, al
jne 0x100a6165
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x7da0]
test eax, eax
je 0x100a612c
mov eax, dword [eax + 0xf7c]
cmp dword [eax + 0x1838], 0x9316
jne 0x100a612c
cmp dword [esi + 0xc], 0x2b
jne 0x100a612c
cmp dword [esi + 0xbc], 0
je 0x100a6165
mov eax, dword [edi + 8]
test byte [eax + 0xb60], 3
je 0x100a6159
call fcn.100a2690
test al, al
je 0x100a6159
mov ecx, dword [esi + 0xc]
call fcn.100a2690
test al, al
je 0x100a6159
mov dword [esi + 0xbc], 3
jmp 0x100a616f
mov dword [esi + 0xbc], 2
jmp 0x100a616f
mov dword [esi + 0xbc], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20c]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov eax, dword [ecx + 0x20c]
mov eax, dword [eax + 8]
mov dword [esi + 0x7c], eax
test edi, edi
je 0x100a61af
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x218]
je 0x100a619e
mov eax, dword [edi + 0x20c]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x20c]
mov eax, dword [eax + 8]
mov dword [esi + 0x24], eax
cmp dword [ecx + 8], 0
je 0x100a61db
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x162c]
shr eax, 7
test al, 1
je 0x100a61d0
mov eax, dword [ecx + 0xf940]
jmp 0x100a61d2
xor eax, eax
mov ecx, dword [ebp + 8]
mov dword [esi + 0x114], eax
test edi, edi
je 0x100a61f6
test byte [edi + 0x91], 0x40
je 0x100a61f6
mov dword [esi + 0xc], 0x17
mov dword [esi + 8], 4
test byte [ecx + 0x91], 0x40
je 0x100a620d
mov dword [esi + 0x64], 0x17
mov dword [esi + 0x60], 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c