Function at 0x1001a540
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
or edx, 2
push ebx
push ebp
and ecx, 0x40000000
mov ebp, 0x1000041
push esi
cmove edx, dword [esp + 0x38]
push edi
mov edi, dword [0x10083558]
mov ecx, edx
and ecx, 0xfffffffb
mov eax, dword [edi + 0x3f94]
mov dword [esp + 0x10], eax
mov eax, edx
and al, 0x10
cmove ecx, edx
mov eax, ecx
mov ebx, ecx
and ebx, 0xfffffff7
and al, 0x20
mov eax, 0x1000001
cmove ebx, ecx
test bl, 0x70
mov dword [esp + 0x3c], ebx
cmove ebp, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
and eax, 4
or ebp, eax
or ebp, dword [esp + 0x40]
mov dword [esp + 0x14], ebp
test bl, 0xc
jne 0x1001a5bc
or ebp, 0x102
mov dword [esp + 0x14], ebp
test bl, bl
jns 0x1001a6ae
movups xmm0, xmmword [edi + 0x39c4]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 3
push eax
lea ecx, [edi + 0x49d8]
movups xmmword [esp + 0x20], xmm0
call fcn.10030c80
cmp dword [edi + 0x49d4], 3
je 0x1001a5ff
movups xmm0, xmmword [edi + 0x3a04]
movups xmmword [edi + 0x39c4], xmm0
mov esi, dword [0x10083558]
lea eax, [esp + 0x18]
movss xmm0, dword [edi + 0x38ec]
movss dword [esp + 0x40], xmm0
push eax
movss xmm0, dword [esi + 0x38d4]
lea ecx, [esi + 0x49e4]
mov dword [esp + 0x1c], 7
movss dword [esp + 0x20], xmm0
call fcn.10030e60
movss xmm0, dword [esp + 0x40]
lea eax, [esp + 0x18]
movss dword [esi + 0x38d4], xmm0
mov esi, dword [0x10083558]
movss xmm0, dword [edi + 0x38f0]
movss dword [esp + 0x40], xmm0
push eax
movss xmm0, dword [esi + 0x38d8]
lea ecx, [esi + 0x49e4]
mov dword [esp + 0x1c], 8
movss dword [esp + 0x20], xmm0
call fcn.10030e60
movss xmm0, dword [esp + 0x40]
lea eax, [edi + 0x38e4]
push eax
push 2
movss dword [esi + 0x38d8], xmm0
call fcn.10028ec0
or ebx, 3
add esp, 8
or ebp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x14], ebp
or dword [edi + 0x4968], 0x100
mov dword [edi + 0x49a0], ebx
mov ecx, dword [0x10083558]
mov edx, dword [ecx + 0x3f94]
mov esi, dword [edx + 0x198]
test esi, esi
jne 0x1001a6e1
mov eax, 0x234
cmp dword [ecx + 0x4cf8], esi
je 0x1001a6e6
mov eax, 0x204
movss xmm6, dword [edx + eax]
xorps xmm1, xmm1
movss xmm7, dword [edx + eax + 4]
mov eax, edx
subss xmm6, dword [eax + 0xf8]
subss xmm7, dword [eax + 0xfc]
test bl, 0x20
je 0x1001a70e
xorps xmm7, xmm7
test bl, 0x10
je 0x1001a716
xorps xmm6, xmm6
mov eax, dword [esp + 0x38]
xorps xmm4, xmm4
xorps xmm3, xmm3
movss xmm2, dword [eax]
comiss xmm1, xmm2
movss xmm0, dword [eax + 4]
ja 0x1001a733
comiss xmm1, xmm0
jbe 0x1001a754
test esi, esi
jne 0x1001a744
mov eax, 0x234
cmp dword [ecx + 0x4cf8], esi
je 0x1001a749
mov eax, 0x204
movss xmm4, dword [edx + eax]
movss xmm3, dword [edx + eax + 4]
movss xmm5, dword [0x1007a6a0]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1001a76a
movaps xmm2, xmm6
jmp 0x1001a783
comiss xmm1, xmm2
jbe 0x1001a783
subss xmm4, dword [edx + 0xf8]
addss xmm2, xmm4
comiss xmm5, xmm2
jb 0x1001a783
movaps xmm2, xmm5
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001a791
movaps xmm0, xmm7
jmp 0x1001a7aa
comiss xmm1, xmm0
jbe 0x1001a7aa
subss xmm3, dword [edx + 0xfc]
addss xmm0, xmm3
comiss xmm5, xmm0
jb 0x1001a7aa
movaps xmm0, xmm5
or dword [ecx + 0x4968], 2
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
movss dword [ecx + 0x4988], xmm2
movss dword [ecx + 0x498c], xmm0
mov dword [ecx + 0x4970], 1
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 4]
push ebx
test ecx, ecx
je 0x1001a7f7
push ecx
push eax
push str._s__s__08X
lea eax, [esp + 0x50]
push 0
push eax
call fcn.10020070
add esp, 0x18
jmp 0x1001a80c
push eax
push str._s__08X
lea eax, [esp + 0x4c]
push 0
push eax
call fcn.10020070
add esp, 0x14
test byte [esp + 0x3c], 1
movss xmm0, dword [edi + 0x38d8]
movss dword [esp + 0x38], xmm0
jne 0x1001a82b
mov dword [edi + 0x38d8], 0
push ebp
push 0
push dword [esp + 0x48]
call fcn.10017cc0
movss xmm0, dword [esp + 0x44]
add esp, 0xc
test byte [esp + 0x3c], 0x80
mov byte [esp + 0x40], al
movss dword [edi + 0x38d8], xmm0
je 0x1001a864
push 3
call fcn.10028a10
push 1
call fcn.100289b0
add esp, 8
mov esi, dword [edi + 0x3f94]
cmp word [esi + 0xbc], 1
mov dword [esi + 0x78], ebx
jne 0x1001a88d
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [edx + 0xf8], eax
mov dword [edx + 0xfc], ecx
mov ebp, ebx
mov al, 0x23
not ebp
mov edx, 0x10079e61
mov ebx, ebp
nop word [eax + eax]
cmp al, 0x23
jne 0x1001a8ae
cmp byte [edx], al
jne 0x1001a8ae
cmp byte [edx + 1], al
cmove ebx, ebp
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x10078f40]
test al, al
jne 0x1001a8a0
not ebx
cmp dword [edi + 0x3fe4], ebx
jne 0x1001a8dd
push 0
push 0
call fcn.1002bee0
add esp, 8
mov eax, dword [esp + 0x34]
cmp dword [edi + 0x4a68], eax
jne 0x1001a92c
test dword [esp + 0x14], 0x800000
jne 0x1001a92c
cmp word [esi + 0x154], 0
jne 0x1001a906
cmp byte [esi + 0x15a], 0
je 0x1001a92c
push 0
push esi
call fcn.1001eb80
push 0
push esi
call fcn.100234a0
push esi
push ebx
call fcn.1002bee0
mov eax, dword [edi + 0x4a94]
add esp, 0x18
mov dword [edi + 0x4008], eax
mov al, byte [esp + 0x40]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret