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

Disassembly:
sub esp, 0x54
mov eax, dword [0x10030040]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [0x10030628]
xor ecx, ecx
xor eax, eax
inc ecx
test byte [edi + 8], 2
mov byte [edi + 0x97], al
je 0x1000ea55
mov bl, cl
test byte [edi + 0xc], cl
jne 0x1000ea57
mov bl, al
movaps xmm0, xmmword [0x1002de70]
mov byte [esp + 0x12], bl
movups xmmword [esp + 0x3c], xmm0
movaps xmm0, xmmword [0x1002de80]
movups xmmword [esp + 0x4c], xmm0
test bl, bl
je 0x1000eaa0
lea esi, [esp + 0x3c]
mov ecx, dword [esi]
xor edx, edx
call fcn.1000b356
test al, al
je 0x1000ea92
mov dword [edi + 0x47dc], 3
add esi, 4
lea eax, [esp + 0x5c]
cmp esi, eax
jne 0x1000ea7b
xor ecx, ecx
inc ecx
mov bh, byte [edi + 8]
movaps xmm0, xmmword [0x1002de60]
and bh, cl
mov byte [esp + 0x13], bh
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x201
mov dword [esp + 0x34], 0x203
mov dword [esp + 0x38], 0x204
je 0x1000eaf5
lea esi, [esp + 0x20]
mov ecx, dword [esi]
xor edx, edx
call fcn.1000b356
test al, al
je 0x1000eaea
mov dword [edi + 0x47dc], 2
add esi, 4
lea eax, [esp + 0x3c]
cmp esi, eax
jne 0x1000ead3
xor edx, edx
cmp dword [edi + 0x47ec], edx
je 0x1000eb06
call fcn.1000f0b3
xor edx, edx
cmp byte [edi + 0x4800], 0
mov word [edi + 0x47e9], 0
mov dword [edi + 0x47ec], edx
mov dword [edi + 0x47c8], edx
je 0x1000eb2b
call fcn.1000f7f1
xor edx, edx
cmp byte [edi + 0x47e5], 0
mov al, dl
mov dword [edi + 0x4844], edx
mov word [edi + 0x4800], 0
mov dword [esp + 0x14], eax
je 0x1000eb77
cmp byte [edi + 0x47e4], 0
je 0x1000eb77
cmp byte [edi + 0x47e6], 0
jne 0x1000eb77
cmp byte [edi + 0x47e7], 0
je 0x1000eb77
cmp dword [edi + 0x47a8], edx
push 1
movzx eax, al
pop ecx
cmovne eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [edi + 0x47a8]
mov byte [edi + 0x47e5], dl
test ecx, ecx
je 0x1000ebb2
mov eax, ecx
cmp dword [eax + 0x308], eax
je 0x1000eba8
test dword [eax + 8], 0x14000000
jne 0x1000eba4
mov eax, dword [eax + 0x300]
test eax, eax
jne 0x1000eb89
test eax, eax
je 0x1000ebb2
cmp eax, ecx
je 0x1000ebb2
mov dword [eax + 0x318], ecx
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1000ebd2
cmp dword [eax + 0x318], edx
je 0x1000ebd2
cmp dword [edi + 0x47e0], edx
jne 0x1000ebd2
mov dword [eax + 0x318], edx
call fcn.100101a9
test bh, bh
jne 0x1000ebdf
test bl, bl
je 0x1000ebfb
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1000ebfb
test dword [eax + 8], 0x40000
jne 0x1000ebfb
xor edx, edx
inc edx
xor ecx, ecx
mov al, dl
jmp 0x1000ec02
xor ecx, ecx
xor edx, edx
mov al, cl
inc edx
mov byte [edi + 0x99], al
test al, al
je 0x1000ec1d
cmp dword [edi + 0x47ac], ecx
je 0x1000ec1d
cmp byte [edi + 0x47e6], 0
je 0x1000ec27
mov al, cl
cmp dword [edi + 0x4900], ecx
je 0x1000ec29
mov al, dl
mov byte [edi + 0x9a], al
call fcn.1000fa9d
xor edx, edx
mov dword [edi + 0x47c0], edx
mov dword [edi + 0x47bc], edx
mov dword [edi + 0x47b8], edx
mov dword [edi + 0x47b4], edx
mov dword [edi + 0x47c4], edx
cmp dword [edi + 0x47ac], edx
je 0x1000edf2
cmp byte [edi + 0x47e6], dl
jne 0x1000edf2
cmp dword [edi + 0x4900], edx
jne 0x1000edf2
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1000edf2
test dword [eax + 8], 0x40000
jne 0x1000edf2
mov ebp, 0x26e
lea esi, [ebp - 0x62]
test bh, bh
je 0x1000ecaa
mov ecx, esi
call fcn.1000b356
test al, al
jne 0x1000ecbb
test bl, bl
je 0x1000ecf2
xor edx, edx
mov ecx, ebp
call fcn.1000b356
test al, al
je 0x1000ecf2
xor eax, eax
inc eax
cmp byte [esp + 0x13], 0
mov bh, al
je 0x1000ecd7
push 0
xor edx, edx
mov ecx, esi
call fcn.1000b37b
pop ecx
test al, al
jne 0x1000eceb
test bl, bl
je 0x1000ecf4
push 0
xor edx, edx
mov ecx, ebp
call fcn.1000b37b
pop ecx
test al, al
je 0x1000ecf4
xor eax, eax
inc eax
mov bl, al
jmp 0x1000ecf6
xor bh, bh
xor bl, bl
cmp byte [esp + 0x13], 0
mov ebp, 0x26d
lea esi, [ebp - 0x60]
je 0x1000ed12
xor edx, edx
mov ecx, esi
call fcn.1000b356
test al, al
jne 0x1000ed2d
cmp byte [esp + 0x12], 0
je 0x1000ed5b
xor edx, edx
mov ecx, ebp
call fcn.1000b356
test al, al
je 0x1000ed5b
cmp byte [esp + 0x13], 0
je 0x1000ed3d
push 0
xor edx, edx
mov ecx, esi
call fcn.1000b37b
pop ecx
test al, al
jne 0x1000ed54
cmp byte [esp + 0x12], 0
je 0x1000ed5b
push 0
xor edx, edx
mov ecx, ebp
call fcn.1000b37b
pop ecx
test al, al
je 0x1000ed5b
xor eax, eax
lea edx, [eax + 1]
jmp 0x1000ed5d
xor dl, dl
mov ecx, dword [edi + 0x3e74]
test ecx, ecx
jne 0x1000ed83
test bl, bl
je 0x1000ed8b
mov eax, dword [edi + 0x47ac]
mov dword [edi + 0x47b4], eax
mov dword [edi + 0x47c4], 2
jmp 0x1000ed8b
cmp ecx, dword [edi + 0x47ac]
jne 0x1000ede8
test dl, dl
je 0x1000eda4
mov eax, dword [edi + 0x47ac]
mov dword [edi + 0x47c0], eax
xor eax, eax
inc eax
mov dword [edi + 0x47c4], eax
test ecx, ecx
je 0x1000edb0
cmp ecx, dword [edi + 0x47ac]
jne 0x1000ede8
test bh, bh
je 0x1000edc0
mov eax, dword [edi + 0x47ac]
mov dword [edi + 0x47b8], eax
test ecx, ecx
je 0x1000edcc
cmp ecx, dword [edi + 0x47ac]
jne 0x1000ede8
mov bh, byte [esp + 0x13]
xor edx, edx
test bl, bl
mov bl, byte [esp + 0x12]
je 0x1000edf2
mov eax, dword [edi + 0x47ac]
mov dword [edi + 0x47bc], eax
jmp 0x1000edf2
mov bl, byte [esp + 0x12]
xor edx, edx
mov bh, byte [esp + 0x13]
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1000ee0e
test dword [eax + 8], 0x40000
je 0x1000ee0e
xor eax, eax
inc eax
mov byte [edi + 0x47e6], al
mov eax, dword [edi + 0x47d4]
test eax, eax
je 0x1000ee43
mov ecx, dword [edi + 0x47d8]
test cl, 1
je 0x1000ee2b
mov dword [edi + 0x47c0], eax
jmp 0x1000ee3d
mov dword [edi + 0x47bc], eax
mov dword [edi + 0x47b8], eax
mov dword [edi + 0x47b4], eax
mov dword [edi + 0x47c4], ecx
mov dword [edi + 0x47d4], edx
call fcn.1000f131
cmp dword [edi + 0x4810], 0xffffffff
jne 0x1000ee5c
call fcn.1000f754
call fcn.1000e747
mov esi, dword [edi + 0x47a8]
xor edx, edx
mov byte [edi + 0x47e4], dl
test esi, esi
je 0x1000f039
test dword [esi + 8], 0x40000
jne 0x1000f039
cmp dword [edi + 0x4900], edx
jne 0x1000f039
mov ecx, esi
call fcn.1000201b
xorps xmm4, xmm4
mulss xmm0, dword [0x1002ddc4]
mov ecx, dword [edi + 0x4810]
movss xmm2, dword [0x1002dd58]
mulss xmm0, dword [edi + 0x18]
addss xmm0, dword [0x1002dd20]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp word [esi + 0x148], dx
jne 0x1000ef5a
cmp byte [esi + 0x14d], dl
je 0x1000ef5a
cmp ecx, 0xffffffff
je 0x1000ef5a
movss xmm1, dword [0x1002de0c]
test ecx, ecx
je 0x1000eefa
xor eax, eax
inc eax
cmp ecx, eax
jne 0x1000ef25
movaps xmm0, xmm2
jmp 0x1000eefd
movaps xmm0, xmm1
mulss xmm0, xmm3
and dword [esi + 0x8c], edx
and dword [esi + 0x94], edx
addss xmm0, dword [esi + 0x74]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x84], xmm0
cmp ecx, 2
je 0x1000ef32
cmp ecx, 3
jne 0x1000ef5a
movaps xmm1, xmm2
and dword [esi + 0x90], edx
mulss xmm1, xmm3
and dword [esi + 0x98], edx
addss xmm1, dword [esi + 0x78]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x88], xmm0
test bl, bl
je 0x1000f039
push 0x27c
push 0x27b
push 0x27a
mov edx, 0x279
lea ecx, [esp + 0x24]
call fcn.1000aff1
add esp, 0xc
xor edx, edx
mov ecx, 0x273
call fcn.1000b356
test al, al
je 0x1000ef9c
movss xmm2, dword [0x1002dd00]
jmp 0x1000efb4
xor edx, edx
mov ecx, 0x274
call fcn.1000b356
test al, al
je 0x1000efb4
movss xmm2, dword [0x1002dd9c]
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x1000effa
cmp byte [esi + 0xa4], 0
je 0x1000effa
mulss xmm0, xmm3
and dword [esi + 0x8c], 0
and dword [esi + 0x94], 0
mulss xmm0, xmm2
addss xmm0, dword [esi + 0x74]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x84], xmm0
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x1000f037
mulss xmm0, xmm3
and dword [esi + 0x90], 0
and dword [esi + 0x98], 0
mulss xmm0, xmm2
addss xmm0, dword [esi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x88], xmm0
xor edx, edx
test bh, bh
jne 0x1000f052
test bl, bl
jne 0x1000f052
xor eax, eax
mov byte [edi + 0x47e7], dl
inc eax
mov byte [edi + 0x47e6], al
jmp 0x1000f098
cmp byte [esp + 0x14], 0
je 0x1000f098
test byte [edi + 8], 4
je 0x1000f098
test byte [edi + 0xc], 4
je 0x1000f098
lea ecx, [esp + 0x18]
call fcn.1000e847
mov edx, dword [eax]
mov ecx, edx
mov esi, dword [eax + 4]
mov eax, esi
mov dword [edi + 0x36a0], eax
xor eax, eax
inc eax
mov dword [edi + 0x369c], ecx
mov dword [edi + 0xdb8], edx
mov dword [edi + 0xdbc], esi
mov byte [edi + 0x97], al
mov ecx, dword [esp + 0x5c]
xor eax, eax
mov dword [edi + 0x483c], eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100257e1
add esp, 0x54
ret