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

Disassembly:
mov eax, 0x1005a7aa
call fcn.1004c758
sub esp, 0x15c
fld qword [ebp + 0x10]
fcomp qword [ebp + 0x20]
push ebx
push esi
push edi
push 0xd
pop eax
mov ebx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x50], eax
fnstsw ax
test ah, 0x44
jnp 0x10017b13
fld qword [ebp + 0x18]
fcomp qword [ebp + 0x28]
fnstsw ax
test ah, 0x44
jnp 0x10017b13
mov esi, dword [ebp + 8]
cmp dword [esi], 8
jne 0x10017905
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, eax
xor edi, edi
lea eax, [ebp - 0xa8]
push edi
push eax
push str.BBox
mov dword [ebp - 0x38], ecx
call fcn.1000936c
cmp dword [ebp - 0xa8], 6
je 0x100175d1
lea ecx, [ebp - 0xa8]
call fcn.10035e76
push str.Bad_form_bounding_box
mov ecx, ebx
call fcn.1000f26d
push eax
push 1
call fcn.100093f0
add esp, 0xc
jmp 0x10017b13
mov dword [ebp + 8], edi
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call fcn.10004362
cmp dword [ebp - 0x50], 1
jne 0x100175f1
fild dword [ebp - 0x48]
jmp 0x100175f4
fld qword [ebp - 0x48]
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x50]
fstp qword [ebp + eax*8 - 0xe8]
call fcn.10035e76
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x100175d4
lea ecx, [ebp - 0xa8]
call fcn.10035e76
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0xc8]
push edi
push eax
push str.Matrix
call fcn.1000936c
cmp dword [ebp - 0xc8], 6
jne 0x10017675
mov dword [ebp + 8], edi
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 8]
call fcn.10004362
cmp dword [ebp - 0x50], 1
jne 0x10017658
fild dword [ebp - 0x48]
jmp 0x1001765b
fld qword [ebp - 0x48]
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x50]
fstp qword [ebp + eax*8 - 0x80]
call fcn.10035e76
inc dword [ebp + 8]
cmp dword [ebp + 8], 6
jl 0x1001763b
jmp 0x10017693
fld1
fstp qword [ebp - 0x80]
fldz
fstp qword [ebp - 0x78]
fldz
fstp qword [ebp - 0x70]
fld1
fstp qword [ebp - 0x68]
fldz
fstp qword [ebp - 0x60]
fldz
fstp qword [ebp - 0x58]
lea ecx, [ebp - 0xc8]
call fcn.10035e76
fld qword [ebp - 0xe0]
fmul qword [ebp - 0x70]
fstp qword [ebp - 0x34]
fld qword [ebp - 0xe8]
fmul qword [ebp - 0x80]
fst qword [ebp - 0x14]
fadd qword [ebp - 0x34]
fadd qword [ebp - 0x60]
fst qword [ebp - 0x1c]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0xe0]
fmul qword [ebp - 0x68]
fstp qword [ebp - 0x98]
fld qword [ebp - 0xe8]
fmul qword [ebp - 0x78]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x58]
fld qword [ebp - 0x40]
fadd qword [ebp - 0x98]
fadd st(1)
fst qword [ebp - 0x24]
fld qword [ebp - 0xd0]
fmul qword [ebp - 0x70]
fst qword [ebp - 0x90]
fadd qword [ebp - 0x14]
fadd qword [ebp - 0x60]
fld qword [ebp - 0xd0]
fmul qword [ebp - 0x68]
fst qword [ebp - 0x88]
fadd qword [ebp - 0x40]
fadd st(3)
fstp qword [ebp - 0x14]
fcom qword [ebp - 0x1c]
fnstsw ax
test ah, 5
jp 0x10017729
fstp qword [ebp - 0x2c]
jmp 0x1001773a
fcom qword [ebp - 0x1c]
fnstsw ax
test ah, 0x41
jne 0x10017738
fstp qword [ebp - 0x1c]
jmp 0x1001773a
fstp st(0)
fld qword [ebp - 0x14]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1001774b
fstp qword [ebp - 0x24]
jmp 0x10017759
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10017759
fstp st(0)
fld qword [ebp - 0x14]
fld qword [ebp - 0xd8]
fmul qword [ebp - 0x80]
fst qword [ebp - 0x40]
fadd qword [ebp - 0x34]
fadd qword [ebp - 0x60]
fld qword [ebp - 0xd8]
fmul qword [ebp - 0x78]
fst qword [ebp - 0x34]
fadd qword [ebp - 0x98]
fadd st(3)
fstp qword [ebp - 0x14]
fcom qword [ebp - 0x2c]
fnstsw ax
test ah, 5
jp 0x10017791
fstp qword [ebp - 0x2c]
jmp 0x100177a2
fcom qword [ebp - 0x1c]
fnstsw ax
test ah, 0x41
jne 0x100177a0
fstp qword [ebp - 0x1c]
jmp 0x100177a2
fstp st(0)
fld qword [ebp - 0x14]
fcom qword [ebp - 0x24]
fnstsw ax
test ah, 5
jp 0x100177b4
fstp qword [ebp - 0x24]
jmp 0x100177c2
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x100177c2
fstp st(0)
fld qword [ebp - 0x14]
fld qword [ebp - 0x40]
fadd qword [ebp - 0x90]
fadd qword [ebp - 0x60]
fld qword [ebp - 0x34]
fadd qword [ebp - 0x88]
fadd st(3)
fstp qword [ebp - 0x14]
fcom qword [ebp - 0x2c]
fnstsw ax
test ah, 5
jp 0x100177eb
fstp qword [ebp - 0x2c]
jmp 0x100177fc
fcom qword [ebp - 0x1c]
fnstsw ax
test ah, 0x41
jne 0x100177fa
fstp qword [ebp - 0x1c]
jmp 0x100177fc
fstp st(0)
fld qword [ebp - 0x14]
fcom qword [ebp - 0x24]
fnstsw ax
test ah, 5
jp 0x1001780e
fstp qword [ebp - 0x24]
jmp 0x1001781c
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1001781c
fstp st(0)
fld qword [ebp - 0x14]
fld qword [ebp - 0x2c]
fcomp qword [ebp - 0x1c]
fnstsw ax
test ah, 0x44
jp 0x1001782d
fld1
jmp 0x1001783b
fld qword [ebp + 0x20]
fsub qword [ebp + 0x10]
fld qword [ebp - 0x1c]
fsub qword [ebp - 0x2c]
fdivp st(1)
fstp qword [ebp - 0x14]
fld qword [ebp - 0x24]
fcomp st(1)
fnstsw ax
test ah, 0x44
jp 0x10017850
fstp st(0)
fld1
jmp 0x1001785f
fld qword [ebp + 0x28]
fsub qword [ebp + 0x18]
fld st(1)
fsub qword [ebp - 0x24]
fdivp st(1)
fstp st(1)
fld qword [ebp - 0x14]
fmul qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0xb8]
push edi
push eax
fsubr qword [ebp + 0x10]
fld st(1)
fmul qword [ebp - 0x24]
push str.Resources
fsubr qword [ebp + 0x18]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x14]
fmul qword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld st(1)
fmul qword [ebp - 0x78]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x14]
fmul qword [ebp - 0x70]
fstp qword [ebp - 0x70]
fld st(1)
fmul qword [ebp - 0x68]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x14]
fmul qword [ebp - 0x60]
fadd st(1)
fstp qword [ebp - 0x60]
fstp st(0)
fmul st(1)
fadd qword [ebp - 0x88]
fstp qword [ebp - 0x58]
fstp st(0)
call fcn.1000936c
mov eax, dword [ebp - 0xb8]
push edi
sub eax, 7
push edi
push edi
push edi
neg eax
push edi
push edi
sbb eax, eax
push edi
lea ecx, [ebp - 0xe8]
push edi
not eax
and eax, dword [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0x80]
push ecx
push eax
push esi
mov ecx, ebx
call fcn.10016cc8
lea ecx, [ebp - 0xb8]
call fcn.10035e76
jmp 0x10017907
xor edi, edi
mov esi, dword [ebp + 0xc]
cmp esi, edi
je 0x10017b13
fld qword [esi + 8]
fcomp qword [0x1005c140]
fnstsw ax
test ah, 0x41
jne 0x10017b13
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
cmp eax, 2
je 0x10017974
mov ecx, dword [ebx + 0x1c]
push edi
call fcn.100224ca
push 8
call fcn.1004c374
pop ecx
mov dword [ebp + 8], eax
cmp eax, edi
mov dword [ebp - 4], edi
je 0x1001795a
mov ecx, eax
call fcn.1001afbe
jmp 0x1001795c
xor eax, eax
mov ecx, dword [ebx + 0x1c]
or dword [ebp - 4], 0xffffffff
push eax
call fcn.1002248e
mov ecx, dword [ebx + 8]
push dword [ebx + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x70]
fld qword [0x1005c270]
fld qword [esi + 0x18]
fmul st(1)
call fcn.1004d670
fld qword [esi + 0x20]
fmul st(1)
mov dword [ebp - 0x168], eax
call fcn.1004d670
fld qword [esi + 0x28]
fmul st(1)
mov dword [ebp - 0x164], eax
call fcn.1004d670
mov edi, dword [ebx + 0x1c]
push 0x20
add edi, 0xfc
pop ecx
lea esi, [ebp - 0x168]
mov dword [ebp - 0x160], eax
rep movsd dword es:[edi], dword [esi]
fstp st(0)
mov ecx, dword [ebx + 8]
push dword [ebx + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x1c]
fld qword [esi + 8]
fstp qword [eax + 0x1b8]
mov ecx, dword [ebx + 8]
push dword [ebx + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x64]
mov eax, dword [esi + 0x10]
cmp dword [esi], 1
mov edi, dword [esi + 0x14]
mov dword [ebp + 0xc], eax
jne 0x10017a30
test edi, edi
jle 0x10017a30
push 8
push edi
call fcn.10026f73
mov ecx, edi
mov dword [ebp + 8], eax
shl ecx, 3
push ecx
push dword [ebp + 0xc]
push eax
call fcn.1004ccc0
mov ecx, dword [ebx + 0x1c]
add esp, 0xc
fldz
fstp qword [esp]
push edi
push dword [ebp + 8]
call fcn.10022518
mov ecx, dword [ebx + 8]
push dword [ebx + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x50]
mov ecx, dword [ebx + 0x1c]
call fcn.1002254e
mov eax, dword [ebx + 0x1c]
sub esp, 0x10
fld qword [ebp + 0x18]
mov ecx, dword [eax + 0x254]
fstp qword [eax + 0x260]
fld qword [ebp + 0x10]
fstp qword [eax + 0x258]
fld qword [ebp + 0x18]
fstp qword [esp + 8]
fld qword [ebp + 0x10]
fstp qword [esp]
call fcn.10021970
mov eax, dword [ebx + 0x1c]
sub esp, 0x10
fld qword [ebp + 0x18]
mov ecx, dword [eax + 0x254]
fstp qword [eax + 0x260]
fld qword [ebp + 0x20]
fstp qword [eax + 0x258]
fld qword [ebp + 0x18]
fstp qword [esp + 8]
fld qword [ebp + 0x20]
fstp qword [esp]
call fcn.10021987
cmp dword [esi], 4
je 0x10017b05
mov eax, dword [ebx + 0x1c]
sub esp, 0x10
fld qword [ebp + 0x28]
mov ecx, dword [eax + 0x254]
fstp qword [eax + 0x260]
fld qword [ebp + 0x20]
fstp qword [eax + 0x258]
fld qword [ebp + 0x28]
fstp qword [esp + 8]
fld qword [ebp + 0x20]
fstp qword [esp]
call fcn.10021987
mov eax, dword [ebx + 0x1c]
sub esp, 0x10
fld qword [ebp + 0x28]
mov ecx, dword [eax + 0x254]
fstp qword [eax + 0x260]
fld qword [ebp + 0x10]
fstp qword [eax + 0x258]
fld qword [ebp + 0x28]
fstp qword [esp + 8]
fld qword [ebp + 0x10]
fstp qword [esp]
call fcn.10021987
mov ecx, dword [ebx + 0x1c]
call fcn.1000ec02
mov ecx, dword [ebx + 8]
push dword [ebx + 0x1c]
mov eax, dword [ecx]
call dword [eax + 0xc4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x28