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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x101bf2c4]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [eax]
mov ebx, ecx
mov esi, dword [eax + 4]
mov eax, edi
cdq
mov ecx, eax
mov dword [esp + 0x18], ebx
xor ecx, edx
mov dword [esp + 0x20], edi
sub ecx, edx
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jg 0x10052bd9
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10052c65
fld dword [ebx]
fld dword [ebx + 0x10]
fld st(1)
fsub st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x40]
fld dword [ebx + 4]
fst qword [esp + 0x48]
fsub dword [ebx + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x3c]
fld dword [ebx + 8]
fld dword [ebx + 0x18]
fst qword [esp + 0x28]
fsubr st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x44]
fld dword [ebx + 0xc]
fsub dword [ebx + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x6c]
fxch st(3)
fucomp st(6)
fnstsw ax
test ah, 0x44
jp 0x10052c7e
fxch st(1)
fucomp st(5)
fnstsw ax
test ah, 0x44
jp 0x10052c80
fstp st(1)
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101aa740
mov esp, ebp
pop ebp
ret 4
fstp st(1)
fld dword [esp + 0x20]
fucomp st(5)
fnstsw ax
test ah, 0x44
jp 0x10052c9a
fxch st(1)
fucomp st(4)
fnstsw ax
test ah, 0x44
jnp 0x10052c5f
jmp 0x10052c9c
fstp st(1)
fldz
lea eax, [esp + 0x11c]
fld qword [0x10035b78]
xor edi, edi
fmul st(4), st(0)
sub eax, ebx
fxch st(4)
mov dword [esp + 0x24], eax
mov esi, ebx
fadd st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(2)
fmul st(4)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fxch st(2)
fmul st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld qword [esp + 0x28]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x5c]
fld qword [esp + 0x48]
fmul st(2)
fadd st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ebx + 0xc]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ebx + 0x14]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ebx + 0x1c]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x5c]
fld dword [esp + 0x10]
jmp 0x10052d40
fstp st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fld dword [esi]
inc edi
fsub st(2), st(0)
mov eax, edi
fxch st(2)
and eax, 3
fstp dword [esp + 0x20]
fld dword [esi + 4]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x54]
fld dword [ebx + eax*8]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fsubr dword [ebx + eax*8 + 4]
fstp dword [esp + 0x14]
fld dword [esp + 0x60]
fucom st(2)
fnstsw ax
fld dword [esp + 0x14]
test ah, 0x44
jp 0x10052db2
fucom st(3)
fnstsw ax
test ah, 0x44
jp 0x10052db2
fstp st(0)
fstp st(0)
fstp st(1)
fld dword [esp + 0x20]
fsubr st(1)
fstp dword [esp + 0x70]
fsub dword [esp + 0x54]
fstp dword [esp + 0x74]
fld dword [esp + 0x70]
fstp dword [esp + 0x34]
fld dword [esp + 0x74]
fstp dword [esp + 0x38]
jmp 0x10052e13
fchs
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x34]
fxch st(1)
fst dword [esp + 0x38]
fld dword [esp + 0x20]
fmul st(2)
fld dword [esp + 0x54]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x10052e0d
fsubr st(1)
fstp dword [esp + 0x48]
fsubrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fstp dword [esp + 0x34]
fld dword [esp + 0x4c]
fstp dword [esp + 0x38]
jmp 0x10052e13
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x38]
fld dword [esp + 0x34]
fst qword [esp + 0x60]
fxch st(1)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
push ecx
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.10053ce0
fld dword [esp + 0x58]
fld qword [esp + 0x60]
fdiv st(2)
mov ecx, dword [esp + 0x24]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x38]
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fstp dword [ecx + esi]
fld dword [esp + 0x2c]
fstp dword [ecx + esi + 4]
fldz
add esi, 8
fldz
fld dword [esp + 0x5c]
fld dword [esp + 0x10]
cmp edi, 4
jb 0x10052d34
fstp st(1)
xor ebx, ebx
fstp st(2)
fstp st(0)
fstp st(0)
fmul st(0), st(0)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp qword [esp + 0x48]
fld1
fld dword [esp + ebx*8 + 0x11c]
lea eax, [ebx - 1]
fstp dword [esp + 0x24]
fld dword [esp + ebx*8 + 0x120]
lea ecx, [esp + 0xb8]
fstp dword [esp + 0x60]
and eax, 3
fld dword [esp + eax*8 + 0x11c]
fstp dword [esp + 0x14]
fld dword [esp + eax*8 + 0x120]
lea eax, [esp + 0x78]
fstp dword [esp + 0x10]
fld dword [esp + 0x24]
fstp dword [esp + 0xb8]
fld dword [esp + 0x14]
fstp dword [esp + 0xbc]
fldz
fst dword [esp + 0xc0]
fst dword [esp + 0xc4]
fld dword [esp + 0x60]
fstp dword [esp + 0xc8]
fld dword [esp + 0x10]
fstp dword [esp + 0xcc]
push eax
fst dword [esp + 0xd4]
fst dword [esp + 0xd8]
fst dword [esp + 0xdc]
fst dword [esp + 0xe0]
fst dword [esp + 0xe8]
fst dword [esp + 0xec]
fst dword [esp + 0xf0]
fstp dword [esp + 0xf4]
fst dword [esp + 0xe4]
fstp dword [esp + 0xf8]
call fcn.10053b90
mov ecx, 0x10
lea edi, [esp + 0xb8]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0xb8]
fld qword [esp + 0x48]
fmul st(1), st(0)
fld dword [esp + 0xc8]
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0xcc]
fmul st(1)
fld dword [esp + 0xbc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fstp dword [esp + ebx*8 + 0xfc]
fld dword [esp + 0x2c]
fstp dword [esp + ebx*8 + 0x100]
fld1
inc ebx
cmp ebx, 4
jb 0x10052ead
mov ebx, dword [esp + 0x18]
fstp st(0)
fld dword [ebx]
fadd dword [esp + 0xfc]
fstp dword [esp + 0x18]
fld dword [ebx + 4]
fadd dword [esp + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [ebx]
fld dword [esp + 0x1c]
fstp dword [ebx + 4]
fld dword [ebx + 8]
fadd dword [esp + 0x104]
fstp dword [esp + 0x18]
fld dword [ebx + 0xc]
fadd dword [esp + 0x108]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [ebx + 8]
fld dword [esp + 0x1c]
fstp dword [ebx + 0xc]
fld dword [ebx + 0x10]
fadd dword [esp + 0x10c]
fstp dword [esp + 0x18]
fld dword [ebx + 0x14]
fadd dword [esp + 0x110]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [ebx + 0x10]
fld dword [esp + 0x1c]
fstp dword [ebx + 0x14]
fld dword [ebx + 0x18]
fadd dword [esp + 0x114]
fstp dword [esp + 0x18]
fld dword [ebx + 0x1c]
fadd dword [esp + 0x118]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp dword [ebx + 0x18]
fld dword [esp + 0x1c]
fstp dword [ebx + 0x1c]
fld dword [ebx + 8]
fsub dword [ebx + 0x18]
fstp dword [esp + 0x14]
fld dword [ebx + 0xc]
fsub dword [ebx + 0x1c]
fstp dword [esp + 0x24]
fld dword [ebx + 4]
fsub dword [ebx + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul dword [esp + 0x3c]
fld dword [ebx]
fsub dword [ebx + 0x10]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x40]
faddp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jnp 0x10052c65
fld dword [esp + 0x24]
fmul dword [esp + 0x6c]
fld dword [esp + 0x14]
fmul dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x44]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x41
jnp 0x10052c67
push 0x86150306
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
int3